.
Практика нейронных сетей. Урок 8. Распознавание спама.
Автор megabax   
08.02.2014 г.
unit AIObj

Практика нейронных сетей. Урок 8. Распознавание спама.

Что бы смотреть урок полностью, подпишитесь на платный раздел.

В платном разделе статья находиться здесь.


На прошлом и позапрошлом уроке мы занимались распознаванием цветной картинки. На этом мы закончим эксперименты с картинками и попробуем другое применение нейронных сетей. Для поиска идей следующего эксперимента, давайте посмотрим область применения нейронных сетей:

  • Экономика. Прогнозирование временных рядом: курсы акций, цены на сырье, объем продаж; оценка рисков невозврата кредитов; предсказание банкротств; оценка стоимости недвижимости; и многое другое.

  • Медицина. Постановка диагноза, обработка медицинский изображений, мониторинг стояния пациента, анализ эффективности лечения, очистка показаний приборов от шумов.

  • Авионика. Обучаемые автопилоты, распознавание сигналов радаров, адаптивное пилотирование сильно поврежденных самолетов, беспилотные летательные аппараты.

  • Связь. Сжатие видеоинформации, быстрое кодирование-декодирование, оптимизация сотовых сетей и схем маршрутизации пакетов.

  • Интернет: ассоциативный поиск информации, электронные секретари, борьба со спамом, адресные реклама и маркетинг для электронной торговли.

  • Автоматизация производства: оптимизация режимов производственного процесса, контроль качества продукции, предупреждение аварийных ситуаций, промышленные роботы.

  • Политологические и социологические технологии: предсказание результатов выборов, анализ опросов, предсказание динамики рейтингов.

  • Безопасность и охранные системы: распознавание лиц, дактилоскопия, распознавание голоса или подписи, распознавание автомобильных номеров,  мониторинг информационных потоков в компьютерной сети и обнаружение вторжений, выявление подделок.

  • Ввод и обработка информации: распознавание печатных и рукописных текстов, отсканированных  документов.

  • Геологоразведка: анализ сейсмических данных, ассоциативные методики поиска полезных ископаемых, оценка ресурсов месторождений.

В качестве эксперимента давайте попробуем создать нейросеть для борьбы со спамом. ...

....

...Разумеется, к классу нейронов надо добавить модификатор [Serializable]:

    /// <summary>

    /// Класс нейрона

    /// </summary>

    [Serializable]

    public class Neuron

    {

...

Теперь начнем тестировать систему. Сначала пометим как спам первый пример:

Практика нейронных сетей. Урок 8. Распознавание спама.

Второй пример:

Практика нейронных сетей. Урок 8. Распознавание спама.

И какой нибудь текст не спам:

Практика нейронных сетей. Урок 8. Распознавание спама.

проверим:

Практика нейронных сетей. Урок 8. Распознавание спама.

Да, нейрость определила правильно, это не спам. А если подсунуть ей спам:

Практика нейронных сетей. Урок 8. Распознавание спама.

Программа не распознала это как спам. Но если мы ее заново обучим, а потом снова проверим, тогда она будет распознавать правильно:

Практика нейронных сетей. Урок 8. Распознавание спама.

Но тогда программа будет считать спамом и нормальный текст:

Практика нейронных сетей. Урок 8. Распознавание спама.

Почему так происходит? Вы это знаете из урока 2. Как решить данную проблему? Точно так же, как и во все прошлые разы - путем введения матрицу обучения. Тоесть, сначала мы введем в компьютер все наши примеры, затем сделаем пакетное обучение. Если появится второй пример - сначала добавим его в матрицу, а затем переобучим нейросеть по всей новой матрице. Но этим мы займемся на следующем уроке.


Скриншоты, помеченные знаком *, являются цитатами и иллюстрациями  программного продукта "Microsoft Visual Studio 2010 Professional", авторское право на который принадлежит корпорации Microsoft.. 


Последнее обновление ( 08.02.2014 г. )