深度學(xué)習(xí)算法有哪些 用同一數(shù)據(jù)集訓(xùn)練神經(jīng)網(wǎng)絡(luò),每次訓(xùn)練結(jié)果不一樣,有時正確率很高,有時很低,為什么?
用同一數(shù)據(jù)集訓(xùn)練神經(jīng)網(wǎng)絡(luò),每次訓(xùn)練結(jié)果不一樣,有時正確率很高,有時很低,為什么?其實這個問題的實質(zhì)是,如果我們用機(jī)器學(xué)習(xí)算法在數(shù)據(jù)集上訓(xùn)練一次數(shù)據(jù)模型,保存模型,然后用同樣的算法和同樣的數(shù)據(jù)集和數(shù)據(jù)排
用同一數(shù)據(jù)集訓(xùn)練神經(jīng)網(wǎng)絡(luò),每次訓(xùn)練結(jié)果不一樣,有時正確率很高,有時很低,為什么?
其實這個問題的實質(zhì)是,如果我們用機(jī)器學(xué)習(xí)算法在數(shù)據(jù)集上訓(xùn)練一次數(shù)據(jù)模型,保存模型,然后用同樣的算法和同樣的數(shù)據(jù)集和數(shù)據(jù)排序再訓(xùn)練一遍,第一個模型和第二個模型是一樣的嗎?
這可能是因為神經(jīng)網(wǎng)絡(luò)用增益或權(quán)重的隨機(jī)值初始化,然后每個模擬在訓(xùn)練階段有不同的起點。如果您希望始終保持相同的初始權(quán)重,可以嘗試為初始權(quán)重修復(fù)種子以消除問題。
如果我們深入研究這個問題,我們可以根據(jù)ml算法的“確定性”來對其進(jìn)行分類。當(dāng)從同一個數(shù)據(jù)集進(jìn)行訓(xùn)練時:
一個是總是生成相同的模型,并且記錄以相同的順序呈現(xiàn);
另一個是總是生成不同的模型,并且記錄順序不同。
在實踐中,大多數(shù)是“不確定的”。模型變化的原因可能是機(jī)器學(xué)習(xí)算法本身存在隨機(jī)游走、不同權(quán)值的隨機(jī)初始化、不同分量的概率分布抽樣來分配優(yōu)化函數(shù)。
雖然模型的“不確定性”可能會對單個訓(xùn)練結(jié)果造成干擾,但我們也可以用“不確定性”來確認(rèn)模型的穩(wěn)定性,如決策樹、支持向量機(jī)(SVM)、神經(jīng)網(wǎng)絡(luò)等,最終可以通過多次迭代來確認(rèn)模型的穩(wěn)定性。
深度學(xué)習(xí)和普通的機(jī)器學(xué)習(xí)有什么區(qū)別?
一張圖片顯示了這種關(guān)系。機(jī)器學(xué)習(xí)是人工智能的重要領(lǐng)域之一,而深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個分支。深度學(xué)習(xí)之所以近年來流行起來,是因為它突破了傳統(tǒng)機(jī)器學(xué)習(xí)無法解決的一些問題。
機(jī)器學(xué)習(xí)的意義在于代替人工完成重復(fù)性工作,識別出統(tǒng)一的規(guī)則(模式)。但是對于傳統(tǒng)的機(jī)器學(xué)習(xí)來說,特征提取的難度不?。ㄌ卣骺梢允窍袼?、位置、方向等)。特征的準(zhǔn)確性將在很大程度上決定大多數(shù)機(jī)器學(xué)習(xí)算法的性能。為了使特征準(zhǔn)確,在特征工程部分需要大量的人力來調(diào)整和改進(jìn)特征。完成這一系列工作的前提是,數(shù)據(jù)集中所包含的信息量是充分的,并且易于識別。如果不滿足這一前提,傳統(tǒng)的機(jī)器學(xué)習(xí)算法將在信息的雜亂中失去其性能。深度學(xué)習(xí)的應(yīng)用正是基于這個問題。它的深層神經(jīng)網(wǎng)絡(luò)使它能夠在雜波中學(xué)習(xí),自動發(fā)現(xiàn)與任務(wù)相關(guān)的特征(可以看作是自發(fā)學(xué)習(xí)的特征工程),并提取高級特征,從而大大減少了特征工程部分任務(wù)所花費的時間。
另一個明顯的區(qū)別是他們對數(shù)據(jù)集大小的偏好。傳統(tǒng)的機(jī)器學(xué)習(xí)在處理規(guī)則完備的小規(guī)模數(shù)據(jù)時表現(xiàn)出良好的性能,而深度學(xué)習(xí)則表現(xiàn)不好。隨著數(shù)據(jù)集規(guī)模的不斷擴(kuò)大,深度學(xué)習(xí)的效果會逐漸顯現(xiàn)出來,并變得越來越好。對比如下圖所示。