在機器學習這個主題中,一開始先介紹了什麼事機器學習,他在資料科學中扮演什麼樣的角色。接著,簡單說明兩個基礎的演算法「線性回歸」與「邏輯回歸」。不過,機器學習其實還有許多厲害有趣的演算法,像是「支持向量機」跟「類神經網路」等等。但這些演算法都有比較複雜的數學推導,都不是可以簡單說明的或推倒的。所以在這一篇,我試圖用一些比較概念性的角度去解釋這些演算法的原理。希望讓大家對這些現代化的機器學習技術部的認識。
支持向量機(Support Vector Machine)是機器學習中一個重要的里程碑,因為他同時兼具效能與精確的效果。在線性回歸或是邏輯回歸中,我們都是想要找出一條線來代表資料。代表資料會傾向「預測值與實際值的差距越小越好」,所以是一個最小化距離的問題。在支持向量機的機制中,想找的是一條「能把不同的資料分得越開越好」的概念,所以是一個最大化距離的問題。
類神經網路 (Neural network) 是一種模擬大腦神經元傳遞的演算法。Neural network unit 可以想成是一個 Logistic Function,用來模仿人類的神經元,將 Neural network unit 層層相接,過程中會不段的修成誤差,讓最終的輸出誤差最小。
神經網路會考慮具有意義的隱藏節點(hidden nodes),像是
這些隱藏節點所代表的意義,有可能可以從一開始的 Input 直接反映出來,但也有可能會隱藏在很多層之後。神經網路可以考慮這些屬性組合過後產生的隱藏屬性。因此,在屬性間可能因為組合產生比較複雜的情況下,神經網路通常會考慮比較多的屬性。但也因此,需要比較複雜的計算與結構。