一、线性回归
一、在有監(jiān)督學(xué)習(xí)中主要包括兩大類問題
分類問題:你去銀行貸款借錢,人家銀行會不會借給你?當(dāng)然只有兩種答案:會、不會
回歸問題:人家銀行能借給你多少錢?是一個具體的值
舉個例子:假如你去銀行貸款,人家銀行主要考慮你月薪和年齡這兩個因素來決定你的最終的貸款金額。
| 1 | 3000 | 20 | 20000 |
| 1 | 8000 | 28 | 35000 |
| 1 | 1000 | 25 | 10000 |
| 1 | 4000 | 30 | 30000 |
| 1 | 12000 | 20 | 50000 |
很顯然,人家銀行貸給你錢主要看的是你的月薪,其次看的是你的年齡,這兩個元素權(quán)重不一樣。
x1和x2是兩個特征,即月薪和年齡,Y是最終的貸款金額。
二、線性擬合
假設(shè)θ1是年齡的參數(shù), θ2是工資的參數(shù),因為是兩個參數(shù)影響,故需要擬合一個平面。
,其中θ0是偏置項,方便后續(xù)的矩陣操作。
整理得:
三、誤差
真實值和預(yù)測值之間肯定存在差異,這個差異就是誤差ε。
對于每個樣本而言:
誤差,是獨立并且具有相同的分布,并且服從均值為0,方差為 的高斯分布。
獨立:A和B是兩個人,銀行對待這兩個人是一樣的,兩個人都不認(rèn)識,相互獨立。
相同的分布:倆人都去同一家銀行貸款
高斯分布:也稱正態(tài)分布或正常分布。主要是說 銀行可能會給的多,也可能給的少,但這都是少數(shù)情況,但大多數(shù)情況下浮動不會太大,
預(yù)測值和誤差:
高斯分布:,這里的ε和σ都指代誤差。
誤差服從高斯分布,帶入預(yù)測值和誤差公式中得:
似然函數(shù):這里的均值為0,直接帶入簡化函數(shù)
,可以理解這個似然函數(shù)主要求解什么樣的參數(shù)(θ0,θ1,θ2)跟我們的數(shù)據(jù)組合一下可以更好的接近真實值。
但這里是累乘的操作,相比累加而言確實有點麻煩,故需要通過對數(shù)似然來將累乘向類和轉(zhuǎn)換。
對數(shù)似然:
L(θ)和log(θ)的值不同,但這兩個函數(shù)的極值點θ是一樣的,故可以相互等價。
化簡:
故:最終的目標(biāo)是讓取值最小即可。
四、通過最小二乘法求目標(biāo)函數(shù)最小值
目標(biāo)函數(shù):
如何求函數(shù)最小值?很簡單,求導(dǎo)唄,找到導(dǎo)數(shù)為0的θ。當(dāng)然這里是多個變量求的是偏導(dǎo)。
令偏導(dǎo)為0,求出θ即可。
五、評估方法
R2越接近于1,則模型擬合的越好。
六、梯度下降法
當(dāng)我們得到一個目標(biāo)函數(shù)之后,如何求解?你會求解,但是機器學(xué)習(xí)是讓機器去學(xué)會這個方法,你學(xué)會沒用!
故這時候就需要將我們求解的步驟進行具體話,給機器說一下求解的方法、步驟,讓機器按照這個步驟來就可以求解出最佳的答案。
對于目標(biāo)函數(shù):
我們的目標(biāo)是如何找到終點?即什么樣的參數(shù)能使得目標(biāo)函數(shù)達(dá)到極值點
目標(biāo)函數(shù):
①批量梯度下降:
因為這里梯度下降法是沿梯度反方向走的,故需要加個負(fù)號,負(fù)負(fù)得正:
可以看出:容易得到最優(yōu)解,但是m個樣本都考慮到了,速度太慢了。
②隨機梯度下降:
每一次知道一個樣本,迭代速度很快,但不一定每次的樣本都是收斂的。
③(常用)小批量梯度下降:
從中隨機找?guī)讉€樣本(這里選擇10個),每次更新選擇一小部分樣本。
這里的α是學(xué)習(xí)率(learning rate,LR),也就是每次下降的步長,步長對結(jié)果影響很大,一般小一點較好。通常LR=0.01、0.001挨個試試效果。
這里選擇的是隨機選取10個樣本,一般都是隨機取64、128、256個樣本。
總結(jié)梯度下降法步驟:
①分別求每個參數(shù)的偏導(dǎo),找到偏導(dǎo)最小值
②走α步
③按當(dāng)前方向進行更新參數(shù)θ
總結(jié)
- 上一篇: 二、VC++环境的安装
- 下一篇: 二、模型评估方法