Это седьмой день моего участия в августовском испытании обновлений, подробности о мероприятии:Испытание августовского обновления
предисловие
Эта статья является первой в серии заметок к курсу машинного обучения Эндрю Нг, в основном о подробном выводе линейной регрессии и логистической регрессии, а также о различиях между ними.
Линейная регрессия
единичная линейная регрессия
Что касается проблемы регрессии, давайте сначала рассмотрим определение функции стоимости.
функция стоимости функция стоимости
Линейная квадратичная функция стоимости:
Сумма квадратов ошибки моделирования:
Несколько концепций:
-
Сумма квадратов ошибок (SSE): используется для указания того, насколько хорошо подходит функция.
-
Среднеквадратическая ошибка (MSE): относится к ожидаемому значению квадрата разницы между оценкой параметра и истинным значением параметра.
градиентный спуск градиентный спуск
Основано на классической проблеме спуска, то есть когда вы находитесь в определенной точке горы, как выбрать лучшее направление спуска на горе и насколько велик каждый шаг. Цель градиентного спуска — найти минимальное значение функции стоимости.
Идея алгоритма:
- Первоначально выберите комбинацию параметров и рассчитайте функцию стоимости
- Затем найдите комбинацию параметров, которая больше всего снижает значение функции стоимости, а также вычислите функцию стоимости.
- Продолжайте описанный выше процесс, пока целевое значение не станет локальным минимумом.
пакетный градиентный спуск
Формула (при условии двух параметров):
- это скорость обучения, которая определяет, насколько мы делаем шаги вниз в направлении, которое больше всего снижает функцию стоимости.При пакетном градиентном спуске мы каждый раз вычитаем все параметры из обучения одновременно.Скорость, умноженная на производную от функция затрат.
- для нескольких, значение должно обновляться синхронно, и скорость обучения тоже будет обновляться, потому что чем ближе к крайней точке, наша скорость обучения, то есть размер шага спуска с горы, должна быть меньше, и результат будет более точным. На самом деле частная производная равна 0, так что она сходится к локальному оптимальному решению.
как выбратьценность?
- Основываясь на приведенном выше уравнении, мы можем видеть, что еслиСлишком маленький, каждый шаг очень маленький, двигаясь понемногу к самой нижней точке, так что одна итерация займет много времени.
- какЕсли он слишком велик, то шаг перемещения слишком велик, он может пересечь нижнюю точку, и следующая итерация будет двигаться снова и снова, снова и снова пересекая нижнюю точку, что приведет к невозможности сходимости.
- В общих практических приложениях набор интервалов, таких какТаким образом, попробуйте несколько раз, а затем выберите соответствующий интервал в соответствии с результатами.
При градиентном спуске градиентный спуск автоматически делает меньшие шаги по мере приближения к локальному минимуму, потому что по мере приближения к локальному минимуму ясно, что производная равна нулю в локальном минимуме, поэтому по мере приближения к локальному минимуму значение производной будет автоматически становиться все меньше и меньше, поэтому градиентный спуск автоматически будет принимать меньшую величину, то естьНа данный момент нет необходимости в другом сокращении.
Линейная регрессия с градиентным спуском
Алгоритм градиентного спуска:
Получите функцию стоимости:
Мы также можем использовать **«наименьшие квадраты»** для решения модели. В линейной регрессии метод наименьших квадратов заключается в попытке найти прямую линию, которая представляет собой наименьшую сумму евклидовых расстояний от всех выборок до прямой линии, то есть в моделиминимум.
Решение: соответственноВозьмите производную и установите желаемую формулу равной 0, чтобы решитьОптимальным решением.
Множественная линейная регрессия
На самом деле это один признак => многомерный признак, представленный вектором
Предположим, что число признаков равно, матрица признаков выглядит следующим образом:
представительэкземпляр признака, то есть первый признак матрицы признаков.row, представляет собой вектор, такой как
многомерныйВыражается как:
Видно, что параметрразмерный вектор, размерность матрицы признаков равна, для удобства расчета введем, то есть формула принимает вид:
сделать
Итак, для дальнейшего упрощения:
градиентный спуск
Расширяя градиентный спуск единичной линейной регрессии,
Масштабирование функций: Масштабируйте каждую функцию примерно до
Средняя нормализация: просто стандартизация
нормальное уравнение
Предположим, что результат обучающего набора является вектором, ИмпортироватьТогда матрицу признаков также можно записать в виде:
Запишите приведенную выше функцию стоимости в матричной форме:
В самом деле, решаяминимальный параметрзначение, которое представлено следующим образом:
сделать,правильноВывод можно решить:
Градиентный спуск против нормального уравнения
градиентный спуск | нормальное уравнение |
---|---|
Необходимо выбрать скорость обучения | Скорость обучения не требуется |
Требуется несколько итераций | Нет необходимости повторять операции, матричные операции можно выполнять всего одной строкой кода. |
При множественных характеристиках лучшая адаптивность | Вычислительная сложность обратной матрицы O(), поэтому, если размер объекта слишком велик (особенно более 10 000 измерений), вычислительные затраты высоки, и этот метод не следует рассматривать. |
Может применяться к некоторым более сложным алгоритмам, подходящим для различных типов моделей. | Матрица должна быть обратимой, и для некоторых более сложных алгоритмов этот метод не будет работать. Подходит только для моделей линейной регрессии, не подходит для других моделей, таких как модели логистической регрессии. |
Логистическая регрессия Логистическая регрессия
является проблемой классификации. Для задач классификации данные, как правило, дискретны, и использование линейной регрессии не является хорошим методом для решения задач классификации, поэтому ниже представлен классический алгоритм решения задач классификации — логистическая регрессия.
Суть логистической регрессии состоит в том, чтобы предположить, что данные следуют этому распределению, а затем использовать оценку максимального правдоподобия для оценки параметров, так что диапазон выходной переменной всегда находится между 0 и 1. Алгоритм описан ниже на примере задачи бинарной классификации.
Функция распределения для логистической регрессии:функция:, изображение функции выглядит следующим образом:
[Не удалось передать изображение по внешней ссылке, исходный сайт может иметь механизм защиты от пиявки, рекомендуется сохранить изображение и загрузить его напрямую (img-Cb4IBXex-1628157342810) (/imgs/Sigmoid function image.jpg)]
Видно, что эта функция преобразует входные значения в значения вероятности, поэтому гипотетическая функция, из которой мы можем построить модель логистической регрессии:
в:представляет вектор признаков,Параметры просим принять.
значит данныйиусловия, прогнозироватьВероятность
Решающую функцию можно получить:
Это порог, который мы выбираем.Конечно, другие значения могут быть выбраны в соответствии с реальной ситуацией.Например, предсказуемость положительного примера выше, и она может быть больше 0,5.
граница решения
Введение этого понятия цитирует курс ppt профессора Нг Энда.
Линейная граница решения
нелинейная граница
функция стоимости
Функция стоимости логистической регрессии определяется как:
в:
Особенностями функции являются:
- когда фактическоечас,Когда стоимость равна 0, когдане для, стоимость следуетстановиться меньше и больше;
- когда фактическоечас,Когда стоимость равна 0, когдане для, стоимость следуетрасти все больше и больше;
Изображение выглядит следующим образом:Можно еще упростить:
Используйте градиентный спуск
функция стоимости парыпопросить совета
такое же правоПродолжайте обновлять значение каждого параметра до тех пор, пока значение функции не станет минимальным, то есть значение производной стремится кизВот и все.
Проблема мультиклассификации
обычно используетсяOne-vs-All, также известен какOne-vs-the Restметод достижения множественной классификации, которыйПроблема мультиклассификациипревратился вмножественная бинарная классификацияпроблема. Фактически, нужно по очереди рассматривать признак как положительный образец, а остальные — как отрицательные образцы, а затем выполнять обучение модели, как в двух классификациях. Если число признаков выборки, в общей сложностиграница решения.
Пример: данный ввод, рассчитать отдельно, а затем сравнить, еслиближайший, затем предсказатьпринадлежатьсвоего рода.
переобучение и недообучивание
Что такое переоснащение?
недооснащение: Степень подгонки невысокая, данные далеки от кривой подгонки
переоснащение: Переобучение, вроде подходит почти под любые данные, но теряется информационный закон. В машинном обучении часто бывает так, что обучающая выборка переобучена и слишком точна, и такая модель не имеет практического прогностического значения.
Регуляризация
Вышеупомянутая проблема переоснащения, то методы решения переоснащения, как правило, таковы:
- Уменьшите количество функций. Это, очевидно, разрушает целостность функции.
- Сохраните функции, но ослабьте коэффициенты некоторых членов более высокого порядка. Мы называем это ослаблением парного параметранаказание.
Так называемая регуляризация — это процесс ослабления признаков высокого порядка.
Регуляризация в линейной регрессии
На основе линейной регрессии введем параметрыввести штраф за регуляризацию. Измените функцию стоимости на:
Чем больше значение, тем сильнее штраф за регуляризацию и тем лучше можно избежать переобучения. Конечно, он не может быть слишком большим, иначе параметр стремится к 0, и итоговое изображение может быть прямой линией.
В то же время есть соответствующие изменения в градиентном спуске:
Его можно еще упростить до:
Можно видеть, что изменение алгоритма градиентного спуска регуляризованной линейной регрессии заключается в том, что каждый раз на основе правил обновления исходного алгоритмазначение уменьшается на дополнительное значение, которое представляет собой каждое обновление в градиентном спуске.также уменьшитценность.
Если используется нормальное уравнение, его также можно решить следующим образом:
Регуляризация в логистической регрессии
Также для логистической регрессии мы также добавляем регуляризованное выражение к функции стоимости, чтобы получить функцию стоимости:
Точно так же алгоритм градиентного спуска получается как:
Уведомление,не участвует ни в одной регуляризации.
резюме
Разница между линейной регрессией и логистической регрессией
И линейная регрессия, и логистическая регрессия представляют собой обобщенную линейную модель. Линейная регрессия предполагает, что зависимая переменная y следует распределению Гаусса, а логистическая регрессия предполагает, что зависимая переменная y следует распределению Бернулли. Линейная регрессия — это задача регрессии, а логистическая регрессия — задача классификации.
Хотя логистическая регрессия и линейная регрессия выглядят одинаково после получения функции затрат, функция предположений двухэто отличается.
- Линейная регрессия:
- Логистическая регрессия:,взафункция
Код реализации домашнего задания после занятий прилагается (github):