Эндрю Нг Машинное обучение: алгоритмы обучения без учителя

машинное обучение Python алгоритм
Эндрю Нг Машинное обучение: алгоритмы обучения без учителя

Эндрю Нг Машинное обучение: алгоритмы обучения без учителя

мир запада 2 сезонЭто седьмой эпизод, и краткое содержание курса также является седьмым разом. о насконтролируемое обучениеКурс подошел к концу, на этот раз Нг познакомит нас с двумя очень часто используемыминеконтролируемое обучениеалгоритм. Один из них — разделить данные на разные категории.k-meansАлгоритм, который используется для извлечения важных функций и уменьшения размера функций.PCAалгоритм.

нажмитеВидео курсаВы сможете изучать курсы Нг без перерыва, код Python для курсовой работы выложен на Github, нажмитекод курсаВы можете перейти на Github для просмотра (если у вас нет доступа к Github, вы можете нажатьCodingПроверьте ), ошибки и улучшения в коде приветствуются.

Вот заметки с седьмой недели курса машинного обучения Нг.

кластеризация

Мы часто классифицируем вещи, объединяя вещи со схожими характеристиками в одну категорию. инеконтролируемое обучениеКластеризация — это именно то, что вы хотите, чтобы компьютер выполнял работу. Выражение на математическом языке состоит в том, чтобы взять данные каждого признака Икс ( я ) "роль="презентация">x^{(i)}Назначенкластер c ( i ) " role="presentation">c^{(i)}середина. Давайте взглянем на задачу кластеризации в курсовой работе, чтобы получить интуицию. (На рисунке ниже данные разделены на три кластера)

функция стоимости

Предположим, вы хотите разделить данные на к" роль="презентация">kКусоккластер, выбранные центры мю 1 , мю 2 , . . . , мю к "роль="презентация">\mu_1,\mu_2,...,\mu_k. Наша функция стоимости заключается в минимизации суммы расстояний между каждым объектом и центром кластера, которому он назначен (интуитивно, точками, которые находятся близко друг к другу).

Дж ( с ( 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

Как можно видетьфункция стоимостизависит с одной стороны Икс ( я ) "роль="презентация">x^{(i)}распределение зависит откластеррасположение центра.

k-means

Давайте сначала посмотрим наk-meansалгоритм, а затем объяснить, как он оптимизируетсяфункция стоимостииз.

случайный выбор к" роль="презентация">kКусоккластерцентр мю 1 , мю 2 , . . . , мю к "роль="презентация">\mu_1,\mu_2,...,\mu_k
Повторяйте следующие шаги до сходимости:

  1. для каждого Икс ( я ) "роль="презентация">x^{(i)},рассчитать с ( я ) "роль="презентация">c^{(i)}( Икс ( я ) "роль="презентация">x^{(i)}расстояние j" роль="презентация">jЦентры кластеров находятся ближе всего, тогда с ( я ) знак равно j" роль="презентация">c^{(i)}=j)
  2. возобновить мю к "роль="презентация">\mu_k( новый мю к "роль="презентация">\mu_kудовлетворить всех с ( я ) знак равно к" роль="презентация">c^{(i)}=kиз Икс ( я ) "роль="презентация">x^{(i)}центр)

для шагов 1" роль="презентация">1Например, мы исправили мю 1 , мю 2 , . . . , мю к "роль="презентация">\mu_1,\mu_2,...,\mu_k, и для каждого Икс ( я ) "роль="презентация">x^{(i)}выбран ближайшийкластер, что делаетфункция стоимостиснижаться. для шагов 2" роль="презентация">2, мы исправили с ( 1 ) , с ( 2 ) , . . . , с ( м ) "роль="презентация">c^{(1)},c^{(2)},...,c^{(m)}, и воля мю к "роль="презентация">\mu_kперемещены в центр каждой категории, что также делаетфункция стоимостиснижаться. Так что, продолжая зацикливать этот процесс, мы получим оптимальное решение (и, возможно, локальный оптимум).

Похожие вопросы

k-meansАлгоритм прост для понимания.Напоследок поговорим об инициализации центра кластера и к" роль="презентация">kпроблема выбора. Для инициализации центра кластера он обычно выбирается случайным образом. к" роль="презентация">kданные в качестве центра, выберите, скажем, 100 раз и рассчитайтефункция стоимостизначение, выберите наименьшее из результатов.
за к" роль="презентация">kвыбор, с одной стороны, можно использоватьПравило локтя, принцип такойфункция стоимостисначала будет следовать к" роль="презентация">kбыстро увеличивается, но медленно уменьшается после определенного значения, мы выбираем эту точку к" роль="презентация">kценность. С другой стороны, мы можем выбрать в соответствии с потребностями нашего бизнеса. к" роль="презентация">k(Бизнес заключается в необходимости разделить на к" роль="презентация">kслучае класса).

Снижение размерности

В машинном обучении уменьшение размерности признаков может принести нам много преимуществ. Во-первых, уменьшение размерности признаков может повысить эффективность обучения. Во-вторых, уменьшение размерности позволяет нам сосредоточить внимание на важных функциях. Затем в качестве метода сжатия данных можно также использовать уменьшение размерности. Алгоритм уменьшения размерности, который мы здесь изучим, называетсяАнализ главных компонентов(PCA).

Ковариация

В статистике,КовариацияПоказывает корреляцию между двумя наборами данных (когда данные одинаковы,дисперсия). чтобы понятьКовариацияСвязь с алгоритмом уменьшения размерности, давайте сначала рассмотрим простой двумерный случай. Предположим, что наши данные имеют две особенности (рис. ), и сделалистандартизация. Красные точки данных показывают очевидную априорную связь в этой системе координат (КовариацияБольшой ).

Зависит отЛинейная алгебразнание может быть известно, мы можем использовать различныебаза( Особенности ) для представления этих данных, как показано в зеленых и синих координатах. Интуитивно было бы более уместно спроецировать данные на более длинные синие координаты для уменьшения размерности. На самом деле, это также делаетКовариацияминимальный вариант,КовариацияМинимизация сводит к минимуму взаимосвязь между каждым признаком и другими признаками, так что каждый признак выражается независимо, а уменьшение размерности заключается в выборе вкладов из (дисперсия) являются относительно большими функциями. для данных X" роль="презентация">X( здесь X" роль="презентация">XВ отличие от курсовой работы, где каждый столбец представляет часть данных),КовариацияЭто может быть выражено какковариационная матрица.

С знак равно 1 м Икс Т Икс знак равно 1 м [ ∑ я знак равно 1 м ( Икс 1 ( я ) ) 2 ∑ я знак равно 1 м ( Икс 1 ( я ) Икс 2 ( я ) ) ∑ я знак равно 1 м ( Икс 2 ( я ) Икс 1 ( я ) ) ∑ я знак равно 1 м ( Икс 2 ( я ) ) 2 ] " role="презентация">C=1mXTX=1m⎡⎢ ⎢ ⎢ ⎢⎣m∑i=1(x(i)1)2m∑i=1(x(i)1x(i)2)m∑i= 1(x(i)2x(i)1)m∑i=1(x(i)2)2⎤⎥ ⎥ ⎥ ⎥⎦C=1mXTX=1m[∑i=1m(x1(i))2∑i =1m(x1(i)x2(i))∑i=1m(x2(i)x1(i))∑i=1m(x2(i))2]

ковариационная матрицаЭлементы по диагонали — это данные по каждому признаку.дисперсия, остальные находятся между функциямиКовариация. Таким образом, цель уменьшения размерности состоит в том, чтобы найти базисное преобразование, которое позволяетковариационная матрицаКроме значения по диагонали остальные максимально маленькие. Однако в последующем обсуждении мы увидим, что можем найти множествобазасделать преобразованныйКовариацияВсе равны 0, кроме значений по диагонали.

SVD

Предположим, наши данные X" роль="презентация">XСопоставляется базовым преобразованием Y" роль="презентация">Y, Д знак равно п X" роль="презентация">Y=PX, Y" роль="презентация">YизКовариация D" role="presentation">Dза:

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" роль="презентация">D, то есть существует единичный ортогональный собственный вектор E" роль="презентация">E, так что Е Т С Е знак равно Λ" роль="презентация">E^{T}CE=\Lambda,в Λ" роль="презентация">\Lambdaзадиагональная матрица. Таким образом, основа п знак равно Е Т "роль="презентация">P=E^{T},и Λ" роль="презентация">\LambdaЭлементы в противоположных углах представляют размер вклада каждой функции. Однако мы также можемразложение матрицыХитрость, чтобы решить эту проблему, используйтеSVDДля разложения матрицы имеем Икс знак равно U Σ В Т "роль="презентация">X=U \Sigma V^T, которое можно получить путем вывода:

Икс Икс Т знак равно ( 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 Т "роль="презентация">P=U^{T},и Д знак равно 1 м Σ 2 "роль="презентация">D=\frac{1}{m} \Sigma^2. Для уменьшения размерности просто возьмите D" роль="презентация">DСоответствующие признаки с относительно высокой долейбаза, это, Р" роль="презентация">Pчасть п ' "роль="презентация">P', соответствующие данные также стали Д ' "роль="презентация">Y'. Для восстановления данных его можно получить простым выводом Икс восстановить сложный знак равно п ' Т Д ' "роль="презентация">X_{恢复}=P'^TY'.

Внеклассное чтение

оPCA, я думаю, что есть две статьи, которые очень полезны для меня, и я поделюсь ими с вами здесь:Математические принципы PCA,Разговор о SVD-разложении матриц.

Итак~, на седьмой неделе все, спасибо за терпение.


hertzcat

2018-06-05