Векторные векторы для мультиклассового персептрона - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь реализовать Multiclass Perceptron в python. Я полностью понял концепцию алгоритма персептрона, когда дело доходит до мультиклассификации, но все же меня озадачивают векторы функций, которые мы должны предоставить из обучающих данных.

Проблема - просто проблема классификации текста (документа). Я пытаюсь использовать термины униграмм в качестве функций для персептрона на этапе предварительной обработки текста. Когда я создаю функции для каждого документа на основе частот (т. Е. Униграмм) в каждом обучающем документе, получается, что созданная функция очень редкая (частоты терминов для каждого токена, встречающегося в документе, и 0 для тех, которые не происходит).

Мой вопрос об альтернативной схеме для этого. Есть ли лучшее решение для построения векторов признаков?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 25 апреля 2020

Я подошел к этой проблеме, используя ID для каждой униграммы, которая встречается в обучающем наборе; в частности, каждый экземпляр в учебном наборе.

Таким образом, сначала я создаю отдельный словарь вокаба, перебирая каждый документ, присваивая инкрементный идентификатор каждому вновь появившемуся термину. При выполнении персептрона я перебираю идентификаторы слов с их количеством в документе и умножаю их на соответствующую запись в весовых матрицах персептрона. В этом смысле мне не нужно делать точечное произведение, игнорируя эти редкие записи (0 * 0).

0 голосов
/ 13 февраля 2020

Другой подход к этому - встраивание слов. В этом случае вместо того, чтобы кодировать слова, используя горячие векторы, вы кодируете их, используя плотные элементы, подобные изображению ниже.

Это изображение демонстрирует подход уменьшения размерности, но технический прием можно использовать так же, как ввод к модели.

enter image description here

Обновление

Лучшим подходом для текстовых задач являются Рекуррентные нейронные сети (RNN) ) нравится ЛСТМ и ГРУ. Эти сети, применительно к текстовым задачам, предсказывают вывод на основе одер-слов текста. На рисунке ниже показан пример RNN.

«X» - это входные данные, X1 - первое слово, X2 - второе слово, Xt - последнее слово и «W» - информация распространяется по сети. Используя эту схему, модель сделает прогноз на основе информации всего вашего текста, зная не только символы, но и взаимосвязь между словами.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...