機(jī)器學(xué)習(xí)





1.性能度量


除上述損失函數(shù)之外,分類任務(wù)還有很多其他有用的性能度量旧困。


混淆矩陣醇份、ROC、AUC

2.損失函數(shù)

3.優(yōu)化器(Momentum吼具、NAG僚纷、Adagrad、Adadelta拗盒、RMSprop怖竭、Adam)


image.png

image.png

4. 特征縮放:

瘦長(zhǎng)的橢圓,會(huì)導(dǎo)致趨向最值時(shí)梯度下降的震蕩陡蝇;所以需要縮放特征值痊臭,使得其取值范圍相近。按經(jīng)驗(yàn)登夫,特征縮放到3倍或1/3是比較可以接受的广匙。

  • 標(biāo)準(zhǔn)化 (standardization):每個(gè)維度的特征減去該特征均值,除以該維度的標(biāo)準(zhǔn)差恼策。

  • 規(guī)范化 (normalization):每個(gè)維度的特征減去該特征最小值艇潭,除以該特征的最大值與最小值之差。

image
image.png

5.學(xué)習(xí)率

α的取值要合適戏蔑,太小太慢,太大震蕩鲁纠。
選取α的經(jīng)驗(yàn)总棵,從……0.001—>0.01—>0.1—>1…

image.png

參數(shù)的更新公式為:
??_{??+??} = ??_?? ? ????????????????\_??????????

指數(shù)衰減學(xué)習(xí)率:

學(xué)習(xí)率隨著訓(xùn)練輪數(shù)變化而動(dòng)態(tài)更新
學(xué)習(xí)率計(jì)算公式如下:decayed\_learning\_rate=LEARNING\_RATE\_BASE*decay\_rate^{(global\_step/decay\_steps)}

用 Tensorflow 的函數(shù)表示為:
global_step = tf.Variable(0, trainable=False)
learning_rate = tf.train.exponential_decay(LEARNING_RATE_BASE, global_step, decay_steps, decay_rate, staircase=True/False)
(學(xué)習(xí)率初始值。 當(dāng)前訓(xùn)練輪數(shù)為不可訓(xùn)練型參數(shù)改含。完整使用一遍數(shù)據(jù)集所需迭代次數(shù)情龄。學(xué)習(xí)率衰減率。
學(xué)習(xí)率 learning_rate 更新頻率為輸入數(shù)據(jù)集總樣本數(shù)除以每次喂入樣本數(shù)。若 staircase 設(shè)置為 True 時(shí)骤视,表示 global_step/learning rate step 取整數(shù)鞍爱,學(xué)習(xí)率階梯型衰減;若 staircase 設(shè)置為 false 時(shí)专酗,學(xué)習(xí)率會(huì)是一條平滑下降的曲線睹逃。使用指數(shù)衰減的學(xué)習(xí)率,在迭代初期得到較高的下降速度祷肯,可以在較小的訓(xùn)練輪數(shù)下取得不錯(cuò)的收斂程度沉填。

6. 激活函數(shù)

常用的激活函數(shù)有 relu、sigmoid佑笋、tanh 等翼闹。

① 激活函數(shù) relu: 在 Tensorflow 中,用 tf.nn.relu()表示
image.png

image.png

image.png

需要激活函數(shù)來(lái)引入非線性因素蒋纬,使得神經(jīng)網(wǎng)絡(luò)可以任意逼近任何非線性函數(shù)猎荠。

sigmod 函數(shù)

a=\frac{1}{1+e^{-z}} 導(dǎo)數(shù) :a^\prime =a(1 - a)

其輸出是在(0,1)這個(gè)開區(qū)間,它能夠把輸入的連續(xù)實(shí)值變換為0和1之間的輸出,如果是非常大的負(fù)數(shù)蜀备,那么輸出就是0关摇;如果是非常大的正數(shù)輸出就是1,起到了抑制的作用琼掠。

tanh 函數(shù)

a=\frac{e^z-e^{-z}}{e^z+e^{-z}} 導(dǎo)數(shù):a^\prime =1 - a^2

tanh是雙曲正切函數(shù),輸出區(qū)間是在(-1,1)之間拒垃,而且整個(gè)函數(shù)是以0為中心的

ReLU 函數(shù)

Relu(Rectified Linear Units)修正線性單元

a=max(0,z) 導(dǎo)數(shù)大于0時(shí)1,小于0時(shí)0瓷蛙。

也就是說(shuō):
z>0時(shí)悼瓮,梯度始終為1,從而提高神經(jīng)網(wǎng)絡(luò)基于梯度算法的運(yùn)算速度艰猬。然而當(dāng)z<0時(shí)横堡,梯度一直為0。
ReLU函數(shù)只有線性關(guān)系(只需要判斷輸入是否大于0)不管是前向傳播還是反向傳播冠桃,都比sigmod和tanh要快很多

Leaky Relu 函數(shù)

為了解決relu函數(shù)z<0時(shí)的問(wèn)題出現(xiàn)了 Leaky ReLU函數(shù)命贴,該函數(shù)保證在z<0的時(shí)候,梯度仍然不為0食听。
ReLU的前半段設(shè)為αz而非0胸蛛,通常α=0.01 a=max(\alpha z,z)

image.png

7.正則化

改善過(guò)擬合
向你的模型加入某些規(guī)則,加入先驗(yàn)樱报,縮小解空間葬项,減小求出錯(cuò)誤解的可能性。你要把你的知識(shí)數(shù)學(xué)化告訴這個(gè)模型迹蛤,對(duì)代價(jià)函數(shù)來(lái)說(shuō)民珍,就是加入對(duì)模型“長(zhǎng)相”的懲罰
在損失函數(shù)中給每個(gè)參數(shù) w 加上權(quán)重襟士,引入模型復(fù)雜度指標(biāo),從而抑制模型噪聲嚷量,減小過(guò)擬合陋桂。

使用正則化后,損失函數(shù) loss 變?yōu)閮身?xiàng)之和:
loss = loss(y 與 y_) + REGULARIZER*loss(w)
其中蝶溶,第一項(xiàng)是預(yù)測(cè)結(jié)果與標(biāo)準(zhǔn)答案之間的差距嗜历,如之前講過(guò)的交叉熵、均方誤差等身坐;第二項(xiàng)是正則化計(jì)算結(jié)果秸脱。
正則化計(jì)算方法:
① L1 正則化:???????????? = ∑_??|??_??|
用 Tesnsorflow 函數(shù)表示:loss(w) = tf.contrib.layers.l1_regularizer(REGULARIZER)(w)
② L2 正則化:???????????? = ∑_??|??_??^?? |
用 Tesnsorflow 函數(shù)表示:loss(w) = tf.contrib.layers.l2_regularizer(REGULARIZER)(w)

正規(guī)方程

image.png

image.png

范數(shù)

numpy.linalg.norm求矩陣的范數(shù)

滑動(dòng)平均:

記錄了一段時(shí)間內(nèi)模型中所有參數(shù) w 和 b 各自的平均值。利用滑動(dòng)平均值可以增強(qiáng)模型的泛化能力部蛇。

image.png

用 Tesnsorflow 函數(shù)表示為:
ema=tf.train.ExponentialMovingAverage(MOVING_AVERAGE_DECAY摊唇,global_step)
其中,MOVING_AVERAGE_DECAY 表示滑動(dòng)平均衰減率涯鲁,一般會(huì)賦接近 1 的值巷查,global_step 表示當(dāng)前訓(xùn)練了多少輪。
ema_op = ema.apply(tf.trainable_variables())實(shí)現(xiàn)對(duì)括號(hào)內(nèi)參數(shù)求滑動(dòng)平均抹腿,tf.trainable_variables()函數(shù)實(shí)現(xiàn)把所有待訓(xùn)練參數(shù)匯總為列表岛请。

ema.average() 查看模型中參數(shù)的平均值

反向傳播訓(xùn)練方法:




以減小 loss 值為優(yōu)化目標(biāo),有梯度下降警绩、momentum 優(yōu)化器崇败、adam 優(yōu)化器等優(yōu)化方法。
train_step=tf.train.GradientDescentOptimizer(learning_rate).minimize(loss)使用隨機(jī)梯度下降算法肩祥,使參數(shù)沿著梯度的反方向后室,即總損失減小的方向移動(dòng),實(shí)現(xiàn)更新參數(shù)


train_step=tf.train.MomentumOptimizer(learning_rate,momentum).minimize(loss)在更新參數(shù)時(shí)混狠,利用了超參數(shù)

train_step=tf.train.AdamOptimizer(learning_rate).minimize(loss)
是利用自適應(yīng)學(xué)習(xí)率的優(yōu)化算法岸霹,Adam 算法和隨機(jī)梯度下降算法不同。隨機(jī)梯度下降算法保持單一的學(xué)習(xí)率更新所有的參數(shù),學(xué)習(xí)率在訓(xùn)練過(guò)程中并不會(huì)改變。而 Adam 算法通過(guò)計(jì)算梯度的一階矩估計(jì)和二階矩估計(jì)而為不同的參數(shù)設(shè)計(jì)獨(dú)立的自適應(yīng)性學(xué)習(xí)率鸿竖。

交叉熵(Cross Entropy):

表示兩個(gè)概率分布之間的距離。交叉熵越大模捂,兩個(gè)概率分布距離越遠(yuǎn),兩個(gè)概率分布越相異;交叉熵越小,兩個(gè)概率分布距離越近杀捻,兩個(gè)概率分布越相似。
交叉熵計(jì)算公式:??(??\_ , ??) = ?∑??\_ ? ??????_??

softmax 函數(shù):

把每個(gè)類別的分?jǐn)?shù)轉(zhuǎn)換為概率
將 n 分類的 n 個(gè)輸出(y1,y2…yn)變?yōu)闈M足以下概率分布要求的函數(shù)坠七。


image.png

Batch_normalization

隨著網(wǎng)絡(luò)的深度增加水醋,每層特征值分布會(huì)逐漸的向激活函數(shù)的輸出區(qū)間的上下兩端(激活函數(shù)飽和區(qū)間)靠近,這樣繼續(xù)下去就會(huì)導(dǎo)致梯度消失彪置。BN就是通過(guò)方法將該層特征值分布重新拉回標(biāo)準(zhǔn)正態(tài)分布拄踪,特征值將落在激活函數(shù)對(duì)于輸入較為敏感的區(qū)間,輸入的小變化可導(dǎo)致?lián)p失函數(shù)較大的變化拳魁,使得梯度變大惶桐,避免梯度消失,同時(shí)也可加快收斂潘懊。

過(guò)程:input={x1,x2,x3…xn}
1 計(jì)算 x1-xn的均值u
2 計(jì)算x1-xn的方差v
3 每個(gè)x_i = (x_i – u) / (sqrt(v^2)+ e) e是一個(gè)小小偏置姚糊,防止分母趨向于0.
4 在對(duì)結(jié)果進(jìn)行scale于shift操作 x_i = scale*x_i + shift
第四步存在的原因是batch_normal后,數(shù)據(jù)趨向標(biāo)準(zhǔn)正態(tài)授舟,會(huì)導(dǎo)致網(wǎng)絡(luò)表達(dá)能力變差救恨,這里加入后標(biāo)準(zhǔn)正態(tài)分布有些偏移,變得不那么標(biāo)準(zhǔn)了释树。這兩個(gè)參數(shù)時(shí)學(xué)習(xí)而來(lái)肠槽。

減少梯度消失,加快了收斂過(guò)程奢啥。
起到類似dropout一樣的正則化能力秸仙,一定程度上防止過(guò)擬合。
放寬了一定的調(diào)參要求桩盲。
可以替代LRN寂纪。
但是需要計(jì)算均值與方差,不適合動(dòng)態(tài)網(wǎng)絡(luò)或者RNN赌结。計(jì)算均值方差依賴每批次捞蛋,因此數(shù)據(jù)最好足夠打亂。

數(shù)據(jù)集的劃分

按一定比例劃分為訓(xùn)練集和測(cè)試集
這種方法也稱為保留法姑曙。我們通常取8-2襟交、7-3、6-4伤靠、5-5比例切分捣域,直接將數(shù)據(jù)隨機(jī)劃分為訓(xùn)練集和測(cè)試集,然后使用訓(xùn)練集來(lái)生成模型宴合,再用測(cè)試集來(lái)測(cè)試模型的正確率和誤差焕梅,以驗(yàn)證模型的有效性。

交叉驗(yàn)證法
交叉驗(yàn)證一般采用k折交叉驗(yàn)證卦洽,即k-fold cross validation贞言,往往k取為10。在這種數(shù)據(jù)集劃分法中阀蒂,我們將數(shù)據(jù)集劃分為k個(gè)子集该窗,每個(gè)子集均做一次測(cè)試集弟蚀,每次將其余的作為訓(xùn)練集。在交叉驗(yàn)證時(shí)酗失,我們重復(fù)訓(xùn)練k次义钉,每次選擇一個(gè)子集作為測(cè)試集,并將k次的平均交叉驗(yàn)證的正確率作為最終的結(jié)果规肴。

訓(xùn)練集捶闸、驗(yàn)證集、測(cè)試集法
我們首先將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集拖刃,由于模型的構(gòu)建過(guò)程中也需要檢驗(yàn)?zāi)P蜕咀常瑱z驗(yàn)?zāi)P偷呐渲茫约坝?xùn)練程度兑牡,過(guò)擬合還是欠擬合央碟,所以會(huì)將訓(xùn)練數(shù)據(jù)再劃分為兩個(gè)部分,一部分是用于訓(xùn)練的訓(xùn)練集发绢,另一部分是進(jìn)行檢驗(yàn)的驗(yàn)證集硬耍。驗(yàn)證集可以重復(fù)使用,主要是用來(lái)輔助我們構(gòu)建模型的边酒。


image



















最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末经柴,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子墩朦,更是在濱河造成了極大的恐慌坯认,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件氓涣,死亡現(xiàn)場(chǎng)離奇詭異牛哺,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)劳吠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門引润,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人痒玩,你說(shuō)我怎么就攤上這事淳附。” “怎么了蠢古?”我有些...
    開封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵奴曙,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我草讶,道長(zhǎng)洽糟,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮坤溃,結(jié)果婚禮上拍霜,老公的妹妹穿的比我還像新娘。我一直安慰自己薪介,他們只是感情好沉御,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著昭灵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪伐谈。 梳的紋絲不亂的頭發(fā)上烂完,一...
    開封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音诵棵,去河邊找鬼抠蚣。 笑死,一個(gè)胖子當(dāng)著我的面吹牛履澳,可吹牛的內(nèi)容都是我干的嘶窄。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼距贷,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼柄冲!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起忠蝗,我...
    開封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤现横,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后阁最,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體戒祠,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年速种,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了姜盈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡配阵,死狀恐怖馏颂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情闸餐,我是刑警寧澤饱亮,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站舍沙,受9級(jí)特大地震影響近上,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拂铡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一壹无、第九天 我趴在偏房一處隱蔽的房頂上張望葱绒。 院中可真熱鬧,春花似錦斗锭、人聲如沸地淀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)帮毁。三九已至,卻和暖如春豺撑,著一層夾襖步出監(jiān)牢的瞬間烈疚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工聪轿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留爷肝,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓陆错,卻偏偏與公主長(zhǎng)得像灯抛,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子音瓷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355