Я новичок в машинном обучении, и мне было трудно понять, что это за большие термины в нашем модуле Data Science на Go-Jek Bootcamp 3. Большинство материалов в Интернете были слишком сложными для новичка, и у меня не было времени смотреть видео. Я постараюсь объяснить эти вещи как можно проще.
Линейная регрессия
Это способ моделирования данных. У нас есть данные. И мы хотим предсказать что-то на основе этих данных. Линейная регрессия — один из способов сделать это. Скажем, у нас есть данные о цене продажи дома на основе характеристик дома (дом_размер, гараж, состояние, год_постройки, наличие_бассейна и т. д.) [Набор данных], и мы хотим получить цену продажи дома. Мы можем смоделировать это линейно — как показано ниже.
Selling Price = Theta1 * [Feature1] + Theta2 * [Feature2] + Theta3 * [Feature3] + …… + ThetaM * [FeatureM]
Значения характеристик являются числовыми значениями. Тета – это коэффициенты. Если мы сможем настроить значение тета в соответствии с имеющимися у нас данными, мы можем просто подставить значение характеристик для новых данных и получить цену продажи дома. Итак, наша задача сейчас — настроить эти параметры.
Градиентный спуск
Это алгоритм поиска минимума функции. Мы должны спуститься с холма, к самому низкому значению. Мы идем по тропинке с самым большим уклоном и спускаемся вниз.
Может ли это помочь в линейной регрессии?
Мы можем преобразовать линейную регрессию в функцию ошибок. А затем используйте этот градиентный спуск, чтобы минимизировать эту функцию ошибки. Когда мы минимизируем функцию ошибок, наш коэффициент линейной регрессии (тета) будет настроен.
Как преобразовать линейную регрессию в функцию ошибок?
Размер данных = N
HouseQuality=2, Garage=1, Size=15, ..... , Sale Price=20000 HouseQuality=5, Garage=1, Size=10, ..... , Sale Price=26000 HouseQuality=1, Garage=0, Size=27, ..... , Sale Price=22000 HouseQuality=3, Garage=1, Size=20, ..... , Sale Price=30000 HouseQuality=2, Garage=0, Size=10, ..... , Sale Price=12000 HouseQuality=1, Garage=0, Size=7, ..... , Sale Price=10000 . . . . HouseQuality=4, Garage=2, Size=25, ..... , Sale Price=40000
Зафиксируйте значение теты. Изначально пусть они будут все одним.
Для каждой строки данных получите ориентировочную цену продажи.
Selling Price = Theta1 * [Feature1] + Theta2 * [Feature2] + Theta3 * [Feature3] + …… + ThetaM * [FeatureM]
Теперь вычтите это из фактической цены продажи. Это наша ошибка для одной строки в данных. Сократите эту ошибку. (Чтобы увеличить)
Теперь сделайте это для всех N строк и добавьте эту ошибку в квадрате. Разделите на N, чтобы получить среднеквадратичную ошибку для текущего значения тета.
Это наша функция ошибок. Если мы сможем минимизировать это значение с помощью градиентного спуска, то мы закончили.
Следите за второй частью здесь.
Вы можете связаться с автором по адресу [email protected]