線性回歸
解決問題
先上一個例子
人們?nèi)ツ骋患毅y行貸款存炮,貸款額度與工資和年齡的關(guān)系如下:
工資 | 年齡 | 額度 |
---|---|---|
4000 | 25 | 20000 |
8000 | 30 | 70000 |
5000 | 28 | 35000 |
7500 | 33 | 50000 |
12000 | 40 | 85000 |
預(yù)測炬搭,下一個人去銀行貸款的額度是多少?
工資和年齡對貸款額度的影響有多大穆桂?
思路推理
工資和年齡是我們的兩個特征宫盔,額度是我們想預(yù)測的結(jié)果,這個結(jié)果是一個具體的數(shù)值享完。
對于每一個樣本灼芭,都存在誤差,記做:
我們應(yīng)該要讓誤差越小般又,那我們的參數(shù)就越好彼绷,我們的目的還是要求參數(shù) \theta巍佑。
這時,我們作出一個假設(shè)寄悯,所有樣本數(shù)據(jù)的誤差是獨立且具有相同分布萤衰,服從高斯分布的。
高斯分布的y坐標(biāo)是概率值猜旬,x坐標(biāo)是各個樣本的誤差腻菇。這里可以看出我們的假設(shè)就是誤差越大的概率會比較小,大部分的誤差都接近于0昔馋,這樣的分布才是我們所希望的分布情況。
下面是高斯分布的公式:
中間的公式就是高斯分布的公式糖耸。
這時我們想秘遏,由于誤差是服從高斯分布的,是不是只有當(dāng)每次誤差的概率越大嘉竟,那誤差就越接近于0啊邦危,也是我們想要的情況。
所以我們把所有誤差的概率相乘舍扰,以便讓此結(jié)果最大倦蚪,這樣就它的似然函數(shù):
乘法想求最大值難解,我們轉(zhuǎn)換為對數(shù)似然以便就加法最大值边苹。
化簡過程略過若干步驟陵且,最后上面試子,要想讓最上面那個式子最大个束,由于它前半部分是個常數(shù)慕购,后面是減去一個數(shù),這樣我們讓最后那個數(shù)最小就行了茬底。 就是讓這個最小二乘法的式子最小沪悲。
這個式子是一個方程,在數(shù)學(xué)中阱表,我們想求一個函數(shù)的的最低點殿如,我們是不是需要求這個函數(shù)的偏導(dǎo)等于0的情況就是啊最爬? 是的:
上面的化簡需要注意的是涉馁,無論X還是theta還是y,都是矩陣爱致,需要用矩陣的算法來化簡谨胞。
這樣我們就求得theta的一個具體值。哇蒜鸡?胯努?牢裳?
是的,特殊情況(線性回歸)就是能求出來叶沛。
結(jié)果
不過我們一般都不是這樣去直接求得一個theta蒲讯,而是用梯度下降的方法去慢慢找一個最優(yōu)的theta。
梯度下降
當(dāng)我們得到最小二乘法的目標(biāo)函數(shù)之后灰署,我們需要去求什么樣的theta可以讓這個函數(shù)的值是最小的判帮。
首先,我們可以隨意定義一個theta矩陣溉箕,比如{1晦墙,1,1肴茄,1 … 晌畅,1} 里面的元素都是1。
然后我們求出現(xiàn)在的目標(biāo)函數(shù)的值是多少寡痰。
然后我們更新theta的值抗楔,在次求出目標(biāo)函數(shù)的值。這樣兩次求出的值看誰最小拦坠。
當(dāng)我們更新n次之后连躏,我們可以從這n次里面挑一個能使目標(biāo)函數(shù)的值最小的theta矩陣。
怎么更新theta參數(shù)
我們可以先求得在原theta點上贞滨,目標(biāo)函數(shù)的導(dǎo)數(shù)入热,數(shù)學(xué)中,函數(shù)在某點的導(dǎo)數(shù)就是晓铆,函數(shù)在這個點上才顿,往下一個方向移動的方向。這樣的話我們可以讓theta往這個方向上移動一定的距離尤蒿,得到theta更新后的值郑气。
這個更新一定的距離,我們稱為學(xué)習(xí)率(步長)腰池。
導(dǎo)數(shù)需要我們?nèi)デ笪沧椋厦娴暮瘮?shù)中,導(dǎo)數(shù)為示弓。
學(xué)習(xí)率(步長)我們自己定義, 一般很小讳侨,不行就更小。
alpha為學(xué)習(xí)率(步長)
梯度下降的常用方式
- 批量梯度下降: 就是考慮所有的樣本奏属,上式中的m為全部樣本個數(shù)(這樣容易得到最優(yōu)解跨跨,但是樣本非常多速度非常慢)
- 隨機梯度下降: 就是每次就考慮1個樣本,m=1(這樣速度快,但是不一定每次都朝著收斂方向移動)
- 小批量梯度下降: 每次考慮一部分樣本勇婴,m=10(實用)
邏輯回歸
解決問題
邏輯回歸解決的是分類問題忱嘹。
另一個例子,某次考試的成績出來了耕渴,學(xué)生們考了2個科目拘悦,每個科目的分?jǐn)?shù)為x1和x2,是否通過的結(jié)果為y橱脸,y的取值為0或1础米。
預(yù)測,下一個人的成績出來后添诉,能否通過考試屁桑?
科目1和科目2對考試結(jié)果的影響有多大?
y的取值為0或者1栏赴。
思路推理
這里我們引入Sigmoid函數(shù)
- Sigmoid函數(shù)
將y帶入函數(shù)有:
我們假設(shè)(y==1時)通過考試的概率服從Sigmoid函數(shù)的分布蘑斧,那么沒有通過考試(y==0時)的概率就是1減去通過考試的概率。
推理有:
我們將式子進行整合艾帐,當(dāng)y=0時,只有右邊的式子盆偿;當(dāng)y=1時柒爸,只有左邊的式子,恰好是左邊分類任務(wù)的情況事扭。這樣得一個式子可以表達前面的分類任務(wù)的兩個式子捎稚,這兩部分是等價的。
這樣求橄,就得到了事件發(fā)生的概率函數(shù)今野。
回到了概率問題,我們希望當(dāng)x的取某個值時罐农,通過和未通過的概率都越大越好(就是概率越接近100%最好)条霜,這樣才最接近我們現(xiàn)實的情況。
這樣就得到似然函數(shù):
轉(zhuǎn)換為梯度下降任務(wù)后求導(dǎo):
結(jié)果
這樣涵亏,我們使用梯度下降的方法宰睡,先定義一個theta矩陣,
求對數(shù)似然函數(shù)變換的(損失函數(shù))的值气筋。
然后定義步長拆内,更新theta矩陣,繼續(xù)求損失函數(shù)的值宠默。
從這n次迭代中挑選使損失函數(shù)最小的theta矩陣麸恍。