Вы видите копию треда, сохраненную 27 июля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Тред #2: https://arhivach.org/thread/170611/
Тред #3: https://arhivach.org/thread/179539/
Machine Learning 101:
1. Introduction to Statistical Learning ( http://www-bcf.usc.edu/~gareth/ISL/ISLR Sixth Printing.pdf )
Читается легко, неплохая разминка перед ESL
2. Pattern Recognition and Machine Learning, Bishop.
3. Bayesian Methods for Hackers. Введение в байесовские методы, годно.
4. http://neuralnetworksanddeeplearning.com
Введение в нейронные сеточки для самых маленьких. Написано простым английским.
5. https://yandexdataschool.ru/edu-process/courses - базовые курсы ШАДа.
Machine Learning Advanced
1. Elements of Statistical Learning (http://statweb.stanford.edu/~tibs/ElemStatLearn/printings/ESLII_print10.pdf )
Сложность - 9 из 10. Шутки в сторону, можно читать годами. Если вы сможете полностью проработать эту книгу и прорешать упражнения, обязательно свяжитесь со мной - у меня найдется работа для вас.
2. Optimization for Machine Learning. Edited by Suvrit Sra, Sebastian Nowozin and Stephen J. Wright, MIT Press, 2012.
Иногда from sklearn.linear_model import LogisticRegression перестает работать и тогда нужно все переписать. Оптимизация квадратичных приближений на больших объемах данных, разреженные модели, суррогатные оптимизации - вот это все тут есть.
3. http://www.cs.nyu.edu/~mohri/mlbook/
Как ESL, только слегка по-проще. Попробуйте, может зайти.
Дальше вас ждет дикий и необузданный мир. Два маяка https://vk.com/deeplearning и http://deeplearning.net/reading-list/ осветят дорогу: это списки литературы и обзоры статей для прощупывания пульса индустрии.
Computer Science
1. Introduction to Algorithms, Corman
2. The Art of Computer Programming, Knuth
3. Compilers: Principles, Techniques, and Tools. Разработчикам компиляторов и прочим авторам убийц питонов и крестов посвящается.
4. Введение в информационный поиск, Кристофер Маннинг.
Как работает поиск с теоретической точки зрения.
Programming
1. Python Unlocked. Короткая книжка без соплей. В ней описаны метаклассы, дескрипторы, системы типов, шаблоны проектирования и TDD. Всего чуть больше 100 страниц концентрированной сути.
2. Code Complete (2nd), McConnell.
Неплохая книга. Не то чтобы обдрочиться, но в голове всякие фишки по структуризации кода и его проектированию остались.
Misc
1. Telegram: @techsparks
Подкаст про всякие гик-штуки.
F.A.Q
По мотивам предыдущего треда.
Эти ваши книжки стоят овер 9000 рублей, как быть?
http://libgen.io
Книги хорошо, но с чего начать практический вкат?
Во-первых, вам нужна любая unix-based система. На Windows возможно запустить нижеперечисленное, но ждите пердолева с настройкой и неодобрительных взглядов анонимуса. Кроме того, в компаниях, так или иначе связанных с разработкой йоба-ПО и machine learningом, Linux/OS X является стандартом. Привыкайте.
Во-вторых, определитесь с языком. Python и C++ наиболее мейнстримовые инструменты, с ними вы без еды не останетесь. Есть еще R, на котором пацаны живут статистикой и анальными пакетами. Некоторые инструменты являются языко-независимыми (Vowpal Vabbit, XGBoost), но обвязывать их вы все равно будете из какой-либо среды.
На Java разработано много production-ready инструментов для бигдаты и если вы угораете по терабайтам данных, то имеет смысл посмотреть в её сторону. Впрочем, лучше это делать уже потом, когда прийдет осознание потребностей.
В-третих, выбирайте себе задачу. Что угодно: распознать качпу, обнаружить ботов по логам, найти раковых больных. Список можно посмотреть, например, на kaggle.com. После чего приступаете к решению выбранной задачи.
Не прийдется ли мне потом с таким наборищем знаний идти в макдак работать?
Несмотря на хайп вокруг ML, далеко не во всех IT компания есть необходимость в ML и понимание круга задач, которые можно решить этими методами. Но поверьте, в 2016 компетентный специалист будет востребован. В России потребителями ваших знаний могут стать: Яндекс, Mail.ru, Вконтакте, Rambler, Касперский, Билайн, Связной, ABBYY, Хуавэй. В биоинформатике есть определенный спрос, можно поскролить http://blastim.ru
Здорово, но я так и не понял чем же вы занимаетесь в IT компаниях?
Попытаюсь ответить со своей колокольни и сразу хочу предупредить, что это едва ли консенсуальное мнение.
ML-специалист - это такое зонтичное определение для человека, способного увидеть проблему, выгрепать кучу логов и данных, посмотреть на них, придумать решение проблемы и врезать это решение его в продакшн. По сути, это кодер, решающий не чисто технические, а, в некотором роде, человеческие проблемы.
Имхо, мы все же остаемся в первую очередь разработчиками.
Но ведь есть Machine Learning per se, чем он занимается?
Действительно есть. Одаренная прослойка людей изобретает новые методы, но это правильнее называть просто математикой. Сейчас пищей для ума являются нейронные сети и их возможные архитектуры, но даже они двигаются рука об руку с практикой.
Что такое TensorFlow?
TensorFlow - часть гуглового инструмента для перемножения тензоров и оптимизации функционалов. Часть - потому что важные куски типа параллелизации еще не выкачены в паблик. Если вам все ещё непонятно что это, значит это вам и не нужно, сириусли. Google перестарался с рекламой и теперь люди думают, что TF - это серебряная пуля и затычка для каждой бочки. До TF был Theano, который выполнял свою работу не хуже. И, в отличии от TF, он уже находится в стабильной фазе.
а тебе что, ентерпраиз солюшены неинтересно разрабатывать?
знакомая рижанка поступила на пхд на западе с обычным дипломом по матеше
так что просто берёшь и поступаешь куда хочешь пока хайп не спал
Как обучают сеть чтобы она распознавала более сложные объекты, такие как классы автобус, кошек, яхты и т.д.
Я нуб, но по-моему что выборки картинок, подходящих под описание формируются вручную.
Читал недавно статью как чуваки делали фильтр прона для какого-то сайта. В итоге, чтобы нейроночка выдала хоть какой-то реальный процент правильно распознанных картинок, им пришлось вручную отфильтровать пару гигабайт порнухи.
>ентерпраиз солюшены неинтересно разрабатывать
Нет. Я распознование капчи делал еще лет 5 назад. Это пиздец уныло.
>знакомая рижанка поступила на пхд на западе с обычным дипломом по матеше
Блядь, ну это же хуйня. На PhD любой дурак поступить может, вопрос делают ли там что-то реальное.
>нейроночка выдала хоть какой-то реальный процент правильно распознанных картинок
исчо раз, нейронночка это говно и пеар, с технологиями оптических распознований объектов все плохо, от слова совсем.
>>776603
очевидно сеть заставляет людей вручную составлять большие выборки помеченных картинок, чтобы потом сожрать их
у этих выборка была несколько сот миллионов пикч:
https://www.ted.com/talks/fei_fei_li_how_we_re_teaching_computers_to_understand_pictures?language=en
Очевидный CIFAR для начала, дальше ещё Flickr.
пока никакой, просто разбираюсь че да как. С процом сижу обучаю цифрами с помехами
Или задавай конкретные вопросы, или уёбывай читать Мёрфи/Бишопа, там кроме элементарного теор.вера, матана, линала и простейших оптимизационных алгоритмов от читателя не требуется.
А то ноешь, как капризный студентишка: "НИЧЕГО НИПАНЯТНА!"
Проиграл с вебмки.
Прост)) Разобраться хочу как работает. Скажем, для общего развития. И вот мне несколько подпекает, что не могу вьехать.
Хотелось бы именно понимания что и как происходит. Картинки и анимацию видел, ес-но.
Особо интересует гугл капча с картинками и кликами.
Денег не хватит.
Я уже четыре ебучих месяца мучаю различные варианты MCMC на Марковских сетях. У меня нихуя не получается.
Кто-нибудь занимался графическими моделями?
> Я правильно понял, что строится аппроксимация в виде смеси Гауссиан?
да
тут для графических моделей рассматриваются всякие другие методы, может для себя чего нового найдёшь:
http://videolectures.net/mlss09uk_minka_ai/
Как сокровищницу нашёл. Спасибо.
>в лагранжа множители умеешь?
Вот с лагранжа и непонятно. Точнее, все дальнейшие рассуждения.
Воронцова читал. Сначала вроде норм, а потом пошло-поехало.
посмотри на какую нибудь более простую похожую модель
например у бишопа в начале 6 главы есть простой пример линейной регрессии с ядрами
https://www.youtube.com/watch?v=tf7IEVTDjng
Машин лерниг ин э нат шэл.
Аноны, привет, вы меня помните?
Так вот, я заебался, читаю эту вашу книгу по алгоритмам и дошел до наивного Байесовского классификатора.
И охуел, я и так понимаю очень мало, так вот еще и там МАТАН, понимаете, самый что ни на есть матан в виде теории вероятности, которую я не знаю особо.
НА АНГЛИЙСКОМ?
Лел, уже не сегодня, голова болит от такого потока информации, который почти не разбираешь.
Да и по идее я должен понять все прямо из учебника, но нет.
Да можешь лесом гулять, зеленый.
>>778649
Это уже не просто потуги, а план чтения целой книги за месяц, в виде получения профита от изучения пары сотен новых слов и очень многих тем в машинном обучении.
Уверен, что на русском тоже есть.
Вот например:
http://www.nsu.ru/mmf/tvims/teaching.html (есть лекции для студентов ЭФ 1-го курса и для ММФ 3-го курса)
https://cs.msu.ru/node/1198 (лекции для ВМиК МГУ 2-го курса, pdf-ка на либгене)
Сам смотрю вот эти:
https://www.youtube.com/watch?v=KbB0FjPg0mw&list=PL2SOU6wwxB0uwwH80KTQ6ht66KWxbzTIo
К ним также есть учебник.
Очень содержательная обложка, много узнал из нее.
home.manhattan.edu/~robert.geraci/apocalypticAI.pdf
Вон биномиальное распределение уже заставило Британию выйти из ЕС. Скоро за дело возьмется линейная регрессия, тогда держись.
она в лучшем случае через года два выйдёт
эти мудаки ещё так затянуть могут что никто и не вспомнит о референдуме
Хм, а ведь можно ведь параметры смеси приближать чем-нибудь вроде SPSA, пытаясь минимизировать KL-дивергенцию.
среди параметров могут быть жирные матрицы ковариантности с тысячами элементов, не замахаемся ли приближать такое?
Они почти все разреженные, мб и сработает.
Хотя так и просто постериорный риск можно пытаться минимизировать, но это печально работало.
Блин, вывод в несопряжённых моделях – сплошная боль.
>The first thing that we need to do to get these values is to quantise the measurement x, which just means that we put it into one of a discrete set of values {X},
Что значит квантизировать измерение x?
Типа есть некоторый прерывистый набор значений X
И у нас есть переменная, но как мы разместим значение x?
Получение дискретного множества значений из непрерывных измерений. Можешь погуглить про квантование и дискретизацию.
Я уже на основе определения понял, спасибо.
Графически гистограмма строится следующим образом. Сначала множество значений, которое может принимать элемент выборки, разбивается на несколько интервалов (bins). Чаще всего эти интервалы берут одинаковыми, но это не является строгим требованием. Эти интервалы откладываются на горизонтальной оси, затем над каждым рисуется прямоугольник. Если все интервалы были одинаковыми, то высота каждого прямоугольника пропорциональна числу элементов выборки, попадающих в соответствующий интервал. Если интервалы разные, то высота прямоугольника выбирается таким образом, чтобы его площадь была пропорциональна числу элементов выборки, которые попали в этот интервал.
>This is exactly what is plotted in Figure 2.10. Now, if we have lots of examples of the two classes, and the histogram bins that their measurements fall into, we can compute P(Ci , Xj ), which is the joint probability, and tells us how often a measurement of Ci fell into histogram bin Xj .
Почему тут написано, что это то, как часто измерения Ci впадают в интервал гистограммы Xj?
Но ничего не сказано про:
>Вероятность суммы двух совместных событий равна сумме вероятностей этих событий без вероятности их произведения
А лел, простая математика, умножаем P на Ci и P на Xj, а потом складываем? И зачем нам узнавать, выпадет ли Ci или Xj?
Или о чем говорится?
что-то я не заметил в примере питона каких-то изменений для этого слоя, не понятно че да как.
# number of examples (call it n) in the minibatch
# T.arange(y.shape[0]) is a symbolic vector which will contain
# [0,1,2,... n-1] T.log(self.p_y_given_x) is a matrix of
# Log-Probabilities (call it LP) with one row per example and
# one column per class LP[T.arange(y.shape[0]),y] is a vector
# v containing [LP[0,y[0]], LP[1,y[1]], LP[2,y[2]], ...,
# LP[n-1,y[n-1]]] and T.mean(LP[T.arange(y.shape[0]),y]) is
# the mean (across minibatch examples) of the elements in v,
# i.e., the mean log-likelihood across the minibatch.
return -T.mean(T.log(self.p_y_given_x)[T.arange(y.shape[0]), y])
Бля, это получается не нужно обратное распространение ошибки?
я хочу из питона написать на паскале пример сверточной сети. Но вот написал с обратым расп ош и без батчей и вместо пуллмакса сделал матрицу весов 2*2(что неправильно как я понял)
везде как-то по еблански описали алгоритмы, и поэтому такие непонятки.
grads = T.grad(cost, params)
updates = [(param_i, param_i - learning_rate * grad_i) for param_i, grad_i in zip(params, grads)]
а хотя не, вот же ОРО, вроде как
Да, я тоже бы взял питон, если бы не один аргумент. Но если я возьму F#, то я у меня еще появится шанс научиться функциональщине.
А нет
This tutorial will use the method of stochastic gradient method with mini-batches (MSGD)
тока я чет вероятности нигде не вижу
Если преследуется чисто образовательные цели, то можно брать F# при наличии хорошей базы в ML и статистике.
Нет, проект коммерческий, просто у меня будет много свободы принятия решений в нем.
Что-то мне говорит, что F# будет достаточно дорогим решением, ибо спецов по нему не так много.
Ок, я понял твою мысль. Спасибо.
Хрен с ним со средним значением, вроде как понятно что из всего батча он среднее считает. Но почему отрицательный логарифм? Понятно что он оптимизирует эту функцию(где об этом почитать?) градиентным спуском(берет производную от функции ошибки), но как понять, что там делается между такими специфичными слоями где пулмакс?
>Между этими двумя видами градиентного спуска существует компромисс, называемый иногда «mini-batch». В этом случае градиент аппроксимируется суммой для небольшого количества обучающих образцов.
Это вообще не пойму где в коде, там только среднее значение есть, суммы не вижу.
>Хрен с ним со средним значением, вроде как понятно что из всего батча он среднее считает. Но почему отрицательный логарифм? Понятно что он оптимизирует эту функцию(где об этом почитать?) градиентным спуском(берет производную от функции ошибки),
Короч вот так на этот вопрос
A common choice with the softmax output is the categorical cross-entropy loss (also known as negative log likelihood). If we have N training examples and C classes then the loss for our prediction \hat{y} with respect to the true labels y is given by:
\begin{aligned} L(y,\hat{y}) = - \frac{1}{N} \sum_{n \in N} \sum_{i \in C} y_{n,i} \log\hat{y}_{n,i} \end{aligned}
The formula looks complicated, but all it really does is sum over our training examples and add to the loss if we predicted the incorrect class. The further away the two probability distributions y (the correct labels) and \hat{y} (our predictions) are, the greater our loss will be. By finding parameters that minimize the loss we maximize the likelihood of our training data.
>Now, if we have lots of
examples of the two classes, and the histogram bins that their measurements fall into, we
can compute P(Ci , Xj ), which is the joint probability, and tells us how often a measurement of Ci fell into histogram bin Xj.
Давайте, вы же все знаете английский.
Тут же говорится о совместной вероятности двух событий.
Где все может быть записано как P(Ci)P(Xj), так почему тут говорится что одно fall into от другого? Опечатка?
> tells us how often a measurement of Ci fell into histogram bin Xj.
> говорит нам о том, как часто измерение Ci попадает в интервал Xj
>and the histogram bins that their measurements fall into
Хорошо, а что тогда значит эта часть?
> все может быть записано как P(Ci)P(Xj)
Не может быть. Это верно только для независимых событий.
Вероятность пересечения — количество измерений класса Ci попавших в интервал Xj делить на количество всех измерений (в x в обозначениях твоей книжки):
P(Ci, Xj) = |Ci ∩ Xj| / |x|
Аналогично:
P(Ci) = |Ci| / |x|
Условная вероятность P(Ci | Xj) — рассматриваем только Xj, это теперь это все наши измерения, других больше нет.
Количество измерений класса Ci теперь равно |Ci ∩ Xj|, остальные выкидываем.
Количество всех измерений теперь равно |Xj|, а не |x|.
P(Ci | Xj) = |Сi ∩ Xj| / |Xj| = P(Ci, Xj) / P(Xj).
Откуда:
P(Ci, Xj) = P(Ci | Xj) P(Xj)
А все, получается, что я joint probability неправильно перевел и все по пизде пошло?
Спасибо.
Верно ты перевел, joint probability — совместная вероятность или вероятность совместного появления (двух) событий.
Для независимых событий это верно, что P(AB) = P(A)P(B), но в общем случае нет.
А все, тогда меня подвел русский интернет, который сразу выдал про независимые события.
Ладно, уже подбираюсь к Гауссу по книге, завтра про нейронки буду читать, видел, что там наконец код появится.
Хз, о чём ты, но первое напоминает MST, а второе кросс-энтропию. Ты об этом?
https://ru.wikipedia.org/wiki/Метод_обратного_распространения_ошибки
https://wikimedia.org/api/rest_v1/media/math/render/svg/78c57cb0c9229b0698f980dd213390367f9b87d2
http://www.wildml.com/2015/09/implementing-a-neural-network-from-scratch/
http://s0.wp.com/latex.php?latex=\begin{aligned}++L(y,\hat{y})+=+-+\frac{1}{N}+\sum_{n+\in+N}+\sum_{i+\in+C}+y_{n,i}+\log\hat{y}_{n,i}++\end{aligned}++&bg=ffffff&fg=000&s=0
Ну какбе 2 разные целевые функции, но почему в одном случае одна, в другом - другая, я -хз.
во втором какая-то муть с вероятностями(стохастическая типа)
> ОРО
Даже если бы вместо ОРО ты писал BP, было бы понятнее, хотя BP - ещё и Belief Propagation.
Да, целевая функция другая, её выбор зависит от ситуации.
Английский понимаю через слово, не совсем понял в каких ситуациях.
Где твой персонаж будет реально учиться владеть мечем, кидать ножи, стрелять из разного оружия
И в чем будет заключаться реальность? "Мышцы" правильно двигать, подставлять в нужное положение?
Бля, тока без минуса перед двойкой для последнего уровня.
Ну тоже вариант.
Еще правильно стрелять с разных расстояний и оружия, перепрыгивать через препятствия.
https://www.youtube.com/watch?v=wBrwN4dS-DA
https://www.youtube.com/watch?v=pgaEE27nsQw
Смотрел уже?
Эх, смотрел, но во втором это не нейроночка, а эволюционный алгоритм
Применить RL для имитации шатаний Абу, но это оффтопик.
почему вы ещё не додумались?
100 миллионов нейронов еще применять нужно научиться
Про переобучение слышал?
Аноны, а бесконечное число при высшем количестве измерений будет сжиматься?
Как взаимодействуют бесконечность и проклятие размерности?
Чушь полная.
Может я плохо выразился, по любому предложению, даже не принадлежащему обучающей выборке.
По теорверу и основам статистики есть годный учебник - Вентцель, "теория вероятности". Не на английском.
1) SVM представим в форме нейроночки (Воронцов), скрытый слой которой - ядра, умноженные в т.ч. на соотв. им множители Лагранжа, которые равны 0 для всех векторов датасета кроме опорных. Т.о. число элементов скрытого слоя = пространству Вапника-Червоненкиса для данного датасета.
2) Сами множители Лагранжа находятся оптимизацией квадратичного функционала ф-ии лагранжа с заданными ограничениями, что сводится к задаче квадратичной оптимизации и решается любыми подходящими солверами.
3) Ограничения заданы так, чтобы множители Лагранжа имели ненулевое значение только для опорных векторов, т.е. тех, что лежат точно на границе гиперповерхности, разделяющей классы датасета. Ебля с ядрами нужна для работы с линейно-неразделимыми классами в датасетах. Суть использования ядер в замене линейного расстояния между элементами датасета на нелинейное между их отображениями, задаваемыми ядром.
4) В реальных SVM вместо простого решения задач квадратичной оптимизации используются всякий онанизм вприсядку, т.к. при больших датасетах матрицы получаются совершенно конских размеров (10000 примеров-векторов в датасете даст матрицу в 100000000 векторов и т.д.).
>множители Лагранжа,
>слоя = пространству Вапника-Червоненкиса
ебаные наркоманы, теперь я понимаю почему вся эта ваша ии хуета не работает
В нормальных туториалах нет такого говна.
просто интересуют темы посложнее, не хочу всю жизнь пилить сайтики, конечно я понимаю что прийдётся тратить овер дохуя времени на самообучение, но это намного интереснее, просто я понятия не имею как выстраивать карьерную лестницу, загуглил оферы по мл там только всего околок 7 оферов и в 6 нужео сеньор, в 1 практика для студентов. А в остальном посмотрел на оферы в целом, почти везде требуются знания web
P.S. оферы в целом я имею ввиду на разные технологии типа питона, джавы
бамп
>теперь я понимаю почему вся эта ваша ии хуета не работает
Потому что тебе не знакомы какие-то слова в тексте? И причем тут ИИ?
>а нейронные сети уже не ии?
Нейроночки просто удобное представление для алгоритмов МЛ, т.к. в любом из них есть элементы, слои, веса и т.д. Задача собственно моделирования функций нервной системы или какой-то ее части ставится в очень немногих алгоритмах, из которых практически используются перцептроны, SOM да сверточные сети. И они как раз норм работают. Сверточные сети на сегодняшний день самый годный сетод распознавания изображений.
>Задача собственно моделирования функций нервной системы
задача нейронной сети пилить гранты и кормить говном ньюфагов, к биологическому подобию мозга неимеющего абсолютно никакого отношения, а также полный абасрамс в любом более менее серьезном ии проекте, например ocr
Как видишь, у нас тут толком математику никто не знает. Зависит от математической базы всё.
>у нас тут толком математику никто не знает
анончик поясни, нахуй твоя математика вообще нужна?
Чтобы брать гранты от всяких научных организаций и заниматься всякой интересной мне хуйнёй, заодно заигрывая со студентками и аспирантками.
А вообще дата сайенс нормально так хайпнут, а здесь без этого никуда. Тут дохуя примеров приводилось.
насколько я понял для всякого ии и дата сайнс придется все же делать вышку? Тогда такой вопрос, что начинать изучать если у меня до поступления в вуз несколько лет ещё + несколько лет обучения, что б не тратить время в пустую( я имею ввиду технологии/области матана)
Счастливчик, вместе с погроммированием и алгоритмами пробуй начинать изучать вузовский курс математики. Не торопясь и основательно. К третьему курсу уже будешь давать на клыка всей своей шараге.
Посмотри шапку этого треда:
https://2ch.hk/sci/res/369067.html (М)
Только в целом со ски осторожней, у них там дохуя поехавших. Обрати внимание на элементарный курс и базовый.
Я же не уточнил, что это всё в моём влажном манямирке. На деле заигрывания для меня сводится к кивку знакомой страшной дырке, поверхность лица которой неплохо описывается Гауссовским полем, фигура линейно разделяет пространство, а волосы напоминают логотип Хабра.
А гранты ирл есть, да.
https://www.ics.uci.edu/~pjsadows/notes.pdf
точнее вычислять можно, как-то это теано делает, но вот просто взять производную - хер.
> децкий комиксовый пиндоский линальчик
> децкий комиксовый пиндоский матанчик
> децкий комиксовый пиндоский терверчкик
если закостенелое 200-летнее говно мамомнта для тебя "математика" то бедапичаль конечно
Все эти онлайн курсы чушь по сравнению с тем, что заставляют учить в рашковузах.
Возьмем, например, вот этот:
Linear Algebra - Foundations to Frontiers15 weeks8 hours/week
Смотрим на список тем:
Week 0 Get ready, set, go!
Week 1 Vectors in Linear Algebra
Week 2 Linear Transformations and Matrices
Week 3 Matrix-Vector Operations
Week 4 From Matrix-Vector Multiplication to Matrix-Matrix Multiplication
Week 5 Matrix-Matrix Multiplication
5 сраных недель на то, чтобы добраться до перемножения матриц! На это хватит недели.
Week 6 Gaussian Elimination
Week 7 More Gaussian Elimination and Matrix Inversion
Week 8 More on Matrix Inversion
Week 9 Vector Spaces
Week 10 Vector Spaces, Orthogonality, and Linear Least Squares
Week 11 Orthogonal Projection and Low Rank Approximation
Week 12 Eigenvalues and Eigenvectors
Это еще максимум пару недель.
А вообще, весь этот курс или эквивалент можно за неделю выучить, если время есть.
Все эти онлайн курсы чушь по сравнению с тем, что заставляют учить в рашковузах.
Возьмем, например, вот этот:
Linear Algebra - Foundations to Frontiers15 weeks8 hours/week
Смотрим на список тем:
Week 0 Get ready, set, go!
Week 1 Vectors in Linear Algebra
Week 2 Linear Transformations and Matrices
Week 3 Matrix-Vector Operations
Week 4 From Matrix-Vector Multiplication to Matrix-Matrix Multiplication
Week 5 Matrix-Matrix Multiplication
5 сраных недель на то, чтобы добраться до перемножения матриц! На это хватит недели.
Week 6 Gaussian Elimination
Week 7 More Gaussian Elimination and Matrix Inversion
Week 8 More on Matrix Inversion
Week 9 Vector Spaces
Week 10 Vector Spaces, Orthogonality, and Linear Least Squares
Week 11 Orthogonal Projection and Low Rank Approximation
Week 12 Eigenvalues and Eigenvectors
Это еще максимум пару недель.
А вообще, весь этот курс или эквивалент можно за неделю выучить, если время есть.
Дрочить матан ударными темпами, чтобы забыть 95% материала после экзамена - это по-комсомольски, да.
Лол, не верю.
Плюсану. "Выучить" это за неделю можно только ради сдачи экзамена, что в рашковузах и практикуется.
Разумеется придется повторять или применять после этого, это к любым навыкам и знаниям относится. Use it or lose it.
А это не математика для тебя еблан, теория комплексных полей и арифметика оба математики
При чём тут accuracy и что делать с kf?
а теано применяет automatic differentiation,а как мне -хз
Те кто в теме должны понимать же. А что вы ту забыли, уважаемый?
Ну помогите
применяй как обычо
у тебя на самом внешнем слое сигмоиды/софтмаксы же?
тогда логарифм праводоподобности разложится на сумму кросс энтропии, ему похер какая у тебя функция активации во внутренних слоях
хм, точно, тока щас обратил внимание, что в питоне в примере софтмакс на последнем слое.
тебе чо пригорело штоле?
Учебник по мат. анализу.
Учебник по линейной алгебре параллельно к матану.
После этого учебник по терверу и статистике.
Этого должно быть достаточно для того, чтобы начать читать книги по ML.
По ссылке в >>782327 предлагается курс по алгебре Strang'а, он не углубляется в теорию, но его должно быть достаточно. Материал относительно простой и подается нормально. Есть пдфки с контрольными работами и ответами к ним, даже указаны баллы за задачи, так что можно будет выставить себе оценку.
ML класс от Andrew Ng не рекомендую, слишком поверхностно, лучше посмотреть его лекции на ютубе и читать материалы к курсу, которые доступны здесь:
http://cs229.stanford.edu/
Но этот курс только после того, как закончишь с тервером и статистикой.
Про остальные ссылки из той вики ничего не могу сказать.
> хотел начать курс по тому что кидали выше на гитхабе, но вы его раскритиковали, мол как так, там алгебра за неделю учится!
Что касается онлайн курсов. То, что в них подается все в довольно поверхностном или практическом виде и не требует значительного времени на изучение, не обязательно является чем-то плохим. Во всяком случае для чтения книг по ML инфы там достаточно, а углубиться в какую-нибудь тему можно будет по необходимости.
Поддвачну, но лучше наверное начать с линала, а потом в матан.
Даунский вопрос же. Где там выписываются это равенство? Мужик говорит, x times w equals to 1 - b.
если х+ и х- опорные векторы то это следует прямо из определения на 9 минуте
Нужно вычислить величину (x_+ - x_- ) w / |w|, где x_+, x_- опорные векторы, то есть такие, которые удовлетворяют уравнению
+1 (x_+ w + b) - 1 = 0
-1 (x_- w + b) - 1 = 0
соответственно. Теперь сложи их, поделив на норму w, и получишь ширину полосы с точностью до множителя.
В целом годная лекция, хотя и не все сходу понятно, но лучше Воронцова, лол.
Ну вот скажи мне зачем мне все эти доказательствам криволинейных интегралов в ML
или зачем мне аффиные и банаховы пространства в ML, конкретики больше, пожалуйста. Какие темы? Не всего ж мне Ильина ж читать
Ты же хочешь когда-нибудь в Silicon Valley уехать? А туда не берут без знания метрической геометрии и функционального анализа. Не осилишь - так и будешь до конца жизни в рашке энтерпрайз солюшены крудошлепить.
За 21 день хочешь всё освоить?
Вот тебе краткий курс того, что требуется:
http://cs229.stanford.edu/section/cs229-linalg.pdf
http://cs229.stanford.edu/section/cs229-prob.pdf
Из матана будет достаточно того, что используется в этих выжимках — производные и интегралы.
Ещё подумалось, глядя на это всё, что прослеживается некоторая цикличность в развитии. Сначала были простые объекты — числа. Людей на практике интересовало число. Но работать с числами — это сложно, и люди изобрели алгебру, чтобы упростить себе жизнь. Алгебра породила анализ, дифференциальное и интегральное исчесление, понятия предела. Анализ породил сложные геометрические объекты, в т.ч. в многомерном пространстве, которые уже тяжело исследовать методами анализа. Анализ слишком детален для этого. Тогда изобрели топологию и начали исследовать объекты топологическими методами, а позже (ещё более?) «мягкими» — алгебраическими. Так анализ породил алгебру второго порядка абстракции: гомологии всякие, когомологии, Tor'ы. Но когда начали исследовать эту алгебру в целом, в совокупности, вырисовался анализ этих объектов! Дифференциальная гомологическая алгебра! В книжке, которая выше цитируется, есть глава про эту тему. А потом что? Новый анализ породит ещё более абстрактную алгебру? Такое впечатление, что когда мы идём вверх по пути всё большей абстрактности и общности, анализ и алгебра чередуются друг с другом. Не знаю, насколько эта мысль нова/стара, но я её нигде не слышал.
Вообще, я бы, наверно, выделил следующие три уровня:
Алгебра первого порядка: школьная (всё, что мы знаем).
Алгебра второго порядка: линейная и общая (матрицы, линейные пространства, группы, кольца, идеалы и т.п. множества).
Алгебра третьего порядка: гомологии, когомологии и т.п.
Алгебра n+1'ого порядка имеет объекты n'ого порядка как свои элементарные.
>, что используется в этих выжимках — производные и интегралы.
Производные я и так сейчас умею брать, все таки что-то помню с курса примата, интегралы вручную - ну хуй знает, всегда с ними были проблемы, всегда в вольфрамах высчитывал.
Пролистал алгебру, так это все вспомнить - максимум день, ну в плане перемножения матриц и работы с векторами.
Только чем дальше в лес, тем толще абстракции и тем меньше людей в них могут. Как итог, в IUTeich Мотидзуки могут 4 человека из 7 млрд. Вот и приехали.
https://cloudplatform.googleblog.com/2016/05/Google-supercharges-machine-learning-tasks-with-custom-chip.html
Кто-нибудь тут пытается торговать на бирже?
Как ты себе это представляешь?
В известных мне оптических нейроночках всё происходит на гологораммах. Для ГА же нужны элементы случайности, ещё требуется порождать новые объекты с новыми свойствами. При желании можно достичь первого, покрутив источник излучения. Второе же достичь достаточно трудно, на мой взгляд.
Хотя эволюционные методы используются для получения оптических элементов.
https://www.osapublishing.org/oe/abstract.cfm?uri=oe-14-21-9909
Начал с первой главы. Там начиная со второй страницы всё в формулах. Я ничего не понимаю. Что проще есть?
1) Есть 2 искусственных нейрона: к одному подключено, например, 10 входов, к другому 2 входа. Это ведь получается, что первый нейрон гораздо легче активировать, нежели второй? Никак ли это не компенсируется/корректируется в структуре или параметрах? Если нет, то каков в этом смысл с точки зрения какого-то принятия решения или типа того? Вряд ли же будет верно то, что чем больше входов у нейрона, тем он важнее?
2) В учебниках и статьях нейросети изображают обычно так, что каждый вход подключен к каждому нейрону сети. Всегда ли это именно так делают? Можно ли вмешиваться в структуру сети, делая, например, чтобы в первый нейрон входили 1, 2, 3 входы, во второй какие-нибудь 2, 5, 6 и т.д.? Или все-таки структура должна быть однородной и веса сами скорректируют "отбор" нужных входов?
>>784308
Что можно почитать для раскуривания?
Само понятие и представление о регрессии и регрессионном анализе не дают ответов на мои вопросы.
Да зачем? Там же наверняка всё проще.
Ты всем советуешь какую-то якобы умную книжку, которую сам не до конца осилил?
Тебе не ML нужен, а DSP. Достаточно тебе enveloper follower + moving average filter, далее run length encoding, а потом можно уже анализировать цифры.
Для распознавания аудио сверточные нейроночки сейчас самый смак, по-другому уже никто не делает.
Мне программку на питоне надо, а тут какие-то микросхемы
laba.py?
Я не он, не эту конкретную книгу я прочел. Хорошая книга.
https://www.google.ru/search?q=python+envelope+follower https://www.google.ru/search?q=python+moving+average
https://www.google.ru/search?q=run+length+encoding
Когда добьешься этого, далее будешь распознавать буквы и пробелы между буквами и пробелы между словами.
демидович под картошечку с пивком.. ммм..
<<Действительный анализ>> Тао под сидр.
Да там тоже черт ногу сломит. Если уж совсем от сохи, то просто делать DFT, сделать ручной детектор писка по частоте, потом детектор длинного/короткого сигнала, ну и таблицу забить. На коленке за день можно сварганить.
ну или так, с аналитическими сигналами ещё поиграться можно. Способов тьма, только все хотят простой метод.
а картофан?
Зорич с сыром и Шато Бардо располагает
Короче допетрил до ответов сам.
Но вот ко второму появилось некоторое дополнение. Если даются какие-то входы, и нужно получить выход (зависимость от входов), то в общем-то нужно все входы соединять со всеми нейронами, чтобы веса сами настроились как надо, и получились эти нужные коэффициенты регрессионной модели.
Однако в сверточных нейросетях эти входы могут все-таки разбиваться в некоторые группы, которые при этом могут и пересекаться, и эти группы в некотором роде можно называть признаками каких-то особенных деталей из входных данных. Вопрос как раз в том, когда инпуты разбиваются, а когда они полной охапкой передаются в слой сети? В чем природа этого разделения входных переменных?
Про сверточные нейросети я, правда, только обзорно читал, возможно при углублении это снова мне станет понятным, но все-таки.
Очень хороший вопрос, но пробелма в том, что все бьются над тем какаой должна быть "правильная" архитиктура нейросетей. Поэтому то, что сейчас называется глубокие сети уже большая находка.
Алсо, посмотри записи с DeepHack, там были обсуждения архитектур нейросетей и решаемых ими задач.
> Слил 10к на фьючерсах сбербанка.
Да это плевать. Давай лучше методику обсудим.
Почему этот инструмент используешь? Как минимизируешь риски? Какая используется модель? Торгуешь в (полу)автоматическом режиме? На какой срок строишь прогнозы? Как проверяешь прогнозы? Через какого трейдера работаешь?
Трейдер финам, но это вообще фигня, не я выбирал, пришел батя, сказал вот счет, ты ж сына программист, сиди торгуй.
Торговал в полностью автоматическом режиме, прогнозы не дальше дня.
Пробовал арбитраж. То есть берешь, грубо говоря, нефть и акцию лукойла, одно покупаешь, другое продаешь, в теории в среднем должен быть небольшой +. Как что от чего зависит изучем с помощью ml. Модель была простая линейная, всякая умная фигня типа нейронных сетей работала хуже.
Но я изначально неправильно тестировал, не учел комиссию. Опять же писал свой тестировщик. Когда наносался хуев пошел дальше учить теорию ml+питон, который для этих дел оказался лучше матлаба.
Но потом вспомнил, что нейронные сети всего-лишь аппроксиматор функции.
Значит ли это, что мне надо использовать несколько нейронных сетей, направленных на обучение в каком-то направлении?
Например, с помощью одной сети паук учится нападать на человека, с помощью другой бегать, с третьей оценивать ситуацию, с четвертой разрабатывать тактику?
Или как это работает? Писал перцептроны до этого.
В мозге по сути так и есть, выделяют различные области коры по из назначению, например: зрительная, моторная. За какую-то логику отвечает префронтальная кора.
Использовать этот метод, хорошо.
А можно ли сделать обучение непрерывным? Или одна сеть должна научиться выполнять 1 тип задачи?
Можно ли написать зависимости между сетями, чтобы результаты обучения 1 сети действовали на другую?
Можно ли сделать так, чтобы сети эти зависимости нашли самостоятельно или не стоит?
Да, по сути так и происходит у животных, правда эти твои "зависимости" называются гормонами.
Кое-чего я так и не понял, можно ли его чему-нибудь новому научить?
Этот как с функцией XOR, только есть одна странность, у меня число методов, которые можно использовать неизвестны.
Есть ли какой-нибудь расширяющийся перцептрон, например? Или как это еще можно решить, кроме добавления слоев?
> Кое-чего я так и не понял, можно ли его чему-нибудь новому научить?
Не знаю, как с нейроночками, но людей можно даже обучить видеть с помощью языка и камеры:
https://www.youtube.com/watch?v=n1ViNeWhC24
Нейроночкам можно скармливать данные по мере их поступления, т.н. online learning. Может быть если данные кардинально изменятся, то со временем нейроночка полностью перестроится под новые данные аля "видеть языком".
Проблема в том, что обычно архитектуру сети подбирают под задачу и какой-то универсальной работающей хорошо на всех типах задач, как я понимаю, до сих пор не придумали.
Да я уже почти со всем определился.
сети, сеть на ходьбу, вторую на оптимальный путь, третью на атаку, четвертый на анализ боевой ситуации убежать, какую атаку использовать
И сеть над ними, которая будет учиться эффективно все это использовать.
Но тут уже настигают проблемы, так как локации могут быть разными.
В одной, например, может быть множество вертикальных объектов, а в другой надо быстрее бегать.
Как боту разделять признаки, когда и какую стратегию лучше использовать? Ведь признаков может быть бесчисленное множество и выделять их можно до бесконечности.
А вот проклятие размерности не даст мне ничего подобного, а использовать огромное количество ресурсов на обычного моба - глупо.
У нас был такой вуз, что запускают по 5 человек в аудиторию на 4 препода, которые смотрят за тобой. при шуршании малейшем народ выгоняли пачками - охуенно спишешь да?
Да и на вопрос по сути не ответил ты.
> при шуршании малейшем народ выгоняли пачками - охуенно спишешь да?
Надо было списывать с памяти.
Ой я дебил, разгадка то кроется в сети, которая настроена на оптимальный путь.
Именно все множество методов из нее и будет определять множество стратегий.
И чем больше будет в ней нейронов, тем больше и в остальной сети будет методов.
Эх, не в этот раз я столкнусь с проклятием размерности, не в этот.
Зубрить это и есть списывать с памяти, проблемы? Вспоминаешь листок тетрадки фотографически и хуяришь
Короче чо ты доебался, вот чо ты доебался?
Расслабься, это всего лишь шутка была.
Что-то на уровне:
- как вспомнить определение теоремы во время экзамена?
- вспоминаешь доказательство и выводишь из него определение
Хотя это уже не совсем шутка.
> Брокер же. Трейдер это я.
Опечатался.
Оцениваешь VaR'ы всякие? Пробовал интегрировать уравнение Блэка-Шоулса?
> Как что от чего зависит изучем с помощью ml.
Это корреляционные коэффицинеты считать что ли?
> Модель была простая линейная
Линейная регрессия? Что в фичах? Какая регуляризация? Какой функционал качества? Чем оптимизируешь?
> нейронных сетей работала хуже
Не удивительно.
> ml+питон ... оказался лучше матлаба
Сейчас питно де факто стандарт научных и околонаучных вычилений. Обрати внимание на pandas, если ещё не работал с ним.
Есть пара непонятных моментов с выбором начальных данных и при переходе от дискретного случая к непрерывному.
Сап.
Наблюдаемые данные - n-мерные вектора (15-20 мерные);
Координаты векторов, вещественные числа меняются в пределах [-1:1] (В теории, на практике скорее всего разброс может быть меньше);
Тут данные имеют непрерывную природу, и не получается использовать дискретное распределение.
Какой закон распределения использовать для наблюдаемых данных?
Если есть желание помочь, могу скинуть фейко мыло.
Непрерывное распределение, очевидно. А скрытые переменные?
Пиши тут лучше, я фейкомыльце редко проверяю.
Суть вопроса матрица вероятностей для наблюдаемых значений - тут и предлагают использовать непрерывное распределение. Брать n-мерный интеграл от плотности распределения ( в данном случае за плотность взял Гауссову функцию распределения)?
(Приложил картиночки, там вроде в второй картинке ошибка, как раз без n-мерного интеграла?)
Основываюсь да данной работе, так взяты 3-мерные вектора (http://linkstore.ru/articles/pestov2013.pdf)
Для Гауссовской функции интеграл можно взять аналитически. Для сложных распределений можно использовать методы Монте-Карло (importance sampling, rejection sampling, MCMC) или использовать вариационные аппроксимации.
Зависит от задачи. Часто бывает так, что информации о распределении шумов нихуя нет, тогда Гаусс берётся по дефолту.
Гаусс (экспоненциальное семейство вообще) хорош тем, что там обычно хорошие, трактуемые распределения, т.е. вывод прямой возможен.
Вот тут при расчете B (матрица вероятностей для наблюдаемых значений) - мы просто берем Гауссову функцию распределения?
Или нужна именно функция распределения? (то бишь интегрировать Гауссову функцию?)
а как B_j(x) считать тогда?
Спасибо, вроде разобрался.
А то этот непрерывный случай сложно давался.
тервер только дискретный знаю.
Ты про смещения в нейронах?
Если да, то можно и без них. В некоторых задачах, говорят, они могут дать намного круче результаты, нежели без них (сам не пробовал).
По сути, смещение поднастраивает активационную функцию, сдвигая ее график влево или вправо (т.е. соответственно "облегчая" активацию, или наоборот, делая так, чтобы требовалось еще большие значения на входах нейрона).
>Ты про смещения в нейронах?
Да. Спасибо. Надо все же потестировать самому. Чуток в питоне переделаю готовый пример да гляну че да как.
Аноны, я пока читаю свою книжечку, которую вы мне дали и появились пара вопросов:
В книге говорится о том, как изменять веса
и дана эта формула
>Wik = -(yk-tk)*xi
yk - то, что нейрон сделал в этот момент
tk - то, что должен был сделать
Зачем мы ставим - перед ними?
Думаю, разгадка в этой строчке, которую я не могу правильно перевести
>That element of the input could be negative, which would switch the values over; so if we wanted the neuron to fire we’d need to make the value of the weight negative as well.
если минус то тогда ты максимизируешь лог-вероятность вместо минимизации ошибки
разницы особой нет
пиздец нихуя не понятно exex
возьми производную от кросс-этропии и получишь то же самое, только без простыни
Ты думаешь, что я знаю, что такое кросс-этропия?
А как же те люди, которые говорили Иди читай книги на английском?
Я не точно уверен, но по идеи мы используем что-то типа градиентного метода минимизации функции, а сам градиент направлен в сторону наискорейшего возрастания функции. Поэтому если мы хотим вниз спускаться, то градиент надо брать со знаком минус.
вот тот же момент в другой книге у бишопа
сначала выписываешь вероятность данных при заданных параметрах/весах (4.89)
потом берёшь негативный лог этой вероятности
и потом берёшь производные, получается такая же формула как у тебя (4.91)
только в твоём случае с переди минус потому что автор не брал негативный лог в шаге 4.90
Я еще не знаю, что такое градиент, это только начало книги, все, о чем вы говорите будет дальше.
Да зачем мне вероятности считать? Тут же просто показывают принцип, до которого я допереть не могу.
Эх, ладно, пойду к переводчикам.
>Вопрос как раз в том, когда инпуты разбиваются, а когда они полной охапкой передаются в слой сети? В чем природа этого разделения входных переменных?
Я ж тута уже упоминал статью Горбаня http://kpfu.ru/portal/docs/F1732864826/02_5.PDF , в ней опять же, разбирается результат, полученный еще Колмогоровым и составляющий собственно суть нейроночек: представление одной функции многих переменных через суперпозиции частных функций от 1-2 переменных. Сие и есть ответ на твой вопрос о разбиении входов. Кроме того, нелишне разобрать теорему Стоуна-Вейерштрасса.
Черт, ну что за двачах за аутисты то сидят, пиздец?
В тексте написано, что мы показываем векторы нейронной сети и один нейрон неправильный (его выход не совпадает с целью). Это веса m, которые соединены с нейроном, каждый из которых весов - это входная нода. Если мы назовем нейрон, который неправильный, как K, тогда веса, которые нас интересуют - это Wik, где i - промежуток от 1 до m. Так мы знаем, какой вес меняется, но нам необходимо решить, как изменить значение этого веса.
Первое, что нам необходимо узнать - это является ли значение веса слишком большим или слишком маленьким. Это типа очевидно: веса больше, если нейрон активируется когда не надо и меньше, если не активируется когда надо.
Так мы посчитаем y(k)-t(k) - это является разницей между тем, что нейрон получил и целью. Это возможная функция ошибки.
Если она негативна, когда нейрон должен активироваться и не сделал это, то мы делаем веса больше и наоборот если она позитивна
И дальше я нихуя не могу понять, написано Держитесь, поехали дальше.
>Как ты себе это представляешь?
Я подумал, что вряд ли идея запилить GA на оптронике принадлежит мне и скорее всего кто-то уже пытался, хотя бы на бумаге. И таки я нашел, некие жиды разрабатывали такое. Вообще, странно что эта тема не развивается, нейроночки на оптике должны быть быстрее и дешевле чем на электронике.
Так, а дальше написано
>Этот входной элемент может быть отрицательным, что поменяло бы значение местами. Так если мы хотим чтобы нейрон активировался нам необходимо сделать значения весов негативными также. Чтобы обойти эту проблему мы умножаем их вместе, чтобы посмотреть как мы должни изменить веса. Wik = -(yk-tk)*xi, и новое значение веса это старое значение плюс это значение.
И тут я потерял логику, старое занчение чего плюс новое значение чего? Весов?
Хочу программирование освоить, питон знаю на лоу уровне, теперь нейроночки хочу.
Мб если yk < tk, т.е. нейрон дал слабый сигнал, хотя должен был быть сильнее, при этом (yk - tk) получается отрицательно, но нам нужно прибавить весу, чтобы в следующий раз сигнал был как надо, поэтому мы инвертируем эту разность, получаем -(yk-tk).
А если yk > tk, т.е. нейрон дал больше, чем надо, тогда (yk - tk) положительно, и чтобы уменьшить вес, надо снова взять эту разность с отрицательным знаком.
У нас получается, что если нейрон дал слабый сигнал, то необходимо его усилить.
А если нейрон дал сильный сигнал, то надо уменьшить веса, путем вычитания значения ошибки.
Но если значение входа уже отрицательно, то это поменяет значения местами, тогда, если мы хотим, чтобы нейрон активировался, нужно сделать значения весов отрицательными
И чтобы решить эту проблему мы ставим -
Но откуда в этом выражении появился X(i) - хуй знает.
i - это промежуток от одного до m
И хуй знает, что он обозначает.
Есть нейрон. От 1 до m входов. Один выход: принимает значение yk. По обратному распространению на "выход" пришло необходимое значение tk.
Мы получаем ошибку как бы для всего нейрона, это yk-tk.
И эту ошибку уже надо применить ко входам этого нейрона, которых m штук, а значение на каждом из входов x(i).
>>785875
Опять же, я давал ссылку на видос, где создатель этого алгоритма поясняет его суть, в т.ч. с рисунками. Поясняет почему удобна именно квадратичная функция (потому что параболоид). Мне сказали, какой-то старый дед, давай что-то поновее.
https://www.youtube.com/watch?v=hc2Zj55j1zU
https://www.youtube.com/watch?v=skfNlwEbqck
Так i - это число входов
То-есть мы берем отрицательное значение от того, как должно быть и умножаем это на прежние значения весов, где x - это значение веса, а i - индекс веса?
Нет, I - это число входов
>When we looked at the McCulloch and Pitts neuron, the weights were labelled as wi, with the i index running over the number of inputs.
И да, я не знаю, что значит слово "вещественнозначный", даже гугл не показывает его значение.
Вектор, компоненты которого вещественные числа. Число входов равно размерности входного вектора.
w(i,j) ← w(i,j) − η(y(j) − t(j) ) · x(i)
То, что мы хотим найти это то, что мы ищем - выражение?
Не совсем. Это годится скорее для чего-то однослойного, например перцептрона, когда слой знает о том, что получилось и о том, что нужно было получить, и таким образом R-элементы может подправить веса от входов, которые поступают с А-элементов.
Но между S и A веса не регулируются.
Это разве не логическая ошибка?
Если я хочу узнать массу планеты.
То мне надо знать массу планеты?
Или на это w(i,j) после стрелки не обращать внимание?
Там было еще [_i_], но оно куда-то пропало.
точнее, не умноженное.
Просто input nodes, что в данном случае аналогично весам и число нейронов.
нейроночки - искусственный интеллект
алсо нейроночки - массив
следовательно монада - искусственный интеллект
нейроночки можно применять в РПГ-игрулях
биномиальное распердение вызвало брексит
колмогоров баловался попками маленьких мальчиков
нечёткость и Сёрла забыл.
Нечеткость для петухов
Типа, если вход равен чему-то, то берем вес такой-то?
Перельман, как и положено шизоидам, посмотрел бы на пацана как на долбоеба и пошел дальше, а то и вовсе не посмотрел бы.
Типа той, что играла в го и обыгрывала военного летчика.
Это просто сеть, у которой хуева туча слоев?
Да иди нахуй, я просто научиться хочу, а спрашивать мне больше не у кого.
Спрашивай сам у себя, заебал. Спрашивай у книг. Спрашивай у гугла. Спрашивай у тетрадки с ручкой.
По привычке прочитал Bias Input, я уже понял все.
Если ты тот, что ботал на неделе SVM, то ты норм. Но прибегают другие аноны с абсолютно хуёвыми вопросами.
байесовский вывод - эт тип когда приоры)))
нечёткая логика - единственное перспективное направление в мл
дискретный матан
АНОНЧИКИ, ПОСОВЕТУЙТЕ КНИЖКУ ПО ДИП ЛЕАРНИНГУ, ТОЛЬКО НА РУССКОМ БЕЗ МЕТЕМАТИКИ, РЕГИСТРАЦИИ, СМС И КРОСС-ВАЛИДЕЙШЕН. АНОНЧИКИ, А МОЖЕТ ЛИ СЕТОЧКА НАУЧИТЬСЯ ГЛУБОКОМУ БЛОУДЖОБУ? НО ВЕДЬ ЛЮДИ ТАК НЕ ОТЛИЧАЮТСЯ, СЁРЛ, СЁРЛ, СЁРЛ.КАК ПОСТУПИТЬ В ШАД, ЕСЛИ У МЕНЯ ДЕВЯТЬ КЛАССОВ ОБРАЗОВАНИЯ В ШКОЛЕ ДЛЯ ДЕБИЛОВ?
Понятие градиента знакомо минимум людям на 2-м курсе, ни в школьной программе, ни даже на 1-м курсе нету этого.
Причем градиент вполне рассматривается в этой книге, но позже, ты же стал нести неадекватную хуйню.
зато как круто звучит!
>ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ
ХЗ, но у меня они давали результат не лучше чисто случайного поиска.
> через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
Это сколько? Я сейчас питоновебдевом могу получать 4800-5600 в месяц.
Все самое интересно вроде же выжали из сетей с нынешним уровнем производительности видеокарт. А вот что еще можно придумать если что-то помощнее появится?
Вообще хорошо бы было натравить сеточки на перевод текстов.
норм? добавьте ещё чего, может в окончание kaggle вместо сумм и заменить фичё селекшн
DL-варианта этой пасты ещё небыло
пускай торчит хуле
Люди, не теряйте свободного времени, тренируйте нейронные сети!
дмитрий маликов в треде, все в рояль!
Сам заканчиваю мухосранский матмех, и пока вижу только два адекватных варианта: ВШЭ и американский вуз средней руки с прицелом на аспирантуру в лиге плюща.1
уса - лучший вариант, или вшэ с миграцией за бугор
Поясните вот за это вот:
Making the OR data is easy, and then running the code requires importing it using its filename (pcn) and then calling the pcntrain function.
В чем смысл? Алсо, я наконец полностью разобрался в перцептроне и могу написать его на питоне, сейчас еще узнаю, что он не может в функции XOR и перейду к нормальным нейроночкам
Охуеть, давайте тогда обсудим, что же считать слоями. ВОт дискач то будет. Дискач века.
Еще один дурацкий вопрос, вот тут >>785254 сколько брать распределяющих функций Гауссовой смеси?
Особенность физической модели, model selection, или от балды, если первое ничего не говорит, а второе мутить впадлу.
S-А связи по идеи просто описывают структуру входных связей, т.е. если есть то возбуждающий или тормозящий вход, если нет - значит нет.
Обучается же слой A-R.
https://ru.wikipedia.org/wiki/Многослойный_перцептрон_Розенблатта
>Многослойный перцептрон Розенблатта — перцептрон с дополнительными слоями А — элементов, расположенными между S и R элементами.
Дополнительных слоев А нету - значит однослойный.
Ну и безобразие, мы как-то всегда их считали.
Просто прочти на русской вики по поводу задачи XOR. Не может в XOR некий "однослойный персептрон", который, внезапно, является линейным классификатором, и был придуман много позже собственно персептрона (благо автор персептрона не был таким дебилом, чтобы взять линейный классификатор и назвать его йоба-названием).
Число распредлений в смеси настраеваемый гиперпараметр, но есть непараметрические методы, где требование задавать число распределений обходится.
То, что я сейчас знаю в качестве персептрона - это весы + сумматор и пороговый классификатор.
>весы + сумматор и пороговый классификатор
Это нейрон, не?
Перцептрон, когнитрон, неокогнитрон состоят из множества нейронов.
Написано, что персептрон, на самом деле не важно, я наконец понял, как и зачем нужны матрицы и массивы.
Мы же не одни здесь!
Наверное научить персонажа идти из пункта А в пункт Б с помощью нейроночки.
Дурачок. В играх AI строит маршрут совсем по другому. Что-то вроде жадных алгоритмов обхода препятствий. Катись в /gd/
Научись читать и понимать прочитанное сначала, потом посылай других куда-либо. Это во-первых.
Во-вторых, если он действительно хочет зафигачить так, чтобы АI сам учился искать пути именно с помощью нейроночки, то почему бы и нет?
В частности, что обозначает это вот неравенство?
tγ ≤ ||w(t−1)|| ≤ √t
Так, вообще, ||w(t-1)|| - это разве не значения весов на прошлом шаге?
А что тогда ty? t - насколько я понял, количество шагов обновлений весов.
А y - наименьшее расстояние между гиперплоскостями или просто прямыми линиями.
То-есть доказывается, что количество шагов умноженное на минимальное расстояние между линиями меньше или равно весам на прошлой итерации и значения весов на прошлом шаге меньше или равны корню из количества шагов обновлений весов?
Что за бред?
Я кстати застрял на части в реализации кода, Питона знаю хуево, это мне отвлечься от книги на немного дней или изучать Python параллельно, дабы я мог все примеры выполнять? Это задержит примерно на неделю.
Лучше бы начал с чего-нибудь попроще, раз ты даже питон толком не знаешь.
Я параллельно буду ебашить, сначала 10 страниц питона, потом 10 страниц отсюда.
Там конечный смысл не в сравнении веса с какими-то числами, а в том, что ty <= sqrt(t), т.е. t <= 1/y^2.
Вернись в начало параграфа, там как раз написано, что количество итераций ограниченно этим самым числом.
Перцептрон может обучиться за конечное число шагов, т.е. за конечный промежуток времени.
>>788993
Теорема состоит в том, чтобы показать, что это самое число шагов ограничено каким-то конкретным числом, а не бесконечностью или неопределенностью какой-нибудь.
Пока матан на первом курсе универа не пройдешь - лучше не лезь во все эти доказательства.
>что это самое число шагов ограничено каким-то конкретным числом
Да это я понял.
Нет, не понял конечное число из 1/y^2 - это какое?
Гамма - это не просто расстояние между гиперплоскостями, а это расстояние между классами (margin гугли, об этом упоминалось в твоей книге), которые перцептрон должен разделять.
Понятно, что если это расстояние 0 - то перцептрон будет обучаться бесконечно, и так и не сможет различать классы в пространстве, потому что между ними нет границы.
Ну и дальше сам додумывай.
Может посоветуете школьнику самые основы методов оптимизации? Какой-нибудь лайтовые лекции или конспекты. У самого пусто.
Серьёздно. Кун(тян?) уже неделю заёбывает тупыми вопросами, но ему хватает упорства продолжать.
Хуй знает, я ничего отдельного не читал, но нарыл вот такую штуку:
http://rutracker.org/forum/viewtopic.php?t=4650397
На днях тоже полистаю.
> Первое издание - 1986 г.
Вангую. Устарело как содержание, так и методология.
Вот что нагуглил. Парвая лекция должна составить общее представление.
http://www.machinelearning.ru/wiki/index.php?title=Момо
Вот эта годная. Боюсь, что малыш не потянет.
http://stanford.edu/~boyd/cvxbook/
А может объяснения и не надо понимать? Ну запомнил, что число итераций ограничено и все? Или это выйдет мне сильно боком потом?
По сути, я понял, что мне надо понять неравенство Коши-Буняковского.
>>789019
>мне надо понять неравенство Коши-Буняковского.
Пиздец, ты не там ищешь "глубинный" смысл.
бамп вопрос
Но ведь оно доказывает, что весы через некоторое количество обновлений = > ty
Иначе я не могу понять, как из неравенства получается так, что число деленное на другое в квадрате будет равно чему-то, а не стремиться к бесконечности, например.
>число деленное на другое в квадрате будет равно чему-то, а не стремиться к бесконечности
С чего бы это?
Охуенная у тебя каша в голове. Гугли пределы и сходимость.
А лучше в универ сходи, тебе там все по-порядку разложат.
Я на 2 курс шараги перехожу.
Да могу и на английском читать, но придется напрягаться.
Как нам препод говорил, в пту учат ремесленников, в универе инженеров. Учишься ремесленником - значит твоя задача не думать, а делать по технологии, оттачивать мастерство. Учишься на инженера - нужно разбираться в куче различных областей, иногда даже напрямую не связанных с основным направлением.
Но у меня илитная шарага, МГИМО, прикладная информатика, лол, самый глупый выбор в жизни.
> Как нам препод говорил
Открою секрет - каста преподов - это хуже червей-пидоров, проткнутых и опущеных.
В универчик идут работать преподами самые днища, которые никуда больше приткнуться не могут. Зато там они могут читать 1 час 45 минут хуиту с книжки и требовать ее записывать.
Ну ты понел.
Ага, и к ним посылают новоприбывших за знаниями, которые необходимы в ML.
На зоне тоже к петухам сразу будешь посылать?
Публикации/конференции/патенты ты в зп тоже не считаешь? В хорошей лабе хорошие зарплаты.
Так и у них у многих еще какие-то основные или же наоборот второстепенные работы есть. У кого-то вообще собственные фирмы есть, связанные с тем направлением, на которое они учат. По крайней мере у нас так.
Лол, а шо, за патенты платят?
А публикации - это уровня "я написал книжку, кто из студентов не купит - будет иметь проблемы на экзамене?".
Да вычислений чуть больше и пускай. Принципиальный момент это сами батчи, а не просто случайный вектор выборки и регуляризатор.
Воронцовские лекции в разное время. Для начала пройди курс на курсере.
То-есть с каждым обновлением весов расстояние уменьшается1/y^2 и t просто перестает существовать?
Но как выходит так, что, например, у нас веса обновились 10 раз, расстояние сошлось.
Как 10 может быть меньше или равно тому маленькому числу? С чем это связано?
>>789136
Я не троллю, я реально не понимаю.
гамма-функция?
Но также, веса после 10 итерации не существуют.
Да как так? Я понимаю, что математически это можно обосновать, но логически не понимаю.
Да просто были сомнения что суммировать, тельту ошибки или dW. Если бы дельту ошибки, то появился бы вопрос, а как именно. Еще немного сбило с толку, что было написано, что батчами вычислять быстрее(но в другом месте было уточнение, что только в параллельных вычислениях)
Аноны, так с чем это связано? Как так выходит, что количество итераций обращается в ноль, хотя до этого росло?
https://www.youtube.com/watch?v=V1eYniJ0Rnk
Гугли (Deep) Reinforcement Learning. на udacity есть такой курс.
Вот этот >>78845 защекан слышал где-то про алгоритм A* (поиск пути), но почему-то пропустил хайп 2 летней давности вокруг DeepMind
мамка твоя ищет
Полноценные лекции, которые он читал в Стэнфорде:
https://www.youtube.com/playlist?list=PLA89DCFA6ADACE599
Конспекты лекций и прочие материалы:
http://cs229.stanford.edu/materials.html
Хотя написать перцептрон уже могу и понимаю, зачем и как нужны массивы в нем.
Не съебу, ни за что, я смогу и в нейроночки и в питона и в матан и в английский.
>начал читать эту вашу "Unlocked Python"
потому что скорее всего там математическая муть без практики
Нет, там именно код дается, только все в очень странной форме, концепция не объяснена и написано косноязычно немного.
Но оно уже и не особо нужно, я уже написал перцептрон.
Да нет, все нормально.
Просто надо по другому пути Питона изучать, эта отдельная хуйня, где говорится, что и как можно делать с разными вещами совсем не формирует общую картину и даже не запоминается никак.
И кстати, в реализации простого перцептрона не надо импортировать целый класс pcn, достаточно только pcntrain переписать же.
Просто в целом коде PyCharm находит ошибку
Чтобы понять, как простейшую нейроночку писать, а потом приняться за сложные сети.
Да и по учебнику так идет же.
Смотри сюда, ёбана.
Есть граф.
Есть вершины.
Есть рёбра.
Вершины - случайные величины.
Рёбра - описывает условные зависимости между вершинами.
То есть эта хуита позволяет добавлять структуру в данные (учитывать пространственную структуру изображений, вводить гладкие приоры в задачи предсказания и интерполяции, учитывать зависимость между симпотами болезней).
Смотри лекции Воронцова кароч, а потом читай Бишопа с Мёрфи, у них там по несколько глав про сабж. Охуительная тема.
Его код нихуя не работает.
Он говорит import pcn_logic_eg
Окай, вот файл с названием https://seat.massey.ac.nz/personal/s.r.marsland/Code/Ch3/pcn_logic_eg.py
в 47 строке ошибка.
Он не мог проверить, работает его код или нет, блядь?
И всё это представимо в виде массивов. Анончик выше не пиздел.
А похуй, суть в скобках в print
Это настоящее ML.
Кратко не опишу, но кароч хуячим аппроксимации апостериорного распределения.
Было предложение поработать c tensorflow для начала за сотню баксов в неделю, после того как я вкачусь в ml, но вкатится не хватило знаний и времени, ибо в ml вообще ноль.
Предложение было действительно интересным и работодатель был из штатов, если бы получилось был бы очень хороший опыт + строчка в резюме.
Вы видите копию треда, сохраненную 27 июля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.