Эндрю Нг Машинное обучение: алгоритмы обучения без учителя
мир запада 2 сезонЭто седьмой эпизод, и краткое содержание курса также является седьмым разом. о насконтролируемое обучениеКурс подошел к концу, на этот раз Нг познакомит нас с двумя очень часто используемыминеконтролируемое обучениеалгоритм. Один из них — разделить данные на разные категории.k-meansАлгоритм, который используется для извлечения важных функций и уменьшения размера функций.PCAалгоритм.
нажмитеВидео курсаВы сможете изучать курсы Нг без перерыва, код Python для курсовой работы выложен на Github, нажмитекод курсаВы можете перейти на Github для просмотра (если у вас нет доступа к Github, вы можете нажатьCodingПроверьте ), ошибки и улучшения в коде приветствуются.
Вот заметки с седьмой недели курса машинного обучения Нг.
кластеризация
Мы часто классифицируем вещи, объединяя вещи со схожими характеристиками в одну категорию. инеконтролируемое обучениеКластеризация — это именно то, что вы хотите, чтобы компьютер выполнял работу. Выражение на математическом языке состоит в том, чтобы взять данные каждого признака
Икс
(
я
)
"роль="презентация">Назначенкластер
c
(
i
)
" role="presentation">
середина. Давайте взглянем на задачу кластеризации в курсовой работе, чтобы получить интуицию. (На рисунке ниже данные разделены на три кластера)
функция стоимости
Предположим, вы хотите разделить данные на
к" роль="презентация">Кусоккластер, выбранные центры
мю
1
,
мю
2
,
.
.
.
,
мю
к
"роль="презентация">
. Наша функция стоимости заключается в минимизации суммы расстояний между каждым объектом и центром кластера, которому он назначен (интуитивно, точками, которые находятся близко друг к другу).
Как можно видетьфункция стоимостизависит с одной стороны
Икс
(
я
)
"роль="презентация">распределение зависит откластеррасположение центра.
k-means
Давайте сначала посмотрим наk-meansалгоритм, а затем объяснить, как он оптимизируетсяфункция стоимостииз.
случайный выбор к" роль="презентация">
Кусоккластерцентр мю 1 , мю 2 , . . . , мю к "роль="презентация">
Повторяйте следующие шаги до сходимости:
- для каждого Икс ( я ) "роль="презентация">
,рассчитать с ( я ) "роль="презентация">
( Икс ( я ) "роль="презентация">
расстояние j" роль="презентация">
Центры кластеров находятся ближе всего, тогда с ( я ) знак равно j" роль="презентация">
)
- возобновить мю к "роль="презентация">
( новый мю к "роль="презентация">
удовлетворить всех с ( я ) знак равно к" роль="презентация">
из Икс ( я ) "роль="презентация">
центр)
для шагов
1" роль="презентация">Например, мы исправили
мю
1
,
мю
2
,
.
.
.
,
мю
к
"роль="презентация">
, и для каждого
Икс
(
я
)
"роль="презентация">
выбран ближайшийкластер, что делаетфункция стоимостиснижаться. для шагов
2" роль="презентация">
, мы исправили
с
(
1
)
,
с
(
2
)
,
.
.
.
,
с
(
м
)
"роль="презентация">
, и воля
мю
к
"роль="презентация">
перемещены в центр каждой категории, что также делаетфункция стоимостиснижаться. Так что, продолжая зацикливать этот процесс, мы получим оптимальное решение (и, возможно, локальный оптимум).
Похожие вопросы
k-meansАлгоритм прост для понимания.Напоследок поговорим об инициализации центра кластера и
к" роль="презентация">проблема выбора. Для инициализации центра кластера он обычно выбирается случайным образом.
к" роль="презентация">
данные в качестве центра, выберите, скажем, 100 раз и рассчитайтефункция стоимостизначение, выберите наименьшее из результатов.
за
к" роль="презентация">выбор, с одной стороны, можно использоватьПравило локтя, принцип такойфункция стоимостисначала будет следовать
к" роль="презентация">
быстро увеличивается, но медленно уменьшается после определенного значения, мы выбираем эту точку
к" роль="презентация">
ценность. С другой стороны, мы можем выбрать в соответствии с потребностями нашего бизнеса.
к" роль="презентация">
(Бизнес заключается в необходимости разделить на
к" роль="презентация">
случае класса).
Снижение размерности
В машинном обучении уменьшение размерности признаков может принести нам много преимуществ. Во-первых, уменьшение размерности признаков может повысить эффективность обучения. Во-вторых, уменьшение размерности позволяет нам сосредоточить внимание на важных функциях. Затем в качестве метода сжатия данных можно также использовать уменьшение размерности. Алгоритм уменьшения размерности, который мы здесь изучим, называетсяАнализ главных компонентов(PCA).
Ковариация
В статистике,КовариацияПоказывает корреляцию между двумя наборами данных (когда данные одинаковы,дисперсия). чтобы понятьКовариацияСвязь с алгоритмом уменьшения размерности, давайте сначала рассмотрим простой двумерный случай. Предположим, что наши данные имеют две особенности (рис. ), и сделалистандартизация. Красные точки данных показывают очевидную априорную связь в этой системе координат (КовариацияБольшой ).
Зависит отЛинейная алгебразнание может быть известно, мы можем использовать различныебаза( Особенности ) для представления этих данных, как показано в зеленых и синих координатах. Интуитивно было бы более уместно спроецировать данные на более длинные синие координаты для уменьшения размерности. На самом деле, это также делаетКовариацияминимальный вариант,КовариацияМинимизация сводит к минимуму взаимосвязь между каждым признаком и другими признаками, так что каждый признак выражается независимо, а уменьшение размерности заключается в выборе вкладов из (дисперсия) являются относительно большими функциями. для данных
X" роль="презентация">( здесь
X" роль="презентация">
В отличие от курсовой работы, где каждый столбец представляет часть данных),КовариацияЭто может быть выражено какковариационная матрица.
ковариационная матрицаЭлементы по диагонали — это данные по каждому признаку.дисперсия, остальные находятся между функциямиКовариация. Таким образом, цель уменьшения размерности состоит в том, чтобы найти базисное преобразование, которое позволяетковариационная матрицаКроме значения по диагонали остальные максимально маленькие. Однако в последующем обсуждении мы увидим, что можем найти множествобазасделать преобразованныйКовариацияВсе равны 0, кроме значений по диагонали.
SVD
Предположим, наши данные
X" роль="презентация">Сопоставляется базовым преобразованием
Y" роль="презентация">
,
Д
знак равно
п
X" роль="презентация">
,
Y" роль="презентация">
изКовариация
D" role="presentation">
за:
Здесь мы видим, что можем использоватьдиагонализация матрицыспособ получить
D" роль="презентация">, то есть существует единичный ортогональный собственный вектор
E" роль="презентация">
, так что
Е
Т
С
Е
знак равно
Λ" роль="презентация">
,в
Λ" роль="презентация">
задиагональная матрица. Таким образом, основа
п
знак равно
Е
Т
"роль="презентация">
,и
Λ" роль="презентация">
Элементы в противоположных углах представляют размер вклада каждой функции. Однако мы также можемразложение матрицыХитрость, чтобы решить эту проблему, используйтеSVDДля разложения матрицы имеем
Икс
знак равно
U
Σ
В
Т
"роль="презентация">
, которое можно получить путем вывода:
Таким образом, вы можете взять
п
знак равно
U
Т
"роль="презентация">,и
Д
знак равно
1
м
Σ
2
"роль="презентация">
. Для уменьшения размерности просто возьмите
D" роль="презентация">
Соответствующие признаки с относительно высокой долейбаза, это,
Р" роль="презентация">
часть
п
'
"роль="презентация">
, соответствующие данные также стали
Д
'
"роль="презентация">
. Для восстановления данных его можно получить простым выводом
Икс
восстановить
сложный
знак равно
п
'
Т
Д
'
"роль="презентация">
.
Внеклассное чтение
оPCA, я думаю, что есть две статьи, которые очень полезны для меня, и я поделюсь ими с вами здесь:Математические принципы PCA,Разговор о SVD-разложении матриц.
Итак~, на седьмой неделе все, спасибо за терпение.
hertzcat
2018-06-05