Применение нейронной сети, обучающейся без учителя для классификации продуктов питания по диетическим свойствам.

Дано:

  • Таблица продуктов питания с содержанием в них белков, жиров, углеводов и калорийности (некоторые цифры там у меня вызывают вопросы, например, откуда в черном чае белкИ, и почему пиво по калорийности сравнимо с грейпфруктовым соком, но в целом она аекватна).
  • Нейросеть с 4 входами (по количеству параметров), одним внутренним слоем из 16 нейронов и одним выходом, обучающаяся по модифицированному алгоритму Хэбба с акредитацией.

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


Обучение нейросети без учителя с аккредитацией.

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

Применим данный метод к тем же входным данным и получим следующее распределение.

Continue reading


Обучение нейронной сети без учителя.

В предыдущих статьях (раз, два) рассматривалась классификация автотранспорта на основе его параметров:

  1.  Масса
  2. Мощность двигателя
  3. Пассажировместимость
  4. Грузоподъёмность

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

Такое обучение называется обучением с учителем .

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

Воспользуемся теми же входными данными, что и ранее, чтобы обучить нейросеть без учителя по методу Хебба (попытавшимся самостоятельно его реализовать, небольшое дополнение, которое во многих статьях опускается, тем не менее способно выпить много крови: метод Хебба неработоспособен при функции активации нейронов, отличной от пороговой).
Continue reading


Нейронная сеть — многослойный персептрон на задачах распознавания образов.

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

  1. 25 нейронов входного слоя — датчики затемнения пикселя в матрице 5 на 5 точек
  2. Внутренние слои с 25 нейронами в каждом слое
  3. Выходной слой с 10 нейронами, выход каждого из которых сигнализирует о своей цифре.

Обучим нейронную сеть на 10 цифрах-примерах следующего начертания:

Начальная обучающая выборка

Начальная обучающая выборка

После обучения нейросеть даёт 100% правильные ответы при подаче на неё исходных обучающих примеров.

Затем подадим на входы для опознания цифры следующего начертания

Примеры для контроля

Примеры для контроля

Continue reading


Зависимость свойств многослойной нейронной сети — перцептрона от топологии на задачах классификации.

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

1 Слой по 2 нейрона

Результаты классификации по примерам обучающей выборки

Ока	:	Легковая(35.77%)	Пассажирская(22.02%)	Грузовая(0.02%)	
Газель пас:	Легковая(34.72%)	Пассажирская(72.17%)	Грузовая(0%)	
Калина	:	Легковая(37.08%)	Пассажирская(64.8%)	Грузовая(0%)	
Камаз	:	Легковая(14.15%)	Пассажирская(0%)	Грузовая(94.84%)	
Газель груз:	Легковая(16.49%)	Пассажирская(0%)	Грузовая(92.7%)	
ПАЗ4234:	Легковая(33.57%)	Пассажирская(74.46%)	Грузовая(0%)	
ЗИЛ-5301:	Легковая(14.09%)	Пассажирская(0%)	Грузовая(81.8%)	
Патриот:	Легковая(43.97%)	Пассажирская(24.74%)	Грузовая(6.42%)	
ЛиАЗ-6213:	Легковая(33.61%)	Пассажирская(74.03%)	Грузовая(0%)

Результаты классификации примеров, не входящих в обучающую выборку

Белаз:	        Легковая(14.28%)	Пассажирская(0%)	Грузовая(96.21%)	
БТР80:	        Легковая(34.97%)	Пассажирская(53.95%)	Грузовая(0%)	
Урал мото:	Легковая(14.29%)	Пассажирская(0%)	Грузовая(96.27%)	
Повозка:	Легковая(33.77%)	Пассажирская(67.45%)	Грузовая(0%)	
Велосипед:	Легковая(22.5%)	        Пассажирская(0%)	Грузовая(0.44%)	
Трамвай:	Легковая(33.62%)	Пассажирская(74.03%)	Грузовая(0%)

Имеем очень неуверенные, и не всегда верные ответы по контрольной обучающей выборке. И неуверенные, но адекватные в 5 из 6 случаев ответы на не входящие в обучающую выборку примеры. Мотоцикл «Урал» был почему-то записан в грузовики. Наращиваем количество нейронов в слое.
Continue reading


Автоматическое составление базы для холодных звонков с помощью нейронной сети. Постановка задачи.

Введение

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

  • сбор полного списка сайтов;
  • прореживание (фильтрация) полного списка.

Continue reading


Реализация однослойной нейронной сети — перцептрона для задачи классификации автотранспорта

Введение

Иску́сственные нейро́нные се́ти (ИНС) — математические модели, а также их программные или аппаратные реализации, построенные по принципу организации и функционирования биологических нейронных сетей — сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в мозге, и при попытке смоделировать эти процессы.

Википедия

Простая нейронная сеть

Простая нейронная сеть

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

Наиболее простой и распространённой, но, тем не менее, способной решать широкий круг задач является топология сети, называемая однослойным перцептроном. Он довольно прост в реализации и обучении и довольно востребован в задачах классификации.

Continue reading