?

Log in

Previous Entry | Next Entry

ML (Azure) terminology & basics.

Начнем с определения feature (признака) объекта. Собственно, признак это просто некоторая функция объекта, как например, R(p) - красная составляющая цвета объекта пиксель, рост и возраст - признаки человека, участвующего в исследовании, размер есть признак стихотворения и т.д. Как правило, собирают несколько признаков и оформляют их в матрицу признаков. Собранные признаки, которые дополнены значениями для каждого объекта, называются обучающей выборкой (datasets в MAML). Например, имя автора может быть значением в выборке из размера стихотворения, вида рифмы и жанра, характеристика того, является ли пиксель "переломной точкой" может быть значением в выборке из трех составляющих его цвета и т.д. Однако принадлежность к определенному классу часто не есть единственная характеристика объекта. Часто рассматривают выборки, где характериской объекта является некоторая вещественная величина. В этом случае говорят о задаче регрессии. В случае, если характеристикой объекта является конечная (возможно большая) величина, говорят о задаче ранжирования. Вообще, различает 4 основные задачи машинного обучения:
Следующие задачи относят к классу обучения с учителем (supervised learning):

  • classification

  • regression

К классу обучения без учителя (unsupervised learning) относят:

  • clustering (ranking?)

  • anomaly detection

MAML_tasks
Задача кластеризации (clustering) состоит в нахождении похожих групп на тестовой выборке (training data) с последующим делением выборки на подгруппы по найденному принципу сходства. Amazon.com, например, использует алгоритмы этой категории для разбиения пользователей на группы по социальной информации. Каждый новый пользователь этого сайта заносится в группу, в которой зарегестрированы пользователи, похожие на него по социальным параметрам. В дальнейшем это используется для выдачи рекомендаций. MAML использует для кластеризации алгоритм K-средних.

Классическим примером задачи классификации является задача цветков ириса (Фишер, 1936). Её решение строится на гипотезе компактности, которая состоит в том, предпологается, что похожие объекты, как правило, принадлежат одному и тому же классу. Для случая ирисов тем самым предпологается, что эта задача решаема, т.е. самой природой созданы разные виды этих цветов, которые можно отделить друг от друга. Другое дело, что с точки зрения теории машинного обучения признаки, по которым разделены виды, уже отобраны для нас биологом. Формально мы не можем знать, какой именно признак являеся разделяющим: в экпсперименте Фишера даны значения длины и ширины лепестка (petal) и чашелистика (sepal), но с таким же успехом можно было бы пытаться разделить виды по, например, длине стебля или окраске цветка. Выявление разделяющих признаков само по себе является задачей, которую необходимо решить еще до начала работы процесса классификации. В данном случае Фишер просто воспользовался услугами ботаника (Э. Андерсона), который предварительно уже назвал именно длину и ширину лепестка и чашелистика в качестве разделяющих признаков. В любом случае, сказав ему спасибо, мы займемся дальше только классификацией по уже отобранным разделяющим признакам.
Мы применим метод k-средних для задачи кластеризации ирисов Фишера, заметив предварительно, что сам метод был предложен галицким математиком, который в свое время был научным руководитем Банаха, - Гуго Штейгаузом. Обучающую выборку можно найти в известном репозитории UCI и, конечно, она доступна среди готовых наборов MAML Studio. Хотя оригинальная выборка Фишера дается для  3 классов цветков и на 150 объектах, MAML предоставляет выборку только для 2-х классов и 100 объектов. В формате ARFF ее начало выглядит так:
@RELATION Unnamed
@ATTRIBUTE Class NUMERIC
@ATTRIBUTE sepal-length NUMERIC
@ATTRIBUTE sepal-width NUMERIC
@ATTRIBUTE petal-length NUMERIC
@ATTRIBUTE petal-width NUMERIC
@DATA
1,6.3,2.9,5.6,1.8
0,4.8,3.4,1.6,0.2
1,7.2,3.2,6,1.8

До начала работы, алгоритм k-средних каким-либо образом выбирает k центров кластеров (centroids) среди объектов выборки наблюдений. Способ выбора этих центров имеет очень важное значение для эффективной работы алгоритма, и существует несколько методов их выбора, например k-means++, k-means++ fast и проч.
Когда центры кластеров выбраны, работа алгоритма состоит из двух чередующихся шагов.
Assignment step: применить диаграмму Вороного для имеющихся центров кластеров, т.е. разбить выборку наблюдений на k непересекающихся кластеров так, что расстояние от центра кластера до всех его точек будет меньше расстояния от любой из них до центра другого кластера.
Update step: вычислить новые центры кластеров как центры их масс, пытаясь минимизировать расстояние от каждого центра до всех точек его кластера.
Действие алгоритма прекращается, если после второго шага центры кластеров не изменились.

Построим MAML эксперимент с ирисами Фишера для 2-к кластеров:

Iris_1

Если модуль K-Means Clustering включен в эксперимент, он возвращает кластеризационную модель, которая может служить входным параметром для Train Clustering Model.
После запуска эксперимента визуализация полученного результата дает такое расположение кластеров:
Iris_Clusters_Results
А вот пример решения подобных задач на основе линейного классификатора с параметром:
MAML_linear_classificator
Классификаторы интерпретируются очень просто: +1 на выходе понимается как принадлежность к классу, -1 как не принадлежность. Интерпретация операторов регрессии тривиальна.