大部分機器學習演算法具有隨機性,只需多次實驗求平均值即可嗎?

時間 2021-05-05 15:20:54

1樓:ADimon

這個問題我深有體會。

總之關於這個隨機種子數你是可以自己設定的,不設定每次隨機性都不同,設定了(相當於固定了random seed)每次的結果就能復現。

關於設定與不設定來說說我的看法:

如果你想使你的實驗結果能夠被復現,你就設定乙個固定的數值。

如果你期待乙個更加接近期望的結果,你就不要設定這個random seed(sklearn中叫random state),實驗多次,然後取平均。比如你實驗你乙個模型的準確度,你就跑10次然後取平均。

總之一切看你的目的。至於機器學習演算法的隨機性,主要體現在演算法本質和資料2個層面上:

演算法層面:權重隨機性

資料層面:資料切分隨機性(分測試集和訓練集的時候)可能還有其他隨機性,剛寫完作業不想細想了,有空再答。

2樓:秋小涼

初始值都是隨機,這沒錯。

但是神經網路的有效性是由證明該演算法能在任意初始值為起始值的條件下都可以使損失函式收斂來保證的。

也就是不管初始值是多少,經過若干輪訓練後,模型的損失函式都能收斂到某個值附近。初始值具體多少,不是關鍵。

初始值選擇也是有技巧的,可以避免模型陷入區域性最優。

同樣其他的一些ticks,比如正則,學習率,啟用函式的選擇等也是為了讓模型盡量收斂到全域性最優。

回到題目,每個人每次執行的時候初始值都不同,但是不影響模型隨著訓練的進行不斷收斂。

3樓:馬東什麼

隨機性當然不止是初始權重的不同就神經網路來說初始權重有隨機性區域性最優解的求解路徑有隨機性每乙個batch的不同樣本的分布情況也會引發隨機性等,拓展到其它的演算法上就更多了,gbdt演算法還涉及到行列取樣引入了更多隨機性,一般來說當實驗的次數趨於無窮大的時候平均值最終會處於乙個穩定的位置,當然實際應用的話根據實際情況來做取捨,另外根據你的不完整的描述沒辦法給出什麼確定的結論只是給出乙個一般性的經驗結論而已,畢竟也不知道你這個實驗是怎麼設計的。

4樓:

有木有可能老濕就是埋了個雷?看看大家上課聽了沒。

首先,吐槽下這個問題「需求」不明確。取平均值即可,即可什麼?即可成仙?即可求得真值?

其次,猜測背後用意,是想問隨機方法在機器學習中起到了什麼作用,造成的誤差又應該怎麼處理。

然而取平均值只是個平差的簡單策略罷了,並不解決對誤差的估算問題,或者說效果不夠好,因為沒有考慮誤差(雜訊)模型是個啥,只有誤差期望為 0 的誤差模型理論上才合適,如標準正態分佈。當然工程應用上經常「假設」誤差符合正態分佈。所以,取平均值不夠。

現在一些流行的機器學習演算法都或多或少使用了隨機演算法,尤其是神經網路,其誤差傳遞與修正借助了模擬退火思想,基於 Monte-Carlo 迭代求解,隨機尋優。

說人話就是,不停隨機嘗試直到發現好的結果,保留好結果的解題策略成為最終演算法實現。

因此,隨機性是機器學習演算法的乙個重要特點,隨機過程更是機器學習的重要解題手段,不是取平均值即可,誤差也不是取平均值就能消除。

題外話:同樣演算法要多次實驗取平均值的,這也已經是個演算法了...

沒學過幾何,是不是用CAD繪製不出大部分機械型別的圖?

推優創意 1 讀懂圖 不管你要學哪個行業繪圖,先能讀懂該行業的圖是剛需。為什麼這麼說?如果只是依葫蘆畫瓢,就算能照著畫出形來,自己不知道所以然也是惘然,自己畫著心裡也沒底,畫出來自己也讀不懂,更不用說自檢圖形繪製得有沒有問題了。2 熟悉行業繪圖標準和規範 無論是哪個行業,圖形是交流的語言。就以機械制...

機器學習,特徵值A的取值大部分是a,極少數是b,應該怎麼處理?

祁崑崙 題主問題描述不是很完全,處理方法和你的資料收集以及目的有關。首先如果你的樣本不存在偏差,也就是說根據資料可以得出樣本中主要以男性為主,這時性別分布基本能夠代表性別維度對於結果的影響水平 但如果是由於樣本有偏,收集不足的問題,則要需要樣本不均衡性處理的方法,比如異常檢測方法,或者給性別維度做O...

為什麼在部分機器學習中訓練模型時使用GPU的效果比CPU更好?

千佛山彭于晏 哈哈哈,看完樓上的答案簡單總結一下。GPU是為渲染操作設計的,渲染的過程就是一些圖形點 幾何點位置和顏色值的計算。這些計算的形式就是一些四維向量和矩陣的運算。而我們在訓練模型引數的時候,進行的就是這樣的計算。所以GPU很適合加速我們的訓練過程。 shulang lei 假如是3x4的陣...