為何Python是機器學習的首選?懶人包10種演算法圖解,讓你一次看懂!
隨著人工智慧的深入發展,沒有學習能力的 AI 侷限性越發明顯,為了突破這個瓶頸,「機器學習」逐漸成為 AI 領域的研究核心之一,也發展出各種機器學習的演算法。 現今有哪一些最夯的算法?各自有什麼特點?這次就要來介紹常用的機器學習演算法,並且告訴你為何機器學習語言要首選 Python ! 機器學習演算法大致上可以分為三類:監督式學習(Supervised learning)、非監督式學習(Unsupervised learning)與強化式學習(Reinforcement learning)。 本次將著重介紹「監督式學習」與「非監督式學習」的演算法。
一、監督式學習
監督學習算法可以分成兩個大方向:分類和迴歸。1. 線性迴歸(Linear Regression)


2. 邏輯回歸(Logistic Regression)
邏輯回歸延伸自線性回歸,是一個二元分類算法,透過選取不同的特徵與權重來對樣本進行機率分類。 邏輯回歸會使用某種函數將機率值壓縮到某一特定範圍,如 Sigmoid 函數。S 函數是一種具有 S 形曲線、用於二分類的函數。
3. 支援向量機(Support Vector Machine,SVM)
支援向量機 SVM 同樣是一個二元分類算法,它可以在 N 維空間找到一個 (N-1) 維的超平面,以使兩類數據之間的餘量最大化。這個超平面可以使兩個類別之間的邊距或距離最大化,平面內如果存在線性可分的兩類點,SVM 可以找到一條最適直線將這些點分開。 除了進行線性分類之外,SVM 還可以使用核技巧(kernal trick)進行非線性分類,將其輸入隱式對映到高維特徵空間中。
4. 樸素貝葉斯分類器(Naive Bayes classifier)
「貝葉斯推斷」延伸自貝葉斯理論,是描述在擁有部分已知條件下,某事件的發生機率。 而在 Python 機器學習中,樸素貝葉斯分類器是以假設「特徵之間是獨立的、不相互影響的」的簡單機率分類器,可以直接利用條件機率相乘的方法,計算出聯合機率分布。 貝葉斯公式為:
▲ 貝葉斯公式
也可以表示為:

▲ 貝葉斯公式
posterior:通過樣本 X 得到參數 θ 的機率,稱為後驗機率。 likehood:通過參數 θ 得到樣本 X 的機率,即似然函數。通常為數據集的表現。 prior:該樣本 θ 機率,稱為先驗機率。 evidence:樣本 X 發生的機率,即為要預測的值。 即使一般現實世界的資料通常無法滿足貝葉斯理論的假設,但樸素貝葉斯分類器卻是相當實用,因其簡單高效,而辨識效能也不輸許多算法繁複的分類器。貝葉斯模型的應用範圍非常廣泛,大數據、機器學習、資料採擷、資料分析等領域都會見到。
5. 決策樹(Decision Tree)
決策樹原先作為決策分析中的方法,指的是每個決策都可能引出複數的事件,最後通向不同結果,視覺化後的圖形很像樹的枝幹,故稱決策樹。 而在機器學習中,決策樹是一種用來處理分類問題的樹狀結構,每個內部節點表示一個評估欄位,而每個分枝代表一個可能的欄位輸出結果,每個則葉節點代表不同分類的類別標記。
▲ 決策樹演算法示意圖 ID3、C4.5 、C5.0、CHAID 及 CART 都是決策樹演算法的代表。 決策樹的主要功能,是藉由分類已知的實例來建立一個樹狀結構,並從中歸納出實例裡、類別欄位與其它欄位間的隱藏規則,也能利用來做樣本的預測,同時決策樹產生的模型也具有易於解釋的優點。
本篇為上篇,下篇請點此連結
相關文章:何使用人工智慧工具,活用 Python 簡化繁瑣的行銷工作?
六個月從工地工人轉職 Java 軟體工程師,全因半年做了「對的決定」
Python vs R語言:哪個比較適合人工智慧/機器學習?
台灣本土開發AI 發行首張音樂專輯<<武漢肺炎>>
零基礎入門Python學習指南
Python零基礎如何迅速功力倍增的24個建議
保護環境需仰賴效率比人類快 3000 倍的AI(上)