數(shù)學(xué)基礎(chǔ)
1.導(dǎo)數(shù)和梯度
導(dǎo)數(shù)
根據(jù)高中知識可以知道衫仑,如果想求一個函數(shù)的最小值,我們可以對函數(shù)求導(dǎo)堕花,導(dǎo)數(shù)為0的點文狱,是函數(shù)在該點處切線斜率為0的點,是函數(shù)的駐點缘挽,但不一定為極值點瞄崇,我們需要進(jìn)一步比較駐點左右的值來篩選【符號相反】,比如y=x3壕曼,x=0的并不是函數(shù)的極值點苏研。
但是以上知識僅限于二元簡單函數(shù),如果二元函數(shù)非常復(fù)雜腮郊,求導(dǎo)之后仍然不容易求解摹蘑,或者是多元函數(shù),我們就沒法使用導(dǎo)數(shù)求出最小值轧飞。
例如:
梯度
針對以上多元函數(shù)的情況衅鹿,我們需要使用梯度尋找函數(shù)的最小值撒踪。
梯度的幾何意義:
以平面函數(shù)f(x,y,z)為例,首先f(x,y,z)在某點(x0,y0,z0)處的梯度是一個向量,它的方向就是函數(shù)f(x,y)在該點函數(shù)值變化最快的方向,即方向?qū)?shù)最大的方向,它的模就等于該點方向?qū)?shù)的最大值.
梯度的代數(shù)求法:
一個函數(shù)對于其自變量分別求偏導(dǎo)數(shù),這些偏導(dǎo)數(shù)所組成的向量就是函數(shù)的梯度大渤。
梯度找最小值原理
簡答理解就是制妄,二元函數(shù)求導(dǎo)數(shù),一次導(dǎo)數(shù)篩選駐點泵三,再利用二次導(dǎo)數(shù)找到極值點耕捞。
拓展到多元函數(shù)就是,一次梯度選駐點烫幕,再利用二次梯度找極值點砸脊。
一次梯度求出來表現(xiàn)為列向量,二次梯度表現(xiàn)為海森矩陣纬霞。
根據(jù)泰勒級數(shù)可知凌埂,令變化參數(shù)為負(fù)梯度,可以確定為函數(shù)減小最快的方式诗芜。
2.概率論
概率分布函數(shù)
利用概率分部函數(shù)求區(qū)間[a,b]概率瞳抓,就是F(a)-F(b)的值。
概率密度函數(shù)
概率密度函數(shù)就是概率分部函數(shù)微分之后的結(jié)果伏恐,圖像表現(xiàn)如下:
根據(jù)牛頓萊布尼茨公式孩哑,可知
概率密度函數(shù)求區(qū)間[a,b]概率,就是a-b圍城面積的值翠桦。
兩者本質(zhì)互為微積分逆運算横蜒。
典型的概率密度函數(shù)就是正態(tài)分布:
3.貝葉斯定理
含義
P(A|B)=P(B|A)P(A)/P(B)。
其中P(A|B)的含義是:B發(fā)生的情況下销凑,A的概率丛晌。
舉例:
現(xiàn)分別有 A、B 兩個容器斗幼,在容器 A 里分別有 7 個紅球和 3 個白球澎蛛,在容器 B 里有 1 個紅球和 9 個白球,現(xiàn)已知從這兩個容器里任意抽出了一個紅球蜕窿,問這個球來自容器 A 的概率是多少?
假設(shè)已經(jīng)抽出紅球為事件 B谋逻,選中容器 A 為事件 A,則有:P(B) = 8/20桐经,P(A) = 1/2毁兆,P(B|A) = 7/10,按照公式阴挣,則有:P(A|B) = (7/10)(1/2) / (8/20) = 0.875
原理
利用條件概率推導(dǎo)气堕,P(A∩B) = P(A)P(B|A)=P(B)P(A|B)。
意義
利用已知信息出現(xiàn)概率,推出未知信息可能發(fā)生概率送巡。一般生活中摹菠,P(B|A)可能為已知條件,更容易計算骗爆,而P(A|B)不容易計算的情況次氨。
例如:
一座別墅在過去的 20 年里一共發(fā)生過 2 次被盜,別墅的主人有一條狗摘投,狗平均每周晚上叫 3 次煮寡,在盜賊入侵時狗叫的概率被估計為 0.9吃沪,問題是:在狗叫的時候發(fā)生入侵的概率
我們假設(shè) A 事件為狗在晚上叫脑慧,B 為盜賊入侵,則以天為單位統(tǒng)計恃泪,P(A) = 3/7外臂,P(B) = 2/(20365) = 2/7300坐儿,P(A|B) = 0.9,按照公式很容易得出結(jié)果:P(B|A) = 0.9(2/7300) / (3/7) = 0.00058
4.線性代數(shù)
基向量
數(shù)據(jù)表示為:
例如:
當(dāng)前坐標(biāo)系的基地e1=(1,0) e2=(0,1)宋光,比如(3,2)可以使用矩陣表示為
[1,0 * (3,2) T = (3,2)T
0,1]
就像我們圖上面的貌矿,我說有一個向量(3,2)罪佳,但是為什么這個向量是這樣的表示呢逛漫?因為它在我們的做標(biāo)系中,如果我把坐標(biāo)系換了赘艳,它就不是(3酌毡,2)了。作為基蕾管,首先的一個前提就是要相互垂直枷踏,或者說內(nèi)積為0,因為X和Y它們表達(dá)的分別是兩種指標(biāo)娇掏,我們不希望它們之間內(nèi)部存在任何聯(lián)系呕寝,所以必須讓他們內(nèi)積為0,這樣就是各自獨立的啦婴梧!
如果基底修改,對應(yīng)(3,2)向量也會改變客蹋。
這樣修改過后塞蹭,二維空間的數(shù)就轉(zhuǎn)成一維空間數(shù),實現(xiàn)了降維讶坯,且數(shù)據(jù)特征盡可能不發(fā)生變化番电。所謂的降維就是要把我們的數(shù)據(jù)投影到最合適的基中。
特征值和特征向量
其中,A是變換矩陣漱办,u是特征向量这刷,λ是特征值。
u在A矩陣變化下娩井,仍然滿足新的λu與之前u共線暇屋,且只是伸縮性改變。
A矩陣變化洞辣,圖像表現(xiàn)為對應(yīng)參考系基向量的改變咐刨。
方差,協(xié)方差扬霜,協(xié)方差矩陣
方差(Variance)是度量一組數(shù)據(jù)的分散程度定鸟。方差是各個樣本與樣本均值的差的平方和的均值:
協(xié)方差(Covariance)是度量兩個變量的變動的同步程度,也就是度量兩個變量線性相關(guān)性程度著瓶。如果兩個變量的協(xié)方差為0联予,則統(tǒng)計學(xué)上認(rèn)為二者線性無關(guān)。注意兩個無關(guān)的變量并非完全獨立材原,只是沒有線性相關(guān)性而已沸久。計算公式如下:
假設(shè)有一個矩陣:
然后我們用X乘以X的轉(zhuǎn)置,并乘上系數(shù)1/m:
這個矩陣對角線上的兩個元素分別是兩個字段的方差华糖,而其它元素是a和b的協(xié)方差麦向。兩者被統(tǒng)一到了一個矩陣的。根據(jù)矩陣相乘的運算法則客叉,這個結(jié)論很容易被推廣到一般情況:
設(shè)我們有m個n維數(shù)據(jù)記錄诵竭,將其按列排成n乘m的矩陣X,設(shè)C=1mXXT兼搏,則C是一個對稱矩陣卵慰,其對角線分別個各個字段的方差,而第i行j列和j行i列元素相同佛呻,表示i和j兩個字段的協(xié)方差裳朋。
PCA降維
目標(biāo):
設(shè)有m條n維數(shù)據(jù),目標(biāo)是變成k維數(shù)據(jù)(k<n)吓著,且盡可能保證數(shù)據(jù)特征不發(fā)生變化鲤嫡。
過程:
1)將原始數(shù)據(jù)按列組成n行m列矩陣X
2)將X的每一行(代表一個屬性字段)進(jìn)行零均值化,即減去這一行的均值
3)求出協(xié)方差矩陣
4)求出協(xié)方差矩陣的特征值及對應(yīng)的特征向量
5)將特征向量按對應(yīng)特征值大小從上到下按行排列成矩陣绑莺,取前k行組成矩陣P
6)Y=PX即為降維到k維后的數(shù)據(jù)
例子:
對其進(jìn)行0均值化處理:
求協(xié)方差矩陣:
求解后特征值為:
對特征值分解后按照特征值大小排序暖眼,取前多少個。通過特征值排列 纺裁,我們可以得到數(shù)據(jù)在這些特征向量上的分布和多樣性诫肠。
其對應(yīng)的特征向量分別是:
其中對應(yīng)的特征向量分別是一個通解司澎,c1和c2可取任意實數(shù)。那么標(biāo)準(zhǔn)化后的特征向量為:
因此我們的矩陣P是:
可最后我們用P的第一行乘以數(shù)據(jù)矩陣栋豫,就得到了降維后的表示:
5.損失函數(shù)
訓(xùn)練學(xué)習(xí)的目的就是盡可能最小化損失函數(shù)挤安,最常見兩種損失函數(shù)為hinge loss和softmax
1.hinge loss
定義
對于訓(xùn)練集中第i張圖片的數(shù)據(jù)xi,在w權(quán)重下對應(yīng)目標(biāo)值為f(xi,w)丧鸯,在該樣本的損失下我們用公式表示為
比如:
我們現(xiàn)在有三個目標(biāo)類別【豬蛤铜,狗,貓】骡送,f(xi,w)計算結(jié)果為[13,-7,11]昂羡,而實際結(jié)果是第一類豬,我們使用公式假定閾值量為10
把錯誤類別遍歷求和得到
L=max(0,-7-13+10)+max(0,11-13+10)>0摔踱,說明有權(quán)重偏差較小虐先,和真是值太近。
添加正則后的求N個目標(biāo)值平均損失函數(shù)的公式為【防止overfitting】
例如有3個目標(biāo)值派敷,求出平均損失為
意義
給定一個閾值蛹批,使得錯誤量和正確量之間差距大于該閾值,如果小于篮愉,則需要再次更新和學(xué)習(xí)腐芍。
2.softmax
定義
又稱歸一化函數(shù),Softmax是用于分類過程试躏,用來實現(xiàn)多分類的猪勇,簡單來說,它把一些輸出的神經(jīng)元映射到(0-1)之間的實數(shù)颠蕴,并且歸一化保證和為1泣刹,從而使得多分類的概率之和也剛好為1。
假如有3類目標(biāo)值犀被,理想情況下目標(biāo)值[1,0,0]
我們的預(yù)測輸出結(jié)果為[-3,1.5,2.7]椅您,我們要利用softmax把這個值映射到(0,1)上,且概率相加為1寡键。
第一步:
y1 = exp(x1) = exp(-3) = 0.05
y2 = exp(x2) = exp(1.5) = 4.48
y3 = exp(x3) = exp(2.7) = 14.88
第二步:
z1 = y1/(y1+y2+y3) = 0.05/(0.05+4.48+14.88) = 0.0026
z2 = y2/(y1+y2+y3) = 4.48/(0.05+4.48+14.88) = 0.2308
z3 = y3/(y1+y2+y3) = 14.88/(0.05+4.48+14.88) = 0.7666
那么掀泳,
[-3,1.5,2.7]->[0.0026,0.2308,0.7666]
然后,我們使用交叉熵公式計算
例如:
意義
同hinge loss比較而言西轩,hinge loss 會在滿足閾值之后停止學(xué)習(xí)员舵,而對于softmax,基本很難達(dá)到真正和理想情況一模一樣藕畔,所以需要設(shè)置參數(shù)固灵,達(dá)到要求停止;但是不管hinge loss還是softmax都是同向反應(yīng)損失的函數(shù)劫流。
6.梯度下降和反向傳播
0.基礎(chǔ)概念
梯度下降的核心
多元函數(shù)(損失函數(shù))求最小值的方法,比較好用的就是使用梯度下降,找到梯度[各個方向上求偏導(dǎo)祠汇,本質(zhì)是一個向量]接近0的函數(shù)的位置仍秤。
梯度:是一個矢量,其方向上的方向?qū)?shù)最大可很,其大小正好是此最大方向?qū)?shù)诗力。
梯度下降:不斷求出權(quán)重w關(guān)于損失函數(shù)C的梯度(偏導(dǎo)數(shù)),不斷更新我抠,直到權(quán)重w關(guān)于函數(shù)C梯度接近0苇本,就找到此時損失函數(shù)最小值時對應(yīng)權(quán)重w的值。
反向傳播的核心
鏈?zhǔn)椒▌t[借助中間變量]:
正向:f(x,y,z)=(-2+5)-4=-12
反向:令q=x+y菜拓,想求出f(x,y,z)關(guān)于x的偏導(dǎo)數(shù)瓣窄,先求f(x,y,z)關(guān)于q的偏導(dǎo)數(shù)=z=-4,再求f(q)關(guān)于x的偏導(dǎo)數(shù)=1纳鼎,根據(jù)鏈?zhǔn)椒▌t f(x,y,z)關(guān)于x的偏導(dǎo)就是-41=-4
Sigmoid
Sigmoid導(dǎo)數(shù)可以用自身表示俺夕。
神經(jīng)網(wǎng)絡(luò)中的正向和反向