c++教程 既然使用神經(jīng)網(wǎng)絡(luò)也可以解決分類問題,那SVM、決策樹這些算法還有什么意義呢?
既然使用神經(jīng)網(wǎng)絡(luò)也可以解決分類問題,那SVM、決策樹這些算法還有什么意義呢?這取決于數(shù)據(jù)量和樣本數(shù)。不同的樣本數(shù)和特征數(shù)據(jù)適合不同的算法。像神經(jīng)網(wǎng)絡(luò)這樣的深度學(xué)習(xí)算法需要訓(xùn)練大量的數(shù)據(jù)集來建立更好的預(yù)
既然使用神經(jīng)網(wǎng)絡(luò)也可以解決分類問題,那SVM、決策樹這些算法還有什么意義呢?
這取決于數(shù)據(jù)量和樣本數(shù)。不同的樣本數(shù)和特征數(shù)據(jù)適合不同的算法。像神經(jīng)網(wǎng)絡(luò)這樣的深度學(xué)習(xí)算法需要訓(xùn)練大量的數(shù)據(jù)集來建立更好的預(yù)測模型。許多大型互聯(lián)網(wǎng)公司更喜歡深度學(xué)習(xí)算法,因為他們獲得的用戶數(shù)據(jù)是數(shù)以億計的海量數(shù)據(jù),這更適合于卷積神經(jīng)網(wǎng)絡(luò)等深度學(xué)習(xí)算法。
如果樣本數(shù)量較少,則更適合使用SVM、決策樹和其他機器學(xué)習(xí)算法。如果你有一個大的數(shù)據(jù)集,你可以考慮使用卷積神經(jīng)網(wǎng)絡(luò)和其他深度學(xué)習(xí)算法。
以下是一個圖表,用于說明根據(jù)樣本數(shù)量和數(shù)據(jù)集大小選擇的任何機器學(xué)習(xí)算法。
如果你認為它對你有幫助,你可以多表揚,也可以關(guān)注它。謝謝您
svm為什么要引入拉格朗日的優(yōu)化方法?
支持向量機采用拉格朗日乘子法更有效地解決優(yōu)化問題。
SVM將尋找?guī)缀螀^(qū)間最大的超平面的任務(wù)轉(zhuǎn)化為凸優(yōu)化問題,具體如下:
當然,我們可以直接用現(xiàn)成的工具來解決,但是有一種更有效的方法,即利用拉格朗日乘子法將原問題轉(zhuǎn)化為成對問題。
具體方法如下:(1)將約束條件集成到目標函數(shù)中,得到拉格朗日函數(shù);(2)然后計算模型參數(shù)w和B的偏導(dǎo)數(shù),使其為零;(3)得到w后,將其引入拉格朗日函數(shù)中,消除模型參數(shù)w和B;(4) 這樣就得到了原問題的對偶問題,它等價于原問題,對偶問題也是一個凸優(yōu)化問題,我們用SMO算法求解拉格朗日乘子;(5)得到拉格朗日乘子后,我們可以進一步得到模型參數(shù)w和B,然后我們就可以得到想要的超平面。
如何用svm處理數(shù)據(jù)?
您可以使用SVM通過Python或MATLAB處理數(shù)據(jù)。
1。安裝anaconda。你可以搜索它
2。在scikit中使用SVM學(xué)習(xí)用SVM處理數(shù)據(jù)