机器学习笔记(一) : 线性建模——最小二乘法
討論這個(gè)方法之前,先說些題外話。首先,我感覺機(jī)器學(xué)習(xí)是一門值得我們?nèi)チ私夂蛯W(xué)習(xí)的一門技術(shù),它不僅僅應(yīng)用于我們的生活,而且不斷地在改變著我們的方方面面。雖然很早就已經(jīng)接觸它,并開始學(xué)習(xí),但是總體感覺是學(xué)習(xí)的比較混亂,僅以從今天開始的一系列文章作為重新總結(jié)和學(xué)習(xí)機(jī)器學(xué)習(xí)的一個(gè)新的歷程。其次,學(xué)習(xí)機(jī)器學(xué)習(xí),要有耐心,要執(zhí)著,要不斷總結(jié)和實(shí)現(xiàn)。最后,也是最重要的,要明白你的初衷是什么,也就是為什么要學(xué)習(xí)它。如果沒有搞清楚為什么,那還是先弄清楚吧。好了,廢話不多說了,開始進(jìn)入正題。
一、引言
機(jī)器學(xué)習(xí)中的一個(gè)大類的問題就是分類問題。分類在我們的生活中也是很常見的,比如說,你剛進(jìn)入大學(xué),要分清哪些同學(xué)喜歡玩游戲,哪些喜歡學(xué)習(xí),這樣,你想玩游戲的時(shí)候可以找愛玩游戲的同學(xué)一起,你學(xué)習(xí)遇到難題可以找喜歡學(xué)習(xí)的同學(xué)請教。當(dāng)然,你的好友可以同時(shí)做到以上兩點(diǎn)那是最好不過的了。
還要提一下分類和回歸的區(qū)別,當(dāng)我們要解決的問題是預(yù)測的離散值的時(shí)候,也就是上面提到的例子,分清哪些人喜歡玩游戲,哪些人喜歡學(xué)習(xí),這就是一個(gè)分類問題。當(dāng)要預(yù)測的值是一個(gè)連續(xù)值的話,那這就是一個(gè)回歸問題。比如,我們可能在剛上大學(xué)的時(shí)候,不了解同學(xué)們平時(shí)喜歡打游戲或者喜歡學(xué)習(xí),但是我們知道他們一系列的其他信息:A同學(xué)周一到周五喜歡去圖書館、自修室,但是周末就和寢室的同學(xué)打游戲,甚至玩通宵,當(dāng)然還有其他信息。那么,我們的問題是A同學(xué)喜歡學(xué)習(xí)的可能性有多大,這個(gè)問題的答案是[0,1]上的任意一個(gè)實(shí)數(shù)(這取決于你的預(yù)測模型),你可能根據(jù)你的系統(tǒng)推測出A喜歡學(xué)習(xí)的概率是0.51。
二、問題的提出
我們考慮簡單的單一變量的線性回歸。我這里為了簡便就舉《機(jī)器學(xué)習(xí)基礎(chǔ)教程》上的例子。男子100m比賽贏得金牌不同舉辦年份所需的時(shí)間。如圖1 所示:
通過上圖,我們至少可以看到年份和獲勝時(shí)間存在一個(gè)關(guān)系。我們要預(yù)測2016年男子100米金牌所需的時(shí)間。
三、模型假設(shè)
y表示所需時(shí)間, x表示年份,則有如下假設(shè)。
我們現(xiàn)在知道2016年之前每屆奧運(yùn)會的男子100米金牌所需的時(shí)間,通過圖一我們看到數(shù)據(jù)點(diǎn)的分布呈現(xiàn)一種趨勢關(guān)系,假設(shè)它們分布在公式1所示的直線周圍,我們的目標(biāo)是找到一條直線,來擬合我們的觀測數(shù)據(jù),進(jìn)而用我們找到的這條最佳的線預(yù)測2016年的男子100m金牌所需時(shí)間。那么,什么樣的直線最好呢?我們?nèi)绾吻蠊?中的 a, b 這兩個(gè)參數(shù)呢?
假定我們的模型已經(jīng)選擇好了,那么衡量這個(gè)模型的一個(gè)常用方式就是用平方損失函數(shù):
上述公式(2)最小,我們就說模型對我們現(xiàn)有的觀測數(shù)據(jù)來說是最好的,我們暫且拋開數(shù)據(jù)過擬合的問題。那么問題轉(zhuǎn)化為求 L(t,f(x;a,b))取得最小值時(shí)候的 a,b.令 n代表歷史數(shù)據(jù)的數(shù)目,則我們的損失函數(shù)可以寫為:
L=∑in(yi?(axi+b))2(3)
四、推導(dǎo)過程
用公式(3)分別對a,b求偏導(dǎo)數(shù),然后令其分別等于0, 這就可以求得a,b. 這里用到了函數(shù)極值,可以參考高等數(shù)學(xué)。
利用公式4,5求解得:
a=∑nixi∑niyi?n∑niyixi(∑nixi)2?n∑nix2i
b=∑nixi∑niyixi?∑nix2i∑niyi(∑nixi)2?n∑nix2i
把 a,b帶入公式1,然后令 x=2016就可以求出所需時(shí)間,擬合直線的效果如圖2所示:
這樣,我們就可以進(jìn)行預(yù)測了。當(dāng)然,這里只是一個(gè)簡單的事例,我們并沒有考慮其他因素。最小二乘法是介紹完了。
五、總結(jié)
本文介紹了最小二乘法擬合數(shù)據(jù)的過程,最小二乘法是最優(yōu)化方法中的一個(gè),要了解更多優(yōu)化方法,可以看看《最優(yōu)化導(dǎo)論》。本文的事例只考慮了一個(gè)變量:年份,如果有多個(gè)自變量,它們在空間中也滿足線性分布,能不能用最小二乘法去擬合數(shù)據(jù)呢?這個(gè)問題,我將在下一篇文章中進(jìn)行介紹。
總結(jié)
以上是生活随笔為你收集整理的机器学习笔记(一) : 线性建模——最小二乘法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java方法重载与方法重写
- 下一篇: 2022年快手磁力金牛服饰行业营销洞察报