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

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

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

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

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

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

проблема классификации

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

функция предсказания

заЛинейная регрессиянашфункция предсказанияза:

hθ(x)=θ0+θ1x1+θ2x2+⋯+θnxn=θTx

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

hθ(x)=g(θTx)g(z)=11+e−z

прийти какфункция предсказанияg(z)называетсяSigmoidфункция, которая приятнофункция предсказанияВыходное значение регулируется между 0 и 1. (Картинка нижеSigmoidИзображение функции )

Так что это может бытьфункция предсказанияинтерпретируется как данностьxи параметры\thetaв случае,y=1(принадлежность к этому классу) вероятность:

hθ(x)=P(y=1|x;θ)

граница решения

Для задач классификации существует новая концепция, называемаяграница решения. Поскольку в конечном итоге нам нужно решить, принадлежат ли входные данные к определенной категории, мы устанавливаем0.5как порог,функция предсказаниявыход больше, чем0.5относятся к этой категории, и наоборот. иh_\theta(x) = 0.5, соответствующий\theta^Tx=0. мы будем\theta^Tx=0Соответствующая кривая называется границей решения (обратите внимание наxНе ссылаясь на обучающие данные, граница решенияh_\theta(x)свойств, на рисунке ниже показана граница решения в задании).

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

Давай поговорим об этомлогистическая регрессияФункция стоимости в . Если вы продолжите использоватьЛинейная регрессияФункция стоимости в , мы получим кривую, подобную следующему рисунку (рисунок ниже представляет собой одну функцию\theta_0Соответствующая кривая функции стоимости не такая, как нарисованная Ng):

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

Поэтому мы используем новыйфункция стоимостисделай это удовлетворительнымвыпуклая функцияприрода.

J(θ)=−1m(yTlog(g(Xθ))+(1−y)Tlog(1−g(Xθ)))

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

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

∇J(θ)=1mXT(g(Xθ)−y)

имеютфункция стоимостииградиентВы можете реализовать алгоритм градиентного спуска самостоятельно, чтобы решить проблему. Однако в курсе Нг упомянул несколькоградиентный спускалгоритм оптимизации,Conjugate descent,BFGS,L-BFGS. Этим алгоритмам не нужно указывать скорость обучения, и они могут быстрее находить решения, мы можем сделать это, вызвав встроенные функции (в домашнем задании, потому что нет Вместо этого функция fminunc Octave использует функцию минимизации из пакета scipy.Алгоритм используетBFGS).

Регуляризация

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

г(θ0+θ1x1+θ2x2+⋯+θ26x1x52++θ27x62)

Для 28 параметровфункция предсказания, который может соответствовать многим типам данных, но некоторые функции не требуются для данных в задании. мы надеемсяJ(\theta)При достижении минимума коэффициент признака\theta_iкак можно меньше. для этой парыфункция стоимостиВнесите некоторые изменения, чтобы получить следующую форму:

J(θ)=−1m(yTlog(g(Xθ))+(1−y)Tlog(1−g(Xθ)))+λ2mθTθ

контрольная работа\lambda- коэффициент регуляризации, используемый для балансировки двух целей, одна из которых состоит в том, чтобы сделать первую половинуфункция стоимостиСтарайтесь быть как можно меньше, во-первых, чтобы избежать переобучения, вызванного слишком большими параметрами. Во второй половине срока регуляризации\theta_0Возьмите ноль, так как он обычно не ограничен.Линейная регрессияТакже можно использовать метод регуляризации, здесь мы приводим только регуляризованную функцию стоимости:

J(θ)=12m(Xθ−y)T(Xθ−y)+λ2mθTθ

Если используется метод нормального уравнения, то окончательно\thetaРешение:

θ=(XTX+λ[0⋯⋯001⋯⋯0⋮⋮1⋯0⋮⋮⋯⋱⋮00⋯⋯1])−1XTy

Обычные слова - это довольно большая тема, и я не смогу объяснить все здесь некоторое время, и я не понимаю ее полностью. Я поделюсь ею с вами, когда у меня будет лучший опыт.

Итак~, вот и все на вторую неделю, спасибо за терпение.


hertzcat

2018-03-31