1. 數(shù)據(jù)集的隨機(jī)性
使用不同的數(shù)據(jù)訓(xùn)練燕垃,機(jī)器學(xué)習(xí)算法會(huì)生成不同的模型。模型與不同數(shù)據(jù)之間的差異稱(chēng)為模型方差(如偏差方差權(quán)衡)。
數(shù)據(jù)是隨機(jī)性來(lái)源之一
2. 數(shù)據(jù)觀(guān)測(cè)順序的隨機(jī)性
暴露給模型的數(shù)據(jù)順序會(huì)影響模型的內(nèi)部決策侦副,有些模型對(duì)此比較敏感挣棕,如神經(jīng)網(wǎng)絡(luò)固耘。
tips:每次訓(xùn)練迭代之前最好隨機(jī)shuffle一下。
對(duì)訓(xùn)練集使用shuffle的作用
固定的數(shù)據(jù)集順序意味著固定的訓(xùn)練樣本户辫,也就意味著權(quán)值更新的方向是固定的瘟忱,而無(wú)順序的數(shù)據(jù)集垫挨,意味著更新方向是隨機(jī)的涡相。(如果是固定順序切威,網(wǎng)絡(luò)可能會(huì)將順序作為一個(gè)特征提取出來(lái)犬缨,后續(xù)的模型會(huì)嚴(yán)重依賴(lài)順序截酷,所以需要shuffle,將順序打亂)
如下圖中的A點(diǎn),如果固定的更新方向是紅色箭頭方向抑堡,則很難收斂到最優(yōu)點(diǎn)爷恳,而如果更新方向是隨機(jī)的温亲,則有可能就沿著白色箭頭方向收斂到最優(yōu)點(diǎn)。
所以固定的數(shù)據(jù)集順序,嚴(yán)重限制了梯度優(yōu)化方向的可選擇性,導(dǎo)致收斂點(diǎn)選擇空間嚴(yán)重變少纯陨,容易導(dǎo)致過(guò)擬合。
所以模型是會(huì)記住數(shù)據(jù)路線(xiàn)的活喊,所以shuffle很重要,一定要shuffle浑此。
3. 算法的隨機(jī)性
算法利用隨機(jī)性
算法會(huì)初始化一個(gè)隨機(jī)狀態(tài)料饥,如神經(jīng)網(wǎng)絡(luò)的初始權(quán)值等。
對(duì)于基于deterministic method訓(xùn)練的算法來(lái)說(shuō)篇裁,在vote相同的情況下产还,可能會(huì)依賴(lài)于隨機(jī)性來(lái)解決她按。
為什么要隨機(jī)生成初始化權(quán)值?
打破對(duì)稱(chēng)性默伍。
初始化權(quán)值的不同显设,因此可以有機(jī)會(huì)找到相同問(wèn)題的不同解決方案。
在神經(jīng)網(wǎng)絡(luò)中,假設(shè)將所有權(quán)重初始化為相同的值(例如,0或1)架馋。在這種情況下,每個(gè)隱藏單元都會(huì)得到完全相同的信號(hào)屏鳍。如果將所有權(quán)重初始化為1山涡,則每個(gè)單元得到的信號(hào)等于輸入(和輸出)之和sigmoid(sum(inputs)))。如果所有的權(quán)重都是零妒蔚,更糟糕的是,每個(gè)隱藏的單位都會(huì)得到零信號(hào)。無(wú)論輸入是什么榨崩,如果所有權(quán)重相同彩郊,隱藏層中的所有單位也將是相同的。
4. 一些訓(xùn)練技巧的隨機(jī)性
一些訓(xùn)練技巧本身也會(huì)引入隨機(jī)性來(lái)對(duì)抗過(guò)擬合,比如 dropout惠险。
5. 重采樣的隨機(jī)性
評(píng)估模型的時(shí)候進(jìn)行采樣,使用諸如將數(shù)據(jù)分割成隨機(jī)訓(xùn)練和測(cè)試集、k-折疊交叉驗(yàn)證來(lái)生成k個(gè)隨機(jī)分割數(shù)據(jù)集。用以評(píng)估模型的表現(xiàn)寺渗。
總結(jié)
毫無(wú)疑問(wèn),隨機(jī)性在機(jī)器學(xué)習(xí)中扮演了重要角色
隨機(jī)種子與可重復(fù)的結(jié)果
通過(guò)在數(shù)據(jù)集上運(yùn)行算法來(lái)生成模型。那么,是否能夠每次在同一個(gè)數(shù)據(jù)集上運(yùn)行算法都得到一樣的模型呢?
可以。
可以通過(guò)使用完全一樣的代碼、數(shù)據(jù)和一系列隨機(jī)數(shù)來(lái)實(shí)現(xiàn)使用機(jī)器學(xué)習(xí)的可重復(fù)性。目前程序中的隨機(jī)數(shù)是由偽隨機(jī)數(shù)生成器生成的距芬,這些偽隨機(jī)數(shù)生成器的函數(shù)是確定性的拄养,只要使用相同的隨機(jī)種子,就能夠得到相同的一系列隨機(jī)數(shù)。
因此在每次構(gòu)造模型之前給定固定的隨機(jī)種子聂薪,就可以復(fù)現(xiàn)模型耀找。
通過(guò)給定相同的隨機(jī)種子狞悲,可以比較算法和一些數(shù)據(jù)處理等(保證模型每次能生成相同的結(jié)果站超,以此控制變量,來(lái)評(píng)估做的一些處理、調(diào)整等對(duì)結(jié)果的影響)肮柜。It should be a default part of each experiment we run.