你知道為何Python是機器學習的首選嗎?看完這篇你就瞭!
現在有哪些熱門的算法?各有什麼特點?本次就要來盤點幾大常用的機器學習演算法,並告訴你為何機器學習語言要首選 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 機器學習中,樸素貝葉斯分類器是以假設「特徵之間是獨立的、不相互影響的」的簡單機率分類器,可以直接利用條件機率相乘的方法,計算出聯合機率分布。
貝葉斯公式為:
likehood:通過參數 θ 得到樣本 X 的機率,即似然函數。通常為數據集的表現。
prior:該樣本 θ 機率,稱為先驗機率。
evidence:樣本 X 發生的機率,即為要預測的值。
即使一般現實世界的資料通常無法滿足貝葉斯理論的假設,但樸素貝葉斯分類器卻是相當實用,因其簡單高效,而辨識效能也不輸許多算法繁複的分類器。貝葉斯模型的應用範圍非常廣泛,大數據、機器學習、資料採擷、資料分析等領域都會見到。
5. 決策樹(Decision Tree)
決策樹原先作為決策分析中的方法,指的是每個決策都可能引出複數的事件,最後通向不同結果,視覺化後的圖形很像樹的枝幹,故稱決策樹。而在機器學習中,決策樹是一種用來處理分類問題的樹狀結構,每個內部節點表示一個評估欄位,而每個分枝代表一個可能的欄位輸出結果,每個則葉節點代表不同分類的類別標記。
決策樹的主要功能,是藉由分類已知的實例來建立一個樹狀結構,並從中歸納出實例裡、類別欄位與其它欄位間的隱藏規則,也能利用來做樣本的預測,同時決策樹產生的模型也具有易於解釋的優點。
本篇為上篇,下篇請點此連結
相關文章:
何使用人工智慧工具,活用 Python 簡化繁瑣的行銷工作?
六個月從工地工人轉職 Java 軟體工程師,全因半年做了「對的決定」
Python vs R語言:哪個比較適合人工智慧/機器學習?
台灣本土開發AI 發行首張音樂專輯<<武漢肺炎>>
人工智慧機器狗AIBO人類新寵兒(上)
零基礎學習Python語言強化篇
Python和人工智慧到底有什麼關係呀!?