цифровая электроника
вычислительная техника
встраиваемые системы

 
» » Пример использования простой нейронной сети на основе персептрона для классификации данных


Пример использования простой нейронной сети на основе персептрона для классификации данных

Автор: Mike(admin) от 5-12-2019, 23:55

В предыдущей статье мы узнали, что нейронная сеть состоит из взаимосвязанных узлов, расположенных в слоях. Узлы на входном уровне распределяют данные, а узлы на других уровнях выполняют суммирование, а затем применяют функцию активации. Соединения между этими узлами являются взвешенными, это означает, что каждое соединение умножает переданные данные на скалярное значение.


Пример использования простой нейронной сети на основе персептрона для классификации данных

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


Пример использования простой нейронной сети на основе персептрона для классификации данных

Как видите, наша входная размерность равна трем. Мы можем думать об этом персептроне как о средстве решения задач в трехмерном пространстве. Например, давайте предложим следующую проблему: если точка в трехмерном пространстве расположена ниже оси X, она соответствует недействительной точке отсчета. Если точка находится на оси X или выше, она соответствует действительным данным, которые необходимо сохранить для дальнейшего анализа. Нам нужна эта нейронная сеть, чтобы классифицировать наши данные, с выходным значением 1, указывающим на действительный набор данных, и значением 0, указывающим на неверный набор данных.


Во-первых, мы должны отобразить наши трехмерные координаты на входной вектор. В этом примере Вход0 – это компонент x, Вход1 – компонент y, а Вход2 – компонент z. Далее нам нужно определить вес. Этот пример настолько прост, что нам не нужно обучать сеть. Мы можем просто придумать необходимые веса и назначить их.


Пример использования простой нейронной сети на основе персептрона для классификации данных

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


функция активации выходного узла

Персептрон работает следующим образом: когда w1 = 0 и w2 = 0, компоненты y и z не вносят вклад в суммирование, генерируемое выходным узлом. Единственным входным значением, которое влияет на суммирование, является компонент x, который доставляется на выходной узел без изменений, потому что w0 = 1. Если точка в трехмерном пространстве находится ниже оси x, суммирование выходного узла будет отрицательным, и функция активации преобразует это отрицательное значение в Выход0 = 0. Если точка в трехмерном пространстве находится на оси X или выше, сумма будет равна или больше нуля, а функция активации преобразует это значение в Выход0 = 1.


В предыдущем материале мы описали наш персептрон как инструмент для решения проблем. Вы, возможно, заметили, однако, что персептрон не очень много решал проблемы – мы решили проблему и дали решение персептрону, назначив необходимые веса. К этому моменту мы достигли ключевой концепции нейронной сети: мы смогли быстро решить проблему классификации действительного/недействительного, потому что связь между входными данными и желаемыми выходными значениями очень проста. Однако во многих реальных ситуациях человеку было бы чрезвычайно трудно сформулировать математическую связь между входными данными и выходными значениями. Мы можем получать входные данные и записывать или производить соответствующие выходные значения, но у нас нет математического маршрута от входа к выходу.


Полезным примером является распознавание рукописного ввода. Допустим, у нас есть изображения рукописных символов, и мы хотим классифицировать эти изображения как «а», «б», «в» и т. д., чтобы мы могли преобразовать рукописный текст в обычный компьютерный текст. Любой, кто знает, как писать и читать, сможет генерировать входные изображения и затем назначать правильные категории для каждого изображения. Таким образом, сбор входных данных и соответствующих выходных данных не представляет трудностей. С другой стороны, было бы чрезвычайно сложно взглянуть на пары ввода-вывода и сформулировать математическое выражение или алгоритм, который бы правильно преобразовывал входные изображения в выходную категорию.


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


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


На следующем изображении показан рассмотренный выше классификатор, но веса различаются. Это веса, которые мы сгенерировали, тренируя персептрон с 1000 точками данных. Как видите, тренировочный процесс позволил персептрону автоматически аппроксимировать математические отношения, которые мы определили с помощью критического мышления в человеческом стиле.


Пример использования простой нейронной сети на основе персептрона для классификации данных



© digitrode.ru


Теги: нейронная сеть, искусственный интеллект, машинное обучение





Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий