Читаем Нейронный сети. Эволюция полностью

Повторим все расчеты, используя начальное значение А=0,4. Первый тренировочный пример дает нам у = Ax = О,4 * 40 = 16. При x = 40 и коэффициенте А = 0,4, ошибка E = T – y = 21 – 16 = 5. Чтобы график прямой, не проходил через точку с нашими координатами, а проходил выше её, то принимаем целевое значение – T = 21.

Рассчитаем поправку: А = L / х) = 0,5*(5 / 40) = 0,0625. Обновленное значение: А = A + А = 0,4 + 0,0625= 0,4625.

Сглаженное уточнение: y = Ax = 0,4625 * 40 = 18,5.

Теперь перейдем к расчетам следующего тренировочного примера.

Используя обновлённое на первом прогоне значение А, для второго тренировочного примера у = Ax = О,4625 * 20 = 9,25.

Значение, у = 9,25 – всё так же далеки от значения y = 39, но мы все равно движемся в нужном направлении, но уже с меньшой скоростью.

При x = 20 и коэффициенте А = 0, 4625, ошибка E = Ty = 39 – 9,25 = 29,75. Так как мы хотим, чтобы график прямой, не проходил через точку с нашими координатами, а проходил ниже её, то принимаем целевое значение – T = 39. Рассчитаем поправку А = L (Е / х) = 0,5*(29,75 / 20) = 0,74375. Обновлённое значение А = A + А = 0,4625+ 0,74375 = 1,20625.

Сглаженное уточнение y = = Ax = 1,20625 * 20 = 24,125.

Теперь еще раз отобразим на координатной диаграмме, начальный, улучшенный и окончательный варианты разделительной линии:




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

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

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

ГЛАВА 2

Изучаем Python

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

Создаем нейронную сеть на Python

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

Почему Python? Он очень прост в освоении, кроме того, нейронные сети создают и обучают в основном на этом языке. Кроме того, Python очень популярный и распространённый язык программирования.

О Python, можно рассказывать долго и много, но мы будем изучать Python лишь в том объеме, который необходим для достижения нашей цели – изучить работу нейронных сетей.

Установка пакета Anaconda Python

Посетите сайт –на котором предлагаются различные варианты установки Anaconda Python. Я использую пакет Anaconda, для операционной системы Windows, вы можете выбрать другие варианты – OS X или Linux. Пакет Anaconda предоставляет удобное средство интерактивной разработки Jupyter Notebook, в котором необычайно удобно писать и проверять программный код. На момент написания книги, доступен пакет Anaconda 5.0.1, и Python 3.6 – который и рекомендую установить.




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

Простое введение в Python

После установки пакета Anaconda, запустите интерактивную оболочку Jupyter Notebook, нажмите на кнопку New у правого края окна и выберите в открывшемся меню пункт Python 3, что приведет к открытию пустого блокнота:





Переменные


В переменных всегда что-то хранится (число, объекты, символы, строки). Попробуем создать переменную x со значением 20. И выведем это значение, на экран, при помощи функции – print. Функция print – выводит на консоль то, что расположено между её скобками:





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





Справа от функции print, вы можете видеть комментарии. Делаются они очень просто, для этого, перед комментарием, необходимо поставить знак #, и текст после этого знака, в данной строке, Pytnon будет воспринимать, не как программный код, а как обычную текстовую область.

Кроме числовых переменных есть ещё строковые, с которыми мы тоже можем проделать ряд действий:



Функции


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

Перейти на страницу:

Похожие книги

Чем женщина отличается от человека
Чем женщина отличается от человека

Я – враг народа.Не всего, правда, а примерно половины. Точнее, 53-х процентов – столько в народе женщин.О том, что я враг женского народа, я узнал совершенно случайно – наткнулся в интернете на статью одной возмущенной феминистки. Эта дама (кандидат филологических наук, между прочим) написала большой трактат об ужасном вербальном угнетении нами, проклятыми мужчинами, их – нежных, хрупких теток. Мы угнетаем их, помимо всего прочего, еще и посредством средств массовой информации…«Никонов говорит с женщинами языком вражды. Разжигает… Является типичным примером… Обзывается… Надсмехается… Демонизирует женщин… Обвиняет феминизм в том, что тот "покушается на почти подсознательную протипическую систему ценностей…"»Да, вот такой я страшный! Вот такой я ужасный враг феминизма на Земле!

Александр Петрович Никонов

Публицистика / Прочая научная литература / Образование и наука / Документальное
Введение в логику и научный метод
Введение в логику и научный метод

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

Моррис Коэн , Эрнест Нагель

Философия / Прочая научная литература / Образование и наука