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