神經(jīng)網(wǎng)絡數(shù)據(jù)集要求 用同一數(shù)據(jù)集訓練神經(jīng)網(wǎng)絡,每次訓練結果不一樣,有時正確率很高,有時很低,為什么?
用同一數(shù)據(jù)集訓練神經(jīng)網(wǎng)絡,每次訓練結果不一樣,有時正確率很高,有時很低,為什么?其實這個問題的實質是,如果我們用機器學習算法在數(shù)據(jù)集上訓練一次數(shù)據(jù)模型,保存模型,然后用同樣的算法和同樣的數(shù)據(jù)集和數(shù)據(jù)排
用同一數(shù)據(jù)集訓練神經(jīng)網(wǎng)絡,每次訓練結果不一樣,有時正確率很高,有時很低,為什么?
其實這個問題的實質是,如果我們用機器學習算法在數(shù)據(jù)集上訓練一次數(shù)據(jù)模型,保存模型,然后用同樣的算法和同樣的數(shù)據(jù)集和數(shù)據(jù)排序再訓練一遍,第一個模型和第二個模型是一樣的嗎?
這可能是因為神經(jīng)網(wǎng)絡用增益或權重的隨機值初始化,然后每個模擬在訓練階段有不同的起點。如果您希望始終保持相同的初始權重,可以嘗試為初始權重修復種子以消除問題。
如果我們深入研究這個問題,我們可以根據(jù)ml算法的“確定性”來對其進行分類。當從同一個數(shù)據(jù)集進行訓練時:
一個是總是生成相同的模型,并且記錄以相同的順序呈現(xiàn);
另一個是總是生成不同的模型,并且記錄順序不同。
在實踐中,大多數(shù)是“不確定的”。模型變化的原因可能是機器學習算法本身存在隨機游走、不同權值的隨機初始化、不同分量的概率分布抽樣來分配優(yōu)化函數(shù)。
雖然模型的“不確定性”可能會對單個訓練結果造成干擾,但我們也可以用“不確定性”來確認模型的穩(wěn)定性,如決策樹、支持向量機(SVM)、神經(jīng)網(wǎng)絡等,最終可以通過多次迭代來確認模型的穩(wěn)定性。
卷積神經(jīng)網(wǎng)絡作為特征提取器,用訓練集訓練好的神經(jīng)網(wǎng)絡可以提取訓練集的特征嗎?還是只能提取測試集的?
1. 卷積神經(jīng)網(wǎng)絡結構
2。卷積神經(jīng)網(wǎng)絡的發(fā)展歷史
3。反向傳播
當用訓練集訓練卷積神經(jīng)網(wǎng)絡(CNN)時,卷積神經(jīng)網(wǎng)絡正向傳播的卷積池過程就是特征提取過程。最后,計算出網(wǎng)絡的損失函數(shù),然后根據(jù)鏈導數(shù)規(guī)則,利用反向傳播算法更新網(wǎng)絡的權值參數(shù)。這是調整各層網(wǎng)絡和卷積核的特征抽取器的參數(shù)(各層的特征和功能不同)。
訓練是為了使整個卷積神經(jīng)網(wǎng)絡的特征提取效果更好(越來越適合于訓練集),所以訓練后的卷積神經(jīng)網(wǎng)絡可以提取訓練集的特征。
運行測試集的目的是測試特征提取器的能力。此時,通過訓練集對CNN各層的參數(shù)進行訓練,可以提取出相似訓練集的參數(shù)(圖像、聲音、文本)。此時,我們需要再次運行測試集來測試CNN的特征提取能力。
數(shù)據(jù)集:機器學習任務中使用的一組數(shù)據(jù),每個數(shù)據(jù)集稱為一個樣本。反映樣品在某一方面的性能或性質的項目或屬性稱為特征。
訓練集:訓練過程中使用的數(shù)據(jù)集,其中每個訓練樣本稱為訓練樣本。從數(shù)據(jù)中學習模型的過程稱為學習(訓練)。
測試集:學習模型后,將其用于預測的過程稱為測試,使用的數(shù)據(jù)集稱為測試集,每個樣本稱為測試樣本。
既然使用神經(jīng)網(wǎng)絡也可以解決分類問題,那SVM、決策樹這些算法還有什么意義呢?
這取決于數(shù)據(jù)量和樣本數(shù)。不同的樣本數(shù)和特征數(shù)據(jù)適合不同的算法。像神經(jīng)網(wǎng)絡這樣的深度學習算法需要訓練大量的數(shù)據(jù)集來建立更好的預測模型。許多大型互聯(lián)網(wǎng)公司更喜歡深度學習算法,因為他們獲得的用戶數(shù)據(jù)是數(shù)以億計的海量數(shù)據(jù),這更適合于卷積神經(jīng)網(wǎng)絡等深度學習算法。
如果樣本數(shù)量較少,則更適合使用SVM、決策樹和其他機器學習算法。如果你有一個大的數(shù)據(jù)集,你可以考慮使用卷積神經(jīng)網(wǎng)絡和其他深度學習算法。
以下是一個圖表,用于說明根據(jù)樣本數(shù)量和數(shù)據(jù)集大小選擇的任何機器學習算法。
如果你認為它對你有幫助,你可以多表揚,也可以關注它。謝謝您!