Эта статья включена в:blog.aistudyclub.comПубличный номер: Общество исследования искусственного интеллекта
Машинное обучение становится все более популярным и постепенно применяется во всех сферах жизни. Как программисту научиться машинному обучению? В этой серии статей я познакомлю вас с основами машинного обучения, основываясь на своем опыте обучения.
Изначально я был инженером по разработке встраиваемых систем, но начал заниматься машинным обучением в 2018 году, и в настоящее время в основном занимаюсь глубоким обучением CV. Когда я впервые столкнулся с машинным обучением, я тоже не знал, с чего начать. После поиска большого количества информации я нашел курс по машинному обучению на Coursera, После изучения полного курса я, наконец, освоил базовые знания по машинному обучению, заложив основу для будущего глубокого обучения. Поэтому в этой серии статей я буду использовать курсы и упражнения по машинному обучению в качестве основы, чтобы показать вам, что такое машинное обучение. Сегодня мы сначала рассмотрим линейную регрессию. В этой статье мы надеемся, что каждый сможет понять и иметь предварительное представление о линейной регрессии, поэтому я не буду здесь подробно излагать принципы.
1. Введение в линейную регрессию
Что такое линейная регрессия? Давайте возьмем данные о ценах на жилье в качестве примера, чтобы описать, что такое линейная регрессия. Посмотрите на данные в таблице ниже.
Площадь (㎡) | Цена (десять тысяч юаней) |
---|---|
210 | 460 |
141 | 232 |
153 | 315 |
85 | 178 |
... | ... |
Наблюдая приведенные выше данные в сочетании со здравым смыслом в повседневной жизни, мы можем сделать вывод, что существует определенная связь между площадью и ценой, но мы не уверены, какова эта связь в настоящее время, но мы можем сначала использовать формулу выражения их отношение:
(1)
где H — цена, а x — площадь. тогда, если мы увереныиЗначением можно определить соотношение между площадью и ценой. И H, и x известны как данные в таблице, и для определения этих двух значений можно использовать большое количество данных, так что между площадью и ценой можно использовать линейную функцию, а затем процесс определения этих двух значений. значений вызывается для линейной регрессии.
Мы также знаем, что цены на жилье связаны не только с размером, но также могут быть связаны со многими другими факторами. Глядя на таблицу ниже, в дополнение к площади было добавлено несколько других функций.
Площадь (㎡) | Количество спален | этаж | возраст комнаты | Цена (десять тысяч юаней) |
---|---|---|---|---|
210 | 5 | 1 | 45 | 460 |
141 | 3 | 2 | 40 | 232 |
153 | 3 | 2 | 30 | 315 |
85 | 2 | 1 | 36 | 178 |
В настоящее время наша формула 1 обновляется до следующей формулы:
(2)
еслиприбытьЗначение инициализируется случайным значением, тогда должна быть ошибка между ценой жилья H, рассчитанной по формуле 2, и реальным значением. Если настроить параметрыприбытьЗначение H заставляет значение H попытаться решить реальную цену, поэтому можно ли определить взаимосвязь между площадью и ценой, чтобы можно было предсказать приблизительную цену дома в зависимости от площади?
2. Функция потерь
Поскольку между ценой жилья H и реальной стоимостью, рассчитанной по формуле 2, существует определенная погрешность, то для описания этой погрешности сначала необходимо использовать формулу, которая называется функцией потерь, которая представлена J. Определяется следующим образом:
(3)
В уравнении 3 выше- неизвестная переменная, которую необходимо рассчитать, x и y - известные величины в приведенной выше таблице, то как мы рассчитываемНу, здесь мы будем использовать градиентный спуск, метод, обычно используемый в машинном обучении.
3. Градиентный спуск
Градиентный спуск обновляется посредством непрерывных итерацийдля уменьшения значения функции потерь формула выглядит следующим образом:
reapeat{
(4)
}
в формуле 4Представляет скорость обучения, которая обычно представляет собой действительное число меньше 1, например 0,1, 0,01 и т. д., которое необходимо скорректировать в соответствии с реальной ситуацией.Представляет параметры, которые необходимо обновить в этой итерации.Эта часть - пара JЧастная производная , полученное значение является текущимЗначение градиента является вектором, поэтому у него есть направление. Его направлением является направление с наибольшей скоростью изменения и максимальным значением в этом направлении. С точки зрения непрофессионала, это текущийВклад значения в ошибку. Так что его можно использовать итеративноминус скорость обучения разВклад в параметр обновления ошибкизначение . после обновленияРасчетное значение потерь будет меньше исходного. После нескольких итераций функция потерь сойдется к относительно небольшому значению, и итерацию можно будет остановить, этот процесс также можно назвать обучением. Обратите внимание, что здесь приведено лишь краткое описание процесса градиентного спуска, то есть процесса обучения.На практике необходимо рассмотреть множество задач, таких как локальные оптимальные решения, переобучение и подгонка и т. д. Однако существуют будут решения этих проблем, об этом будет рассказано в следующей статье.
Позвольте мне привести вам простой пример градиентного спуска, чтобы помочь вам понять. Предположим, что имеется следующая упрощенная функция потерь:
(5)
В самом деле, легко видеть, что это парабола с отверстием вверх, и у нее всего одна низшая точка, т. е. когда0,.
-
Сначала предположимНачальное значение равно 1.
предполагаемый
-
Затем выполните итерацию градиентного спуска, здесь мы выбираем скорость обучения.
-
использовать обновленныйЗначение продолжает повторяться.
Вы можете увидеть нашу функцию потерь на четвертой итерацииЗначение уже очень мало, если продолжать итерациюзначение будет приближаться к 0. На этом мы можем остановить обучение и получить подходящий параметр, процесс градиентного спуска выглядит примерно следующим образом.
4. Резюме
Начнем с данных и кратко опишем, что такое линейная регрессия. Изучите формулу одномерной линейной регрессии и формулу множественной линейной регрессии. При этом формула функции потерь строится по формуле линейной регрессии. Функцию потерь необходимо использовать в процессе обучения.Предпосылкой обучения является наличие большого количества данных.Здесь, взяв в качестве примера данные о ценах на жилье, мы можем рассчитать их с помощью градиентного спуска.параметры для описания прямой зависимости между собственными значениями домов и ценами на дома, тем самым завершая процесс линейной регрессии.