*МО - это такая кроличья нора: даже что-то научившись делать, не факт, что всегда сможешь повторить, даже узнав что-то важное, завтра обнаружишь, что гораздо больше важного ты ещё не знаешь, поэтому падать в неё можно всю жизнь*
Машинное обучение (machine learning, ML) - класс методов ИИ, характерной чертой которых является не прямое решение задачи, а обучение за счёт применения решений множества сходных задач (см.выше п.1).
Соответственно, иску́сственный интелле́кт (artificial intelligence, AI) - свойство искусственных интеллектуальных систем выполнять творческие и аналитические функции, которые традиционно считались прерогативой человека. Джон Маккарти указывает: «Проблема состоит в том, что пока мы не можем в целом определить, какие вычислительные процедуры мы хотим называть интеллектуальными. Мы понимаем некоторые механизмы интеллекта и не понимаем остальные. Поэтому под интеллектом в пределах этой науки понимается только вычислительная составляющая способности достигать целей в мире». В то же время существует и точка зрения, согласно которой интеллект может быть только биологическим феноменом, может, поэтому и решили искать прототипы в живом мире.
Сначала по принципу нейронов в человеческом мозге, а недавно и вовсе по принципу нервной системы почвенной нематоды Caenorhabditis elegans, у которой одна из самых простых нервных систем, включающую всего 302 нейрона. Несмотря на такую простую нервную систему, червь способен принимать несколько типов информации и принимать сложные решения. По крайней мере, так считают некоторые учёные.
Процедуру, с помощью которой можно будет определить момент, когда машина сравняется в плане разумности с человеком, получившую название теста Тьюринга, предложил собственно Алан Тьюринг в 1950г., о чём я писала ранее.
Машинное обучение (ML) — это использование математических моделей данных, которые помогают компьютеру обучаться без непосредственных инструкций.
При машинном обучении с помощью алгоритмов выявляются закономерности в данных. На основе этих закономерностей создается модель данных для прогнозирования.
Классические подходы и задачи МО - классификация, кластеризация и регрессия. Последняя используется для прогнозирования, первые две для аналитики. Первая и вторая задача отличаются тем, что в первом случае мы знаем классы (обучение с учителем - supervised), во втором заранее неизвестны, задача состоит в определении кластеров (обучение без учителя -unsupervised).
Типы входных данных:
- признаковое описание объектов или матрица объекты-признаки,
- матрица расстояний, когда каждый объект описывается расстояниями до остальных, например, отношениями попарного сходства,
- временной ряд как последовательность измерений во времени в виде числа, вектора,
- изображение или видеоряд,
- обычный текст при обработке естественного языка.
Методы и модели МО
12 реализованы в Sklearn – основная ML библиотека.
1) Линейные *
Модель в машинном обучении – это математическая функция, которая (в контексте задачи регрессии) получает на вход значения наблюдаемых переменных, преобразует их, комбинирует и выдаёт значение целевой переменной. Линейная модель – модель, которая выражается линейной функцией.
2) Метрические *
Во многих прикладных задачах измерять степень сходства объектов существенно проще, чем формировать признаковые описания. Например, такие сложные объекты, как фотографии лиц, подписи, временные ряды или первичные структуры белков естественнее сравнивать непосредственно друг с другом путём некоторого «наложения с выравниванием», чем изобретать какие-то признаки и сравнивать признаковые описания.
Если мера сходства объектов введена достаточно удачно, то, как правило, оказывается, что схожим объектам очень часто соответствуют схожие ответы. В задачах классификации это означает, что классы образуют компактно локализованные подмножества. Это предположение принято называть гипотезой компактности. Для формализации понятия «сходства» вводится функция расстояния в пространстве объектов Х. Методы обучения, основанные на анализе сходства объектов, будем называть метрическими, даже если функция расстояния не удовлетворяет всем аксиомам метрики (в частности, аксиоме треугольника). В англоязычной литературе употребляются термины similarity based learning или distance-based learning.
1. Метод ближайшего соседа (nearestneighbor, NN) и его обобщения
относит классифицируемый объект X к тому классу, к которому принадлежит ближайший обучающий объект. Этот алгоритм является, по всей видимости, самым простым классификатором. Обучение NN сводится к запоминанию выборки X . Единственное достоинство этого алгоритма — простота реализации. Недостатков гораздо больше: неустойчив к выбросам, есть погрешности.
2. Метод парзеновского окна
«Окно» — это сферическая окрестность объекта u радиуса h, при попадании в которую обучающий объект xi «голосует» за отнесение объекта uк классу yi .
3. Метод потенциальных функций имеет прямую физическую аналогию с электрическим потенциалом, обучающие объекты можно понимать как положительные и отрицательные электрические заряды. Эффективен, когда обучающие объекты поступают потоком и хранить их в памяти нет возможности или необходимости.
4. Отбор эталонных объектов
Обычно объекты обучения не являются равноценными. Среди них могут находиться типичные представители классов — эталоны. Если классифицируемый объект близок к эталону, то, скорее всего, он принадлежит тому же классу.
Ещё одна категория объектов — неинформативные или периферийные. Они плотно окружены другими объектами того же класса. Если их удалить из выборки, это практически не отразится на качестве классификации. Наконец, в выборку может попасть некоторое количество шумовых выбросов —объектов, находящихся «в толще» чужого класса. Как правило, их удаление только улучшает качество классификации.
Эти соображения приводят к идее исключить из выборки шумовые и неинформативные объекты, оставив только минимальное достаточное количество эталонов. Этим достигается несколько целей одновременно — повышается качество и устойчивость классификации, сокращается объём хранимых данных и уменьшается время классификации, затрачиваемое на поиск ближайших эталонов. Кроме того, выделение небольшого числа эталонов в каждом классе позволяет понять структуру класса. В первую очередь введём функцию отступа, которая позволит оценивать степень типичности объекта.
3) Деревья решений *
– это универсальные алгоритмы машинного обучения, которые могут выполнять как задачи классификации и регрессии, так и задачи с несколькими выходами. Обучение дерева решений использует дерево решений, чтобы перейти от наблюдений над объектами к заключениям о целевых значениях объектов. Это обучение является одним из подходов моделирования предсказаний, используемых в статистике, интеллектуальном анализе данных и машинном обучении.
4) Ансамблевые методы *
- это методы машинного обучения, которые объединяют несколько базовых моделей, чтобы создать одну оптимальную прогностическую модель. Система на основе ансамбля получается путем объединения различных моделей. В последнее десятилетие ансамбли моделей стали областью очень активных исследований в машинном обучении, что привело к разработке большого числа разнообразных методов формирования ансамблей. Так повышается прогностическая эффективность.
5) Нейронные сети *
Математическая модель, а также её программное или аппаратное воплощение, построенная по принципу организации и функционирования биологических нейронных сетей - сетей нервных клеток живого организма, о чём говорилось выше.
6) Метод опорных векторов *
SVM (support vector machines, SVMs, также support vector networks)
Метод опорных векторов — набор схожих алгоритмов обучения с учителем, использующихся для задач классификации и регрессионного анализа. Основная идея метода — перевод исходных векторов в пространство более высокой размерности и поиск разделяющей гиперплоскости с наибольшим зазором в этом пространстве.
Две параллельных гиперплоскости строятся по обеим сторонам гиперплоскости, разделяющей классы. Разделяющей гиперплоскостью будет гиперплоскость, создающая наибольшее расстояние до двух параллельных гиперплоскостей. Алгоритм основан на допущении, что чем больше разница или расстояние между этими параллельными гиперплоскостями, тем меньше будет средняя ошибка классификатора.
7) Наивный Байес *
- простой вероятностный классификатор, основанный на применении теоремы Байеса со строгими (наивными) предположениями о независимости.
8) Метод главных компонент *
PCA Principal component analysis
Метод главных компонент — один из основных способов уменьшить размерность данных, потеряв наименьшее количество информации. Изобретён Карлом Пирсоном в 1901 году. Вычисление главных компонент может быть сведено к вычислению сингулярного разложения матрицы данных или к вычислению собственных векторов и собственных значений ковариационной матрицы исходных данных.
9) Стохастическое вложение соседей с t-распределением * t-SNE t-distributed stochastic neighbor embedding
Стохастическое вложение соседей с t-распределением — это алгоритм машинного обучения для визуализации, разработанный Лоренсом ван дер Маатеном и Джеффри Хинтоном. Он является техникой нелинейного снижения размерности, хорошо подходящей для вложения данных высокой размерности для визуализации в пространство низкой размерности. В частности, метод моделирует каждый объект высокой размерности двух- или трёхмерной точкой таким образом, что похожие объекты моделируются близко расположенными точками, а непохожие точки моделируются с большой вероятностью точками, далеко друг от друга отстоящими.
10) K-средних *
Метод k-средних — наиболее популярный метод кластеризации, но не очень точный. Был изобретён в 1950-х годах математиком Гуго Штейнгаузом и почти одновременно Стюартом Ллойдом. Он разбивает множество элементов векторного пространства на заранее известное число кластеров k. Действие алгоритма таково, что он стремится минимизировать среднеквадратичное отклонение на точках каждого кластера.
11) Кросс-валидация *
— это методика обучения и оценки модели, которая разбивает данные на несколько секций и обучает несколько алгоритмов на этих секциях. Этот метод повышает надежность модели, удерживая данные вне процесса обучения. Кроме повышения производительности на многих неучитываемых наблюдениях, в средах с ограниченными данными он может быть эффективным инструментом для обучения моделей с меньшим набором данных.
12) Поиск по сетке *
Grid Search
Самый естественный способ организовать перебор наборов гиперпараметров — сделать перебор по сетке (Grid Search):
- для каждого гиперпараметра фиксируется несколько значений;
- перебираются все комбинации значений различных гиперпараметров, на каждой из этих комбинаций модель обучается и тестируется;
- выбирается комбинация, на которой модель показывает лучшее качество.
Random Search - для каждого гиперпараметра задаётся распределение, из которого выбирается его значение, и комбинация гиперпараметров составляется семплированием из этих распределений.
Про подходы к машинном обучении расскажу здесь.
Читайте подробности тут тут тут!
Про пайплайны тут.