機器學習算法概述
"機器智能是人類永遠需要的一項發明。"— Nick Bostrom.
如果您可以回顧幾年前的AI并將其與現在的AI進行比較,您會驚訝地發現AI的發展速度隨著時間的增長呈指數級增長。
它已擴展到各種領域,例如ML,Expert Systems,NLP等數十個領域。
盡管AI的思路是構建可以自行思考和執行的更智能的系統,但仍然需要對其進行訓練。
AI的ML領域是為實現非常精確的目標而創建的,它引入了多種算法,從而可以更順暢地進行數據處理和決策。
什么是機器學習算法?
機器學習算法是任何模型背后的大腦,可讓機器學習并使其更智能。
這些算法的工作方式是,為它們提供第一批數據,并且隨著時間的流逝和算法的準確性的提高,額外的數據也被引入到算法中。
定期將算法應用于新數據和新經驗的過程可提高機器學習的整體效率。
機器學習算法對于與分類,預測建模和數據分析相關的各種任務至關重要。
"機器學習方面的突破將價值十個微軟。"- Bill Gates
機器學習算法的類型
在本節中,我們將重點介紹現有的各種ML算法。 ML算法的三個主要范例是:
監督學習
顧名思義,監督算法通過定義一組輸入數據和預期結果來工作。 通過在訓練數據上迭代執行功能并讓用戶輸入控制參數來改進模型。 如果發現其映射的預測正確,則認為該算法是成功的。
監督學習
無監督學習
在監督算法在用戶標記的數據上進行輸出預測時,將這些訓練結果在沒有用戶干預的情況下來訓練未標記數據。
這個算法可以對數據進行分類和分組,以識別一些隱藏或未發現的類別,通常用作監督學習的初步步驟。
無監督學習
強化學習
強化學習算法旨在在探索和開發之間找到完美的平衡,而無需標記數據或用戶干預。
這些算法通過選擇一個動作并觀察結果來工作,在此基礎上,它了解結果的準確程度。 反復重復此過程,直到算法選擇正確的策略為止。
流行的機器學習算法
在熟悉了幾種類型的ML算法之后,我們繼續演示一些流行的算法。
1.線性回歸
線性回歸是一種監督型ML算法,可幫助找到點集合的近似線性擬合。
線性回歸的核心是識別兩個變量之間關系的線性方法,其中兩個值之一是從屬值,另一個是獨立的。
其背后的原理是要理解一個變量的變化如何影響另一個變量,從而導致正或負的相關關系。
線性回歸以y = a + bx的形式表示為一條線
該線稱為回歸線,由線性方程Y = a * X + b表示。
在此等式中:
· Y —因變量
· a —坡度
· X-自變量
· b-截距
該算法適用于預測輸出是連續的并且具有恒定斜率的情況,例如:
· 估算銷售額
· 評估風險
· 天氣數據分析
· 預測分析
· 客戶調查結果分析
· 優化產品價格
1. Logistic回歸
Logistic回歸算法通常用于二進制分類問題,在這些情況下,事件通常會導致通過或失敗,正確或錯誤這兩個值中的任何一個。
最適合需要預測因變量將屬于兩類之一的概率的情況。
該算法的常見用例是確定給定的筆跡是否與所討論的人匹配,或未來幾個月的油價是否會上漲。
通常,回歸可用于實際應用中,例如:
· 信用評分
· 癌癥檢測
· 地理圖像處理
· 手寫識別
· 圖像分割與分類
· 衡量營銷活動的成功率
· 預測某種產品的收入
· 特定日子會發生地震嗎?
1. 決策樹
決策樹算法屬于監督型機器學習,用于解決回歸和分類問題。 目的是使用決策樹從觀察并處理每個級別的結果。
決策樹是一種自上而下的方法,其中從訓練數據中選擇最合適的屬性作為根,并對每個分支重復該過程。 決策樹通常用于:
· 建立知識管理平臺
· 選擇要旅行的航班
· 預測酒店的入住高峰日期
· 向客戶建議要買什么車
· 預測預測并確定各個領域的可能性
決策樹算法
1. Apriori機器學習算法
它是幾種在線平臺上經常推薦的算法。
它通過在數據集中搜索通用的數據進行操作,然后在它們之間建立關聯。
它通常用于數據挖掘和從關系數據庫學習關聯規則。
該算法背后的思想是保持相關項目盡可能擴展到更大的集合,以創建更有用的關聯。
該算法的應用包括突出顯示市場中的購買趨勢。
此外,它更易于實現,并且可以用于大型數據集。
1. 樸素貝葉斯
樸素貝葉斯分類器被歸類為高效的監督ML算法,并且是最簡單的貝葉斯網絡模型之一。
它通過對數據應用貝葉斯定理,并假設給定變量的值的情況下,每對特征之間都具有條件獨立性。
樸素貝葉斯分類
簡而言之,考慮到事件B已經發生,用它來找到事件A發生的可能性。 樸素貝葉斯最適合-
· 過濾垃圾郵件
· 推薦系統,例如Netflix
· 對有關技術,政治或體育的新聞文章進行分類
· 社交媒體上的情感分析
· 面部識別軟件
1. 人工神經網絡
仿照人腦建模的人工神經網絡實現了神經元的巨大迷宮,或者說簡化并模擬了節點之間相互傳遞信息的過程。
這些相互連接的節點通過邊緣將數據瞬時傳遞給其他節點,以進行快速處理,從而使學習更加順暢。
人工神經網絡從數據集中學習,而不是通過一組特定的規則進行編程。 能夠對非線性過程進行建模,它們可以在以下領域中實施:
· 模式識別
· 網絡安全
· 數據挖掘
· 檢測患者的癌癥種類
人工神經網絡算法
1. K-Means聚類
k-均值聚類是一種迭代的無監督學習算法,可將n個觀察值劃分為k個簇,每個觀察值均屬于最近的簇均值。
K-means算法的步驟
簡而言之,該算法基于數據點的相似性來聚合數據點的集合。 它的應用范圍包括在Python,SciPy,Sci-Kit Learn和data mining等編程語言和庫中聚集相似和相關的網絡搜索結果。
K均值聚類的實際應用-
1. 識別假新聞
1. 垃圾郵件檢測和過濾
1. 按類型對書籍或電影進行分類
1. 規劃城市時的熱門交通路線
1. 支持向量機
支持向量機被歸類為監督機器學習算法,主要用于分類和回歸分析。
該算法通過建立一個可以將新示例和新數據分配給一個類別的模型來工作,每個類別間可以容易地區別開來。
在維數大于樣本數的情況下,SVM非常有效,并且存儲效率極高。
高效的支持向量機算法
SVM應用程序可以在以下領域找到:
· 人臉檢測
· 影像分類
· 文本和超文本分類
· 手寫識別
· 藥物療法的發現
· 生物信息學-蛋白質,基因,生物學或癌癥分類。
1. K近鄰算法
K近鄰是一種用于回歸和分類問題的監督ML算法。
通常用于模式識別,該算法首先存儲并使用距離函數識別數據中所有輸入之間的距離,選擇最接近中心點的k個指定輸入并輸出:
· 最經常出現的標簽(用于分類)
· k個最近鄰居的平均值(用于回歸)
K近鄰算法
該算法的實際應用包括:
· 指紋檢測
· 信用評級
· 預測股市
· 分析洗錢
· 銀行破產
· 匯率
1. 降維算法
降維算法通過使用兩種主要方法(特征選擇或特征提取)之一減少數據集中的維度空間或隨機變量的數量來工作。
此算法通常用于預處理數據集并刪除冗余特征,從而使算法更容易訓練模型。
此算法還具有一些不錯的好處,例如:
· 內儲需求低
· 所需的計算能力更少
· 精度更高
· 降低噪音
一些著名的降維算法是:
· 主成分分析
· 線性判別分析
· 局部線性嵌入
· 多維縮放
1. 主成分分析
主成分分析是ML的無監督算法之一,主要用于通過使用特征消除或特征提取來縮小特征空間的維數。
它也是探索性數據分析和建立預測模型的工具。 需要標準化的數據,PCA可以作為幫助:
· 圖像處理
· 電影推薦系統
· 計算數據協方差矩陣
· 對協方差矩陣執行特征值分解
· 優化多個通信通道中的功率分配
主成分分析法
PCA旨在減少數據集中的冗余,使其更簡單而又不影響準確性。 它通常部署在圖像處理和風險管理領域。
1. 隨機森林
隨機森林通過實現決策樹使用多種算法來解決分類,回歸和其他類似問題。
它的工作方式是,創建帶有隨機數據集的決策樹堆,并在其上反復訓練模型以獲得接近準確的結果。
最后,將來自這些決策樹的所有結果組合在一起,以識別出最常出現在輸出中的最合適的結果。
隨機森林
可以在以下領域找到"隨機森林"應用程序:
1. 銀行賬戶,信用卡欺詐檢測
1. 檢測并預測藥物的藥物敏感性
1. 通過分析患者的病歷來識別患者的疾病
1. 預測購買特定股票時的估計損失或利潤
1. 梯度增強和Ada增強
增強是一種用于集成ML算法的技術,可將弱學習者轉換為強學習者。 當數據豐富時,需要使用增強算法,并且我們試圖減少監督學習中的偏差和方差。 以下是兩種流行的增強算法。
· 梯度增強
通常以迭代方式(例如決策樹)構建預測模型,將梯度增強算法用于分類和回歸問題。 通過對強者的錯誤進行培訓,從而提高了弱者的學習能力,從而獲得了一個比較準確的學習者。
· Ada增強
AdaBoost是Adaptive Boosting的縮寫,當弱學習者失敗時,它會改進模型。 它通過修改附加到樣本中實例的權重以將精力更多地集中在困難實例上來實現,然后,弱學習者的輸出將被合并以形成加權總和,并被視為最終的提升后的輸出。
結論:
機器學習算法對于數據科學家來說至關重要,因為它們在現實世界中的應用日益廣泛。 使用上述各種算法,您可以找到最適合解決問題的算法。 盡管這些算法有有監督也有無監督,但它們可以處理各種任務,并且能夠與其他算法同步工作。
作者:Claire D.
deephub翻譯組:孟翔杰