Comments 43
Пока собирался сесть за напсиание практического курса по Deep Learning, кто-то уже сел и начал писать)
Типа какчаем такую тулзу, запускаем такой батник, вот так скармливаем картинки — опа, получили автоматический распознаватель сисек
Причём тут название статьи "искусственные нейронные сети для новичков" и рассказ про МНК и линейную регрессию? Конечно, понимаю, что это "часть 1", но заголовок вводит в заблуждение.
Пусть у нас есть однослойная нейронная сеть с функцией активации вида Identity. Тогда такую сеть можно записать в виде w * x + b = y, где w, b — обучаемые параметры. Чем это не линейная регрессия?
Ну это «за уши» притянуто. Просто после приведения подобных и т. д. все будет выражено через один нейрон с линейной функцией активации. Сети с линейными нейронами сколь угодной глубины и сложности вырождаются именно в это. Приводить надо обязательно, дабы оптимизировать емкость вычислений. А один нейрон — это не сеть.
Я лишь хочу сказать, что формально это нейронная сеть. Также, как и, например, SVM — частный случай нейронных сетей. Тот же Хайкин в своем "Нейронные Сети. Полный Курс" также использует термин нейронная сеть применительно к таким моделям.
Так что от печки лучше было бы идти от линейных классификаторов.
А для обучения (в смысле обучения людей) линейный классификатор чуть хуже, т.к. чуть больше формул и чуть менее наглядные примеры
А это и есть простейший линейный классификатор.
Для новичков линейная модель будет явно проще. А потом сверху можно и пороговую ф-ию накрутить, или чего-нить еще.
Но если идти от печки, то нужно смотреть в сторону перцептрона
Там написано явно «Так же как и A-элементы, R-элемент подсчитывает сумму значений входных сигналов, помноженных на веса (линейную форму). R-элемент, а вместе с ним и элементарный перцептрон, выдаёт «1», если линейная форма превышает порог θ, иначе на выходе будет «−1».»
А это и есть чистой воды классификатор.
Линейная означает, что мы предполагаем, что переменные выражаются через уравнение вида...
linear regression definition
Для начала просто «раскроем» вектора в соответствии с их определением
После этих слов нарисованы неправильные матрицы:
- матрица Х имеет размерность N на (p+1)
- а матрица Θ имеет размерность p на 1
Их не получится перемножить. Вы забыли θ0.
Опять-таки, никто не запретит попробовать минимизировать просто сумму длин.А разве метод наименьших модулей вообще можно использовать на практике? Там не получится трюк с приравниванием первой производной нулю.
Еще (могу ошибиться, на самом деле) вроде стохастический градиентный спуск нормально работает с негладкими ф-иями потерь.
А сейчас, друзья, я расскажу вам про нейронные сети. Будем использовать такие-то картинки.Откуда взялись эти понятия? Зачем они нужны? Куда успели исчезнуть нейросети? Причем еще до своего появления.
<вакуум>
Линейная регрессия — это…
Метод наименьших квадратов — это..
Вообще тема интересная и про методы неплохо написано, но коли уж это гайд, то неплохо было бы мотивировать возникновение данных понятий. Иначе у читателей никуда не денется
чувство недосказанности, недопонимания.
Начинать статью для новичков с GLM?
Нет, но стоит объяснить читателю, зачем вы даете этот материал и как он вообще связан с нейросетями. Поймите, даже в книжках по чистой математике обычно дается мотивировка перед вводом нового понятия. А у вас не книжка по математике, а хабр, где по умолчанию собрались люди с более прикладным подходом. Если слов «нейронные сети» не будет еще 3-4 части, то c таким обилием формул вы рискуете растерять больше 90% читателей.
Ну и в конце концов, называйте тогда статью не «ИНС для новичков», а «Математическая теория, необходимая для ИНС»(theoretical prerequisites).
Линейная регрессия — это подвид обобщенной линейной модели с указанием, что ошибки распределены по нормальному закону
И опять неверно. Линейная регрессии не требует нормальности ошибок.
Для новичков то как раз это очень нагруженная подача материала.
МНК можно объяснить и без дифференцирования таких сложных матричных выражений. Да и косяки с индексами…
Но интересно посмотреть, что дальше будет.
Не планируете материал сделать в виде тетрадок Jupyter?
Так уж у нас повелось, что в Российской литературе любят кашу и в университетах старые преподаватели тоже любят. Не задумывались опубликовать это? Там бы это смотрелось лучше. Что касается новичков и статьи на хабре — вопрос, но скорее нет, чем да.
Буду рад увидеть реализацию нейросетей/алгоритмов на простом колхозном JS
От азов линейной регрессии до особо хитрых архитектур, причем четко и структурировано.
Математика для искусственных нейронных сетей для новичков, часть 1 — линейная регрессия