Эндрю Нг Машинное обучение: алгоритмы обучения без учителя
мир запада 2 сезонЭто седьмой эпизод, и краткое содержание курса также является седьмым разом. о насконтролируемое обучениеКурс подошел к концу, на этот раз Нг познакомит нас с двумя очень часто используемыминеконтролируемое обучениеалгоритм. Один из них — разделить данные на разные категории.k-meansАлгоритм, который используется для извлечения важных функций и уменьшения размера функций.PCAалгоритм.
нажмитеВидео курсаВы сможете изучать курсы Нг без перерыва, код Python для курсовой работы выложен на Github, нажмитекод курсаВы можете перейти на Github для просмотра (если у вас нет доступа к Github, вы можете нажатьCodingПроверьте ), ошибки и улучшения в коде приветствуются.
Вот заметки с седьмой недели курса машинного обучения Нг.
кластеризация
Мы часто классифицируем вещи, объединяя вещи со схожими характеристиками в одну категорию. инеконтролируемое обучениеКластеризация — это именно то, что вы хотите, чтобы компьютер выполнял работу. Выражение на математическом языке состоит в том, чтобы взять данные каждого признака
Икс
(
я
)
"роль="презентация">Назначенкластер
c
(
i
)
" role="presentation">середина. Давайте взглянем на задачу кластеризации в курсовой работе, чтобы получить интуицию. (На рисунке ниже данные разделены на три кластера)
функция стоимости
Предположим, вы хотите разделить данные на к" роль="презентация">Кусоккластер, выбранные центры мю 1 , мю 2 , . . . , мю к "роль="презентация">. Наша функция стоимости заключается в минимизации суммы расстояний между каждым объектом и центром кластера, которому он назначен (интуитивно, точками, которые находятся близко друг к другу).
Дж ( с ( 1 ) , с ( 2 ) , . . . , с ( м ) ; мю 1 , мю 2 , . . . , мю к ) знак равно 1 м ∑ я знак равно 1 м | | Икс ( я ) − мю с ( я ) | | 2 " роль="презентация">J(c(1),c(2),...,c(m);µ1,µ2,...,µk)=1мм∑i=1||x(i) −µc(i)||2J(c(1),c(2),...,c(m);µ1,µ2,...,µk)=1m∑i=1m||x(i) −µc(i)||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 = 1 m Y Y T = 1 m ( P X ) ( P X ) T = 1 m P X X T P T = P ( 1 m X X T ) P T = P C P T " role="presentation">D=1mYYT=1m(PX)(PX)T=1mPXXTPT=P(1mXXT)PT=PCPTD=1mYYT=1m(PX)(PX)T=1mPXXTPT=P(1mXXT)PT=PCPTЗдесь мы видим, что можем использоватьдиагонализация матрицыспособ получить D" роль="презентация">, то есть существует единичный ортогональный собственный вектор E" роль="презентация">, так что Е Т С Е знак равно Λ" роль="презентация">,в Λ" роль="презентация">задиагональная матрица. Таким образом, основа п знак равно Е Т "роль="презентация">,и Λ" роль="презентация">Элементы в противоположных углах представляют размер вклада каждой функции. Однако мы также можемразложение матрицыХитрость, чтобы решить эту проблему, используйтеSVDДля разложения матрицы имеем Икс знак равно U Σ В Т "роль="презентация">, которое можно получить путем вывода:
Икс Икс Т знак равно ( U Σ В Т ) ( U Σ В Т ) Т знак равно ( U Σ В Т ) ( В Σ U Т ) знак равно U Σ 2 U Т " role="презентация">XXT=(UΣVT)(UΣVT)T=(UΣVT)(VΣUT)=UΣ2UTXXT=(UΣVT)(UΣVT)T=(UΣVT)(VΣUT)=UΣ2UTТаким образом, вы можете взять п знак равно U Т "роль="презентация">,и Д знак равно 1 м Σ 2 "роль="презентация">. Для уменьшения размерности просто возьмите D" роль="презентация">Соответствующие признаки с относительно высокой долейбаза, это, Р" роль="презентация">часть п ' "роль="презентация">, соответствующие данные также стали Д ' "роль="презентация">. Для восстановления данных его можно получить простым выводом Икс восстановить сложный знак равно п ' Т Д ' "роль="презентация">.
Внеклассное чтение
оPCA, я думаю, что есть две статьи, которые очень полезны для меня, и я поделюсь ими с вами здесь:Математические принципы PCA,Разговор о SVD-разложении матриц.
Итак~, на седьмой неделе все, спасибо за терпение.
hertzcat
2018-06-05