Найти тему
Вечный джун

Машинное обучение за 3 месяца(ну или не совсем) 5 неделя

Оглавление
0 неделя, 1 неделя, 2 неделя, 3 неделя, 4 неделя, 5 неделя, 6 неделя ...

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

Для начала я бы хотел уделить особое внимание предложенному плейлисту «Python для Data Science». В нём довольно кратко и ёмко рассматриваются основные задачи с которыми скорее всего столкнётся каждый датасаентист. Помимо рассмотрения самих задач там объясняется и то, как примерно та или иная задача будет решаться.

- Почему примерно если там рассматриваются конкретные задачи и дают конкретное решение?
- Потому, что это решение объясняет то, как это решение работает изнутри и полезно по началу только пониманием того, как в общем всё работает, да и навряд ли кто-то будет описывать каждый нейрон и обратное распространение ошибки когда есть Keras, CatBoost и другие.
- А как же скорость работы? Ведь если расписать всё вручную, то мы получим гораздо большую скорость работы нежели работая через библиотеки.
- Да, если мы напишет и нейроны и градиент и остальное сами, то код скорее всего будет работать куда быстрее нежели через библиотеки, но не будем забывать, что мы работаем с Python у которого есть замечательная особенность «динамическая типизация» которая заведомо уменьшает скорость работы и поэтому если скорость работы критична, то используют плюсы(С++) или чистый Си(С) и уже на нём пишут всё с нуля 

Перейдём наконец к самим алгоритмам 

Метод опорных векторовили Support Vector Machine или SVM

Данный алгоритм создаёт линию(грубо говоря) которая разделяет данные на классы. Основная задача этой линии это максимизировать расстояние между ближайшими к линии точками(опорными векторами) и самой «линией». Для более подробного изучения особенностей. Для самостоятельного изучения мат. части данной темы.

Градиентный спуск или Gradient Descent

-2

По сути представляет из себя то, благодаря чему модель обучается. Для более подробного самостоятельного изучения в том числе и мат. части.

Логистическая регрессия или Logistic Regression

-3

По сути разделяет линейной границей пространство на 2 области соответствующие классам. Для самостоятельного изучения темы.

Метод k-средних или K-Means Clustering

-4

Разбиение данных на k кластеров. Для самостоятельного изучения.

Случайные леса или Random Forests

-5

Леса(как и деревья) - одна из основных причин почему про машинное обучение говорят «это же просто if».

-6

Для самостоятельного изучения. Советую так же ознакомиться с тем как деревья определяют по какому параметру надо разделять использую энтропию.

Модель Гауссовой смеси или Gaussian Mixture Model или GMM

-7

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

Наконец плавно перейдём к теме нейросетей

Перцептрон

-8

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

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

Для примерного понимания принципа работы перцептрона подойдёт это.

Искусственная нейронная сеть или ИНС или Neural Network

-9

Общее обозначение нейросетей. Для понимания примерных принципов работы подойдёт эта статья, но мне кажется, что этот «игрушечный» пример из статьи можно было бы решить обычным деревом)

Свёрточные нейронные сети или СНС или Convolutional Neural Network

-10

Одна из разновидностей нейронных сетей, самая популярная в такой области как «Компьютерное зрение». Для более подробного понимания довольно хорошо подойдут эта и/или эта статья.

Генеративная сеть или Generative Models

-11

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

-12

И опять таки для более лучшего понимания концепции существует статья.

Сети долгой кратко-срочной памяти или LSTM network

-13

Нейросеть появившаяся достаточно недавно(1997) и помогающая «создать» краткосрочную память. Статейка объясняющая что да как для любознательных.

Обучение с подкреплением или Deep Q Learning

-14

Используется в алгоритмах играющих в игры, на мой взгляд в данный момент довольно недооценённая область. Для общего понимания принципа работы подойдёт эта статья.

Генетический алгоритм или Genetic Algorithm

-15

Довольно сложный и интересный эволюционный алгоритм. Статья объясняющая принцип его работы простыми словами.

Ну и квантовый алгоритм

Пока это теоретический алгоритм машинного обучения для квантового суперкомпьютера, но ведь когда-то и машинное обучение было только на бумаге, а теперь оно есть на каждой маломальской картошке)

-16

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

И под конец хотелось бы посоветовать ёмкий плейлист по библиотеке TensorFlow.