全文共2600字,預計學習時長7分鐘
機器學習是數據科學領域最重要的子領域之一。1959年,IBM研究人員ArthurSamuel首次使用了機器學習這一術語。從此以後,機器學習領域引發了很多人的極大興趣。
當你開始數據科學之旅時,遇到的第一個子領域可能就是機器學習。機器學習是用於描述計算機算法集合的名稱,這些算法在運行過程中通過收集信息不斷進行學習和改進。
機器學習算法都是基於某些數據的。最初,該算法通過一些「訓練數據」來建立解決特定問題的直覺。一旦算法通過了學習階段,就可以通過已獲得知識解決基於不同數據集的相似問題。
一般而言,機器學習算法分為4類:
· 監督算法:在運行過程中需要開發人員的監督。為此,開發人員可以標記訓練數據並為要遵循的算法設置嚴格的規則和界限。
· 無監督算法:開發人員不直接控制的算法。在這種情況下,算法的期望結果是未知的,需要由算法定義。
· 半監督算法:該算法結合了監督算法和非監督算法的各個方面。例如,初始化算法時,並非所有訓練數據都將被標記,並且不提供一部分規則。
· 強化算法:此種類型算法使用了一種稱為探索/開發的技術。技術內容很簡單;機器執行一個動作,觀察結果,然後在執行下一個動作時考慮這些結果,依此類推。
以上每種算法都有特定目標。例如,監督學習旨在擴展訓練數據的範圍,並據此預測未來或新數據。另一方面,無監督算法用於組織和篩選數據以使其有意義。
每個類別都有各種旨在執行特定任務的特定算法。本文將介紹每個數據科學家都必須了解的5種基本算法,內容涵蓋機器學習的基礎知識。
1. 回歸
回歸算法是監督算法,用於查找不同變量之間的可能關係,以了解自變量對因變量的影響程度。可以將回歸分析視為一個方程,例如,假設有方程y = 2x + z,y是因變量,則x,z是自變量。回歸分析就是找出x和z在多大程度上影響y的值。
相同的邏輯適用於更高級和更複雜的問題。對於各種問題,回歸算法的類型也有很多。最常用的前五名可能是:
· 線性回歸:最簡單的回歸技術使用線性方法來描述因變量(預測值)和自變量(用於預測的值)之間的關係。
· Logistic回歸:這種類型的回歸用於二進位因變量,被廣泛用於分析分類數據。
· 嶺回歸:當回歸模型變得過於複雜時,嶺回歸會校正模型係數的大小。
· Lasso回歸:Lasso(最小絕對收縮選擇器運算符)回歸用於選擇變量並對其正則化。
· 多項式回歸:這種類型的算法用於擬合非線性數據。使用時最好的預測不是直線,而是一條試圖擬合所有數據點的曲線。
2. 分類
機器學習中的分類是基於預分類的訓練數據集將項歸類的過程。分類被認為是監督學習算法的一種。這些算法利用訓練數據的分類結果,計算出新的項落入已定義類別之一的概率。分類算法的一個著名示例是將傳入的電子郵件分為垃圾郵件或非垃圾郵件。
分類算法有多種類型,最常用的有:
· K近鄰:KNN是一種使用訓練數據集來查找某些數據集中的k個最接近數據點的算法。
· 決策樹:可將其視為流程圖,將每個數據點一次分為兩類,然後再分為兩類,依此類推。
· 樸素貝葉斯:此算法使用條件概率規則計算項屬於特定類別的概率。
· 支持向量機(SVM):在此算法中,根據數據的極性程度對數據進行分類,這可能超出X / Y預測範圍。
3. 集成
集成算法通過將兩個或多個其他機器學習算法的預測結合來得到更準確的結果。可以通過投票或平均結果來組合結果。投票通常在分類過程中使用,而平均則在回歸過程中使用。
集成算法有3種基本類型:Bagging、Boosting、以及Stacking。
· Bagging:在Bagging中,算法在大小相同的不同訓練集上並行運行,然後使用相同的數據集測試所有算法,並投票確定總體結果。
· Boosting:在Boosting的情況下,算法按順序運行,然後使用加權投票選擇總體結果。
· Stacking:顧名思義,Stacking包含兩個層次,初級學習器是算法的組合,次級學習器是基於基礎層次結果的元算法。
4. 聚類
聚類算法是一組用於對數據點進行分組的無監督算法 同一聚類中的點比不同聚類中的點彼此之間更相似。聚類算法有4種類型:
· 基於質心的聚類:此聚類算法根據初始條件和異常值將數據組織到類中。基於質心的聚類算法中用的最多的就是k均值。
· 基於密度的聚類:在這種聚類類型中,該算法將高密度區域連接到聚類中以創建任意形狀的分布。
· 基於分布的聚類:此聚類算法假定數據由概率分布組成,然後將數據聚類為該分布的各種版本。
· 層次聚類:此算法創建了一個層次數據簇的樹,可以通過在正確的級別上切割樹來改變簇的數量。
5. 關聯
關聯算法是無監督算法,用於發現某些項在特定數據集中一起出現的概率,主要用於購物籃分析。最常用的關聯算法是Apriori。Apriori算法是交易資料庫中常用的挖掘算法。Apriori用於挖掘頻繁項集,並從那些項集生成一些關聯規則。
例如,如果一個人購買牛奶和麵包,那麼他也可能會買一些雞蛋。這可以從各個顧客的先前購買記錄得出。然後算法算出這些項被一起購買的頻繁程度,根據針對該置信度的特定閾值來形成關聯規則。
機器學習是數據科學中最著名、研究最深入的子領域之一。人們也一直在開發新的機器學習算法,以達到更高的準確性和更快的執行速度。無論採用哪種算法,通常都可以將其歸為以下四類之一:有監督、無監督、半監督和增強算法。每個算法的用途都不一樣。
這些算法經過了深入研究和廣泛使用,你只需要了解如何使用它,而不是如何實現它。大多數著名的Python機器學習模塊(例如ScikitLearn)都包含大多數(如果不是全部)這些算法的預定義版本。
了解其原理後,趕緊掌握用法並開始用起來吧。
留言點讚關注
我們一起分享AI學習與發展的乾貨
如轉載,請後臺留言,遵守轉載規範