ISBN :
Возрастное ограничение : 16
Дата обновления : 17.01.2024
.
Из образовавшихся n главных компонент выбирают первые k, которые обеспечивают минимальные потери данных, так, что теряются минимальные отклонения в данных (variation). Вообще говоря, это означает, что данные можно восстановить с ошибкой не меньшей, чем указанные потери.
Другими словами, можно сократить матрицу V, уменьшив тем самым число ортогональных проекций вектора x. Обозначим сокращенную матрицу Vreduced. Затем можно умножить сокращенную матрицу на транспонированную матрицу X:
Z= Vreduced*X.T.
Так мы получим новую матрицу Z, содержащую проекции X на сокращенный набор измерений. Тем самым часть измерений будет потеряна, размерность новой матрицы Z будет меньше X, однако при этом можно отбрасывать малозначимые проекции, вдоль которых значения x
меняются незначительно.
Рассмотрим простой пример преобразования двумерного набора данных в одномерный. На рисунке 2.15a слева показан синтетический набор данных, где каждая из 200 точек является объектом в пространстве двух признаков. Набор получен командой:
X = np.dot(np.random.random(size=(2, 2)), np.random.normal(size=(2, 200))).T
Рассчитаем ковариационную матрицу, собственное число и матрицу собственных векторов командами:
S=(1/X.shape[1])*np.dot(X.T,X) #covariance matrix
w, v = np.linalg.eigh(S)
Используя первый или второй вектор матрицы v, мы можем получить два набора взаимно ортогональных значений – z и zz:
vreduced=v[:,1]
vreduced1=v[:,0]
z=np.dot(vreduced,X.T)
zz=np.dot(vreduced1,X.T)
Видно, что дисперсия распределения объектов вдоль горизонтальной оси значительно больше, чем вдоль вертикальной (рисунок 2.15b). Фактически объекты, расположенные на горизонтальной и вертикальной осях, и являются одномерным представлением исходного набора. Видно, что, исключая вертикальную ось (рисунок 2.15b) полностью (вторая главная компонента), мы теряем относительно небольшое количество информации.
Заметим, что объекты можно вновь неточно восстановить в пространстве двух признаков, выполнив обратное преобразование:
Xa= Vreduced*Z.
Однако информацию, относящуюся ко второй главной компоненте, мы, конечно, потеряем (рисунок 2.15с).
a) Исходный набор данных, где каждый объект имеет два свойства
b) Отображение объектов на взаимно перпендикулярные оси (первую и вторую главную компоненты)
с) Восстановление объектов в двумерном пространстве признаков. Исходное распределение объектов показано полупрозрачными точками
Рисунок 2.15. Преобразование данных при применении PCA
На первый взгляд (рисунок 2.15с) может показаться, что задача PCA является задачей линейной регрессии, однако это не совсем так. Отличие в том, что в задаче линейной регрессии среднеквадратическое расстояние определяется вдоль оси y (оси меток), а в PCA – перпендикулярно главной компоненте (рисунок 2.16).
Рисунок 2.16. Представление задач линейной регрессии (слева) и PCA (справа)
Примечание. Полный текст программы расчета главных компонент приведен в MLF_PCA_numpy_001.ipynb – https://www.dropbox.com/s/65y1z7svf7epx1q/MLF_PCA_numpy_001.html?dl=0 (https://www.dropbox.com/s/65y1z7svf7epx1q/MLF_PCA_numpy_001.html?dl=0)
Библиотека scikit-learn имеет в своем составе модуль PCA, с помощью которого можно вычислить главные компоненты и найти количество главных компонент, необходимых для обеспечения заданной вариативности новых параметров z.
Примечание. Закрепить навыки работы с PCA в составе библиотеки scikit-learn можно, выполнив задания лабораторной работы ML_lab08_Principal Component Analysis – https://www.dropbox.com/sh/xnjiztxoxpqwos3/AADoUPfNeMnEXapbqb3JHHvla?dl=0 (https://www.dropbox.com/sh/xnjiztxoxpqwos3/AADoUPfNeMnEXapbqb3JHHvla?dl=0)
2.14. Контрольные вопросы
Какие параметры регулируют работу алгоритма k-NN и позволяют улучшить качество классификации?
Что такое ядро в алгоритме опорных векторов?
Приведите выражение функции стоимости алгоритма опорных векторов.
Как обучается алгоритм Na?ve Bayes?
Укажите достоинства алгоритма Na?ve Bayes.
Укажите недостатки алгоритма Na?ve Bayes.
Что дает сглаживание по Лапласу в алгоритме Na?ve Bayes?
Чем помогает применение логарифмов в алгоритме Na?ve Bayes?
Что такое бустинг?
В чем заключается преимущество бустинга над деревьями решений?
Что такое PCA?
Каково минимальное количество главных компонент, получаемых с помощью PCA?
3. Оценка качества методов ML
Для решения конкретной задачи с помощью ML необходимо выбрать соответствующий метод, который дает наилучший результат.
Примечание. Под методом машинного обучения мы понимаем в данном случае реализацию алгоритма или некоторой модели вычислений, которая решает задачу классификации, регрессии или кластеризации.
Для выбора такого метода требуются некоторые показатели, позволяющие оценить методы ML и сравнить их между собой.
Примечание. Программу, которая реализует большую часть примеров данного раздела, можно получить по ссылке – https://www.dropbox.com/s/nc1qx6tjw11t5gs/MLF_Evaluation001.ipynb?dl=0 (https://www.dropbox.com/s/nc1qx6tjw11t5gs/MLF_Evaluation001.ipynb?dl=0)
При этом, как правило, на начальном этапе отбираются методы, удовлетворяющие ограничениям по вычислительной мощности, объему и характеристикам данных, которые есть в распоряжении специалиста по обработке данных. Например, методы глубокого обучения, решающие сложные задачи машинного обучения с высокой точностью, можно использовать, если в распоряжении исследователя имеются большие по объему данные и значительные вычислительные мощности. С другой стороны, если количество примеров меньше числа свойств, то затруднено применение машин опорных векторов (SVM), поскольку они подвержены в таком случае переобучению. Таким образом, отобрав некоторое множество методов для решения задачи и изменяя их параметры (например, коэффициент регуляризации, число слоев нейронных сетей и т.п.), необходимо оценивать результаты их работы, используя один или несколько показателей.
Примечание. Рекомендуется выбрать одну, возможно, интегральную метрику для оценки качества.
К числу таких показателей можно отнести метрики качества, кривые оценки качества, способность к обучению и скорость обучения и решения задачи.
В общем случае метрики оценки качества зависят от предметной области и цели, поставленной перед системой ML, и могут задаваться исследователем. Например, для поисковых машин, выполняющих поиск информации в интернете, это может быть удовлетворенность пользователей (user satisfaction) в результатах поиска, для систем электронной коммерции – доход (amount of revenue), для медицинских систем – выживаемость пациентов (patient survival rates) и т.п. Однако есть некоторый базовый набор метрик, которые применяются достаточно часто при оценке качества алгоритмов классификации, регрессии и кластеризации.
Назначение метрик качества – дать оценку, показывающую, насколько классификация или предсказание, выполненное с применением методов ML, отличается от таковой, выполненной экспертами или другим алгоритмом. При этом часто применяют простейшую метрику – процент (доля) правильно классифицированных примеров. Для оценки ошибок первого и второго рода применяют также еще несколько важных показателей: «точность» (precision), «полноту» (recall), и обобщающие показатели – меры F1 и F (F1 score и F-score).
Примечание. Напомним, что ошибкой первого рода называется ошибка, состоящая в опровержении верной гипотезы, а ошибкой второго рода называется ошибка, состоящая в принятии ложной гипотезы.
Их применение особенно важно в случае неравных по объему классов, когда количество объектов одного типа значительно превосходит количество объектов другого типа. Часто упоминаемый перечень метрик оценки классификаторов, следующий:
Accuracy
Precision
Recall
F1 score
F-score
Area Under the Curve (AUC)
Кроме этого, на практике часто применяются специальные кривые:
1. Precision-Recall curve
2. ROC curve
Кроме метрик оценки качества важным показателем применяемого метода ML является его способность обучаться, то есть улучшать свои показатели точности при увеличении числа примеров. Может оказаться, что метод, который показывает очень хорошие результаты на тренировочном множестве примеров, дает неудовлетворительный результат на тестовом множестве, то есть не обладает нужной степенью обобщения. Баланс между способностью обобщения и точностью может быть найден с помощью «кривых обучаемости», которые в общем случае могут показать, способен ли тот или иной метод улучшать свой результат так, чтобы показатели качества как на тренировочном, так и на тестовом множестве были примерно равны и удовлетворяли требованиям предметной области исследования.
Третий показатель, который становится особенно важным в задачах с большим объемом данных, – скорость обучения и классификации. Методы ускорения работы алгоритмов ML в задачах с большими данными рассматриваются в разделе «Машинное обучение в задачах с большим объемом данных».
3.1. Метрики оценки качества классификации
Все книги на сайте предоставены для ознакомления и защищены авторским правом