Как стать автором
Обновить

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

Объясню в чём суть, для тех кто не разбирается в программировании. Вот смотрите, есть библиотека которая делает нейронную сеть. У этой библиотеки есть следующие функции: принять_начальные_данные, запустить_нейронную_сеть, показать_результаты. И что мы делаем? Как думаете?

Библиотека.принять_начальные_данные
Библиотека.запустить_нейронную_сеть
Библиотека.показать_результаты
Моя задача была пошагово объяснить устройство простой нейронной сети начинающим. Это даже указано в заголовке статьи
НЛО прилетело и опубликовало эту надпись здесь
Листал Хабр, бац! вижу «Знакомство с простейшей нейронной сетью и ее пошаговая реализация» «Машинное обучение», «Программирование»

Ура! Наконец то появилась статья не про то как подключать библиотеки на питоне, а про внутреннюю реализацию таких сетей!

У меня же висит технический долг перед самим собой, создать сеть распознающую определенную категорию геометрических объектов! Так чего же ждем? Вперед! К новым вершинам знаний!

Потираю руки, наливаю кофе, откидываюсь в кресле, тынц!

1. берем питон
2. делаем импорт либ
3. вызываем из либы сеть
4. профит!

<тут картинка с недопитым кофем и пустым вращающимся креслом >

Чем дальше, тем сильнее ощущение, что тут питонистам индульгенция выдана по теме «нейронные сети и машинное обучение: расскажите всем какие замечательные у вас есть библиотеки» :)
Если технический английский — не слишком большая проблема, то вот — www.analog.com/media/en/technical-documentation/dsp-book/dsp_book_Ch26.pdf — от ребят из Analog Devices, весьма подробно, формулы только по делу, картинки опять же, хотя и черно-белые. И без лишних комплексов — примеры приведены на Бейсике ;-)
НЛО прилетело и опубликовало эту надпись здесь
«Функция активации, имя которой -Сигмоида» это разве не оно?

На самом деле, автору надо было всего лишь указать 3 хаба в списке хабов,
— «Питон»
— «Машинное обучение»
— «Программирование»

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

По этой же книге я и хочу пройтись пошагово, а именно по практической части — написанию кода простой нейронной сети.

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

НЛО прилетело и опубликовало эту надпись здесь
И объяснить хотя бы бегло в 1 абзаце, что такое сигмоида и почему выбрана она. В сети куча картинок на тему «сигмоида» vs «линейная» vs «ступенчатая» функции активации нейрона. Вот первая попавшаяся ссылка например.
Я не сомневаюсь, что этой статьей автор делает хорошее дело, но все же имеет смысл дать возможность людям понять, что такое «сигмоида» и почему она лучше для задач классификации/распознавания.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Похоже в соседней теме то что вам нужно:
Пример простой нейросети на C++
Там конечно не так няшно и аккуратно как здесь, зато там есть торты и можно ими кидаться :)
шо, опять, вводная по нейросетям?
есть стандарты типа
import numpy as np

а то новички понатырят кода с разных источников и будут сидеть дуплить почему Ваш кусок не работает с другими.
Попробовал сделать пример по вашей статье, столкнулся со следующими проблемами:
1. В строках (в первом блоке)
self.wih = numpy.random.rand(self.hnodes, self.inodes))
self.who = numpy.random.rand(self.onodes, self.hnodes))
лишняя закрывающая скобка
2. При копировании кусков программы из разных мест статьи иногда ломаются отступы, а для Python'а это критично. Возможно лучше было бы весь код поместить в один блок.
3. Все-таки новичку не совсем понятно, что делать дальше с полученной в самом конце перменной n. Правильно ли я понимаю, что теперь нужно будет загрузить где-то данные для тренировки и затем вызвать:

n.train(mydata) // тренировать нейросеть
n.query(myquery) // посмотреть как она работает

Вот, глянь на файл. Вот тут указано, как дальше быть
А именно глянь с 4 ячейки — тут (In:[4]), там код увеличится у тебя в размерах :)
Также можно ознакомиться с этим курсом


Классически бестолковый отечественный курс. Изложение такое, что либо вы всё это уже знаете, либо ничего не поймёте.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории