從學習方式和功能角度等方面對算法的分類介紹
在本文中,我將提供兩種分類機器學習算法的方法。一是根據學習方式分類,二是根據類似的形式或功能分類。這兩種方法都很有用,不過,本文將側重后者,也就是根據類似的形式或功能分類。在閱讀完本文以后,你將會對監督學習中最受歡迎的機器學習算法,以及它們彼此之間的關系有一個比較深刻的了解。
事先說明一點,我沒有涵蓋機器學習特殊子領域的算法,比如計算智能(進化算法等)、計算機視覺(CV)、自然語言處理(NLP)、推薦系統、強化學習和圖模型。
下面是一張算法思維導圖。
從學習方式分類
算法對一個問題建模的方式很多,可以基于經歷、環境,或者任何我們稱之為輸入數據的東西。機器學習和人工智能的教科書通常會讓你首先考慮算法能夠采用什么方式學習。實際上,算法能夠采取的學習方式或者說學習模型只有幾種,下面我會一一說明。對機器學習算法進行分類是很有必要的事情,因為這迫使你思考輸入數據的作用以及模型準備過程,從而選擇一個最適用于你手頭問題的算法。
監督學習
輸入數據被稱為訓練數據,并且每一個都帶有標簽,比如“廣告/非廣告”,或者當時的股票價格。通過訓練過程建模,模型需要做出預測,如果預測出錯會被修正。直到模型輸出準確的結果,訓練過程會一直持續。常用于解決的問題有分類和回歸。常用的算法包括邏輯回歸和BP神經網絡。
無監督學習
輸入數據沒有標簽,輸出沒有標準答案,就是一系列的樣本。無監督學習通過推斷輸入數據中的結構建模。這可能是提取一般規律,可以是通過數學處理系統地減少冗余,或者根據相似性組織數據。常用于解決的問題有聚類、降維和關聯規則的學習。常用的算法包括 Apriori 算法和 K 均值算法。
半監督學習
半監督學習的輸入數據包含帶標簽和不帶標簽的樣本。半監督學習的情形是,有一個預期中的預測,但模型必須通過學習結構整理數據從而做出預測。常用于解決的問題是分類和回歸。常用的算法是所有對無標簽數據建模進行預測的算法(即無監督學習)的延伸。
從功能角度分類
研究人員常常通過功能相似對算法進行分類。例如,基于樹的方法和基于神經網絡的方法。這種方法也是我個人認為最有用的分類方法。不過,這種方法也并非完美,比如學習矢量量化(LVQ),就既可以被歸為神經網絡方法,也可以被歸為基于實例的方法。此外,像回歸和聚類,就既可以形容算法,也可以指代問題。
為了避免重復,本文將只在最適合的地方列舉一次。下面的算法和分類都不齊備,但有助于你了解整個領域大概。(說明:用于分類和回歸的算法帶有很大的個人主觀傾向;歡迎補充我遺漏的條目。)
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%