Ng Enda Machine Learning-1-Обучение с учителем и обучение без учителя

машинное обучение
Ng Enda Machine Learning-1-Обучение с учителем и обучение без учителя

Публичный аккаунт WeChat: You Er Hut
Автор: Питер
Редактор: Питер

Ng Enda Machine Learning-1-Обучение с учителем и обучение без учителя

Темы, затронутые в первую неделю, включают:

  • Контролируемое и неконтролируемое обучение
  • Одномерная задача линейной регрессии
  • функция стоимости
  • Алгоритм градиентного спуска

Контролируемое обучение

Использование контролируемого обучения для прогнозирования цен на жилье в Бостоне (задача регрессии)

  • В большинстве случаев может быть установлена ​​прямая линия
  • Иногда может быть лучше использовать квадратичную кривую, чтобы соответствовать

Что такое регрессионная проблема?

При обучении с учителем мы даем алгоритму обучения набор данных, например ряд данных о доме, учитывая правильную цену каждого образца в наборе данных, то есть их фактическую цену продажи, а затем используем алгоритм обучения для расчета большего количества ответов. , нам нужен результат оценки непрерывной величины, принадлежащейпроблема регрессии

Использование контролируемого обучения для определения доброкачественности рака молочной железы (проблема классификации)

  • Горизонтальная ось представляет размер опухоли
  • Вертикальная ось представляет 1 для злокачественных и 0 для доброкачественных

Что такое задача классификации?

Проблема с машинным обучением заключается в том, что оценка вероятности того, что опухоль является злокачественной или доброкачественной, является сложной задачей.проблема классификации.

Проблемы классификации возникают, когда мы пытаемся вывести дискретные выходные значения: 0 или 1 доброкачественные или злокачественные, тогда как на самом деле в задачах классификации выходные данные могут иметь более двух значений.

Скажем, может быть три типа рака молочной железы, поэтому вы хотите предсказать дискретный результат.0、1、2、3. 0 — доброкачественный, 1 — рак молочной железы 1-го типа, 2 — рак 2-го типа и 3 — рак 3-го типа, что также является проблемой классификации.

применение

  • Проблема со спамом
  • проблема классификации болезней

Неконтролируемое обучение

  • В обучении с учителем данные помечаются
  • При неконтролируемом обучении данные не маркируются, и в основном упоминается алгоритм кластеризации.

Основные области применения неконтролируемого обучения:

  • Понимание приложений генетики
  • анализ социальных сетей
  • Организация больших компьютерных кластеров
  • Сегменты рынка
  • Классификация новостных событий

Линейная регрессия с одной переменной

проблема с ценой дома

Горизонтальная ось — это разные размеры дома, а вертикальная ось — цена продажи дома.

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

проблема регрессии: Предсказать точное выходное значение на основе предыдущих данных.

проблема классификации: прогнозирование дискретных выходных значений, таких как поиск раковых опухолей, и определение того, является ли опухоль доброкачественной или злокачественной, принадлежащей0/1Проблема дискретного вывода

Рабочая модель контролируемого обучения

Объяснение процесса обучения:

  • Скармливайте алгоритму обучения цены на жилье в обучающем наборе.
  • Алгоритм обучения работает, выдавая функцию, обозначенную h
  • hвыражатьhypothesis, который представляет собой решение или функцию алгоритма обучения.
  • hСудя по вводуxстоит получитьyзначение, поэтомуhдаxприехалyфункциональная карта
  • Возможные выражения:hθ(x)=θ0+θ1xh_{\theta}(x)=\theta_0+\theta_1x, существует только одна функция или переменная доступа, называемаяОдномерная задача линейной регрессии

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

Функция стоимости также называетсяфункция квадрата ошибки, функция стоимости квадрата ошибки.

В линейной регрессии у нас есть такой обучающий набор,mmпредставляет количество обучающих выборок, таких какm=47m = 47. И наша гипотетическая функция, которая является функцией, используемой для предсказания, имеет форму линейной функции, подобной этой:hθ(x)=θ0+θ1xh_\theta \left( x \right)=\theta_{0}+\theta_{1}x.

объяснение функции

  • m: количество обучающих выборок
  • hθ(x)=θ0+θ1xh_{\theta}(x)=\theta_0+\theta_1x: гипотетическая функция
  • θ0\theta_0иθ1\theta_1: Представляет два параметра модели, наклон линии и точку пересечения по оси Y.

ошибка моделирования

Основные цели моделирования:

  1. Красная точка на рисунке представляет истинное значениеyiy_i, реальный набор данных
  2. h(x)h(x)Представляет прогнозируемое значение, полученное моделью
  3. Цель: подобратьСумма квадратов ошибок моделированиябыли в состоянииминимумПараметры модели

J(θ0,θ1)=12mi=1m(hθ(x(i))y(i))2J \left( \theta_0, \theta_1 \right) = \frac{1}{2m}\sum\limits_{i=1}^m \left( h_{\theta}(x^{(i)})-y^{(i)} \right)^{2}

Интуитивное объяснение функции стоимости 1

В этом случае, предполагаяθ0=0\theta_0=0продолжить, взяв на себя функциюh(x)h(x)является функцией x, функция стоимостиJ(θ0,θ1)J(\theta_0,\theta_1)это оθ\thetaфункция, минимизирующая функцию стоимости

Интуитивное объяснение функции стоимости 2

Объясните с помощью контурных графиков. Нарисовав контурную карту, видно, что должна быть точка, которая минимизирует функцию стоимости, то есть видно, что в трехмерном пространстве есть точка, которая делает функцию стоимости наименьшей.J(θ0,θ1)J(\theta_{0}, \theta_{1})самая маленькая точка.

MXWCMn.png

Градиентный спуск

Мысль

Градиентный спуск — это алгоритм нахождения минимального значения функции.

  • Идея: начните выбирать случайную комбинацию параметров(θ0,θ1,,θn)(\тета_0,\тета_1,…,\тета_n)Вычисляем функцию стоимости, а затем ищем следующую комбинацию параметров, которая больше всего снижает значение функции стоимости.

  • Продолжайте делать это до локального минимума (local minimum), так как были опробованы не все комбинации параметров, невозможно определить, является ли результирующий локальный минимум глобальным минимумом (global minimum)

пакетный градиентный спускbatch gradient descent

Формула алгоритма

Особенности: Два параметра должны обновляться синхронно.

Интуитивное объяснение градиентного спуска:

Сначала посмотрите на конкретную формулу алгоритма:θj:=θjальфаJ(θ)θj\theta_j:=\theta_j-\alpha \frac {\partial J(\theta)}{\partial \theta_j}

Описание: даθ\thetaназначить, чтобыJ(θ)J(\theta)Следуйте в направлении самого быстрого градиентного спуска, продолжайте повторять и, наконец, получите локальный минимум.

Скорость обучения:альфа\alpha— это скорость обучения, и она определяет, насколько далеко мы делаем шаги в направлении, которое максимально снижает функцию стоимости.

  • Скорость обучения слишком мала: медленная сходимость требует много времени для достижения глобального минимума
  • Скорость обучения слишком велика: самая нижняя точка может быть пересечена, и она может даже не сойтись

GradientDescent-For-LinearRegression

Градиентный спуск — очень распространенный алгоритм, он используется не только в линейной регрессии и моделях линейной регрессии, функция стоимости квадрата ошибки. Объедините градиентный спуск с функцией стоимости.

Ключом к применению градиентного спуска к предыдущей задаче линейной регрессии является нахождение производной функции стоимости, а именно:

θjJ(θ0,θ1)=θj12mi=1m(hθ(x(i))y(i))2\frac{\partial }{\partial {{\theta }_{j}}}J({{\theta }_{0}},{{\theta }_{1}})=\frac{\partial }{\partial {{\theta }_{j}}}\frac{1}{2m}{{\sum\limits_{i=1}^{m}{\left( {{h}_{\theta }}({{x}^{(i)}})-{{y}^{(i)}} \right)}}^{2}}

j=0j=0Время:θ0J(θ0,θ1)=1m*i=1m(hθ(x(i))y(i))\frac{\partial }{\partial {{\theta }_{0}}}J({{\theta }_{0}},{{\theta }_{1}})=\frac{1}{m}{{\sum\limits*{i=1}^{m}{\left( {{h}_{\theta }}({{x}^{(i)}})-{{y}^{(i)}} \right)}}}

j=1j=1Время:θ1J(θ0,θ1)=1m*i=1m((hθ(x(i))y(i))x(i))\frac{\partial }{\partial {{\theta }_{1}}}J({{\theta }_{0}},{{\theta }_{1}})=\frac{1}{m}\sum\limits*{i=1}^{m}{\left( \left( {{h}_{\theta }}({{x}^{(i)}})-{{y}^{(i)}} \right)\cdot {{x}^{(i)}} \right)}

Тогда алгоритм можно переписать так:

Repeat {

θ0:=θ0a1mi=1m(hθ(x(i))y(i)){\theta_{0}}:={\theta_{0}}-a\frac{1}{m}\sum\limits_{i=1}^{m}{ \left({{h}_{\theta }}({{x}^{(i)}})-{{y}^{(i)}} \right)}

θ1:=θ1a1mi=1m((hθ(x(i))y(i))x(i)){\theta_{1}}:={\theta_{1}}-a\frac{1}{m}\sum\limits_{i=1}^{m}{\left( \left({{h}_{\theta }}({{x}^{(i)}})-{{y}^{(i)}} \right)\cdot {{x}^{(i)}} \right)}

}

Этот алгоритм градиентного спуска называетсяАлгоритм пакетного градиентного спуска,Главная особенность:

  • На каждом шаге градиентного спуска мы используем все обучающие выборки
  • В градиентном спуске при вычислении дифференциального члена нам нужно выполнить операцию суммирования, которая должна суммировать все m обучающих выборок.