博客專欄

        EEPW首頁 > 博客 > 機器學習算法分類

        機器學習算法分類

        發布人:電子資料庫 時間:2023-01-14 來源:工程師 發布文章

        機器學習是計算機理論和計算電子學的未來。在過去十年中,機器學習、深度學習和人工智能的進步改變了計算能力的使用方式。將來,開發人員可能不會編寫特定的用戶定義程序。相反,他們將編造算法讓計算機獨立執行分配的任務。計算機、微控制器和專用處理器將不會運行預定義的軟件/固件例程。相反,它們將成為觀察、學習和自主完成有價值任務的實時機器。

        機器學習和人工智能旨在使計算機和微控制器成為具有類似人類認知能力的自主機器。機器學習作為狹義的人工智能,現在被廣泛應用于所有平臺和應用程序,包括網絡服務器、桌面應用程序、移動應用程序和嵌入式系統。

        我們已經討論過,要開始機器學習,需要選擇一種編程語言。我們還討論了每種編程語言在一個或另一個業務領域中也占主導地位。然而,編程語言的選擇仍然無關緊要,因為無論選擇何種編程語言或語言特定的工具、包或框架,機器學習問題和算法的概念仍然是基本的。Python 是初學者最友好的編程語言,可以幫助初學者開始使用機器學習和深度學習解決方案。Python 在語法上很簡單,并且擁有經過時間考驗的工具和框架來解決任何機器學習問題。Pythonic 機器學習甚至可以應用于運行在微型計算機和微控制器上的簡單設備。

        下一步是學習使用所選編程語言的工具、庫和框架進行機器學習。這些工具和包通常與準備數據集、獲取數據集(從傳感器數據、在線數據流、CSV 文件或數據庫)、清理數據(稱為數據整理)、歸納和規范化數據集、數據可視化以及最終應用學習數據有關到機器學習模型,該模型可能遵循一種或多種機器學習算法。

        在本文中,我們將討論對各種機器學習算法進行分類,這樣可以更輕松地選擇特定算法或推導出適用于給定問題的算法列表。ML 算法的分類在任何方面都不是基礎的。它是一種任意分類,經常隨著新算法的發明和機器學習技術的進一步發展而改變。盡管如此,分類有助于廣泛理解各種算法,并更清楚地了解它們對不同機器學習問題的適用性。

        廣泛分類

        機器學習算法最廣泛的分類是基于機器學習技術完成的。這也可以作為算法的基本分類,因為幾乎所有種類的算法本質上都屬于以下四種機器學習技術之一。

        1. 監督學習

        2. 無監督學習

        3. 半監督學習

        4. 強化學習

        監督學習算法

        在監督學習中,機器有望提供已知結果。訓練數據已經提供了預定義的標簽或結果。該算法必須識別引用預定義標簽/結果的訓練數據之間的匹配特征或共同特征。訓練后,將相同的特征/屬性與標簽未知數據進行比較。

        例如,可以為微型計算機提供溫度、光照和濕度的傳感器數據集。然后,可以對其進行建模以預測白天或黑夜或估計一天中的時間。在這種情況下,與典型的嵌入式程序例程相比,機器學習模型更有可能提出傳感器故障和傳感器變化,因為機器可以通過嚴格的監督學習過程自主處理錯誤的輸入數據。經過全面的測試和驗證過程后,模型被認為是可部署的

        監督學習通常解決的兩個最常見的學習問題是分類和回歸。分類處理使用預定義標簽標記輸入數據。回歸處理基于訓練數據和已知結果之間的學習相關性來推導未知輸入數據的結果。導出的結果是數值或結果。

        一些屬于監督學習的常見機器學習算法包括 K 最近鄰、隨機森林、邏輯回歸、決策樹和反向傳播神經網絡。

        image.png


        無監督學習算法

        在無監督學習中,機器預計會產生未知的結果。機器暴露于未標記的原始數據樣本,它必須推斷出輸入數據中存在的結構。這通常是通過提取相似性或去除冗余來在數學上完成的。機器學習的結果不是類別/標簽或數字輸出;相反,輸出是通過對相似的數據樣本進行分組或識別奇數樣本來提供的。

        通過無監督學習解決的一些常見問題是聚類、關聯規則挖掘和降維。屬于無監督學習的一些常見機器學習算法包括 K-均值聚類、Apriori 算法、KNN、層次聚類、奇異值分解、異常檢測、主成分分析、神經網絡和獨立成分分析。

        image.png


        半監督學習算法

        在半監督學習中,機器使用標記的數據集進行訓練,然后暴露于未知數據樣本,以推導屬于同一類的數據之間的共同特征/關聯。或者,機器首先在未標記的數據上進行訓練以派生出自己的類別,然后通過提供標記的數據集來改進訓練。在這兩種情況下,機器都必須預測預期結果(類別或數值)以及推斷輸入數據中的固有模式。半監督學習也處理與監督學習相同的問題(即分類和回歸),盡管半監督學習的結果有望更好。

        屬于半監督學習的一些常見機器學習算法包括連續性假設、生成模型、拉普拉斯正則化、聚類假設、啟發式方法、低密度分離、離散正則化、標簽傳播、二次準則和流形假設。

        image.png


        強化學習算法

        在強化學習中,開發了一個稱為代理的系統以在特定環境中進行交互,以便其執行某些任務的性能從交互中得到提高。代理從一組預定義的初始策略、規則或策略開始,然后暴露于特定環境以觀察環境及其當前狀態。基于對環境的感知,它選擇最佳策略/策略并執行操作。為響應每個動作,代理會以獎勵或懲罰的形式從環境中獲得反饋。它使用懲罰/獎勵來更新其策略/策略,并再次與環境交互以重復操作。

        屬于強化學習的一些常見機器學習算法包括 Q-Learning (State-Action-Reward-State)、SARSA (
        State-Action-Reward-State-Action)、Lambda Q-Learning、Lambda SARSA、Deep Q Network , NAF (Normalized Advantage Functions), DDPG (Deep Determinant Policy Gradient), TD3 (Twin Delayed Deep Deterministic Policy Gradient), PPO (Proximal Policy Optimization), A3C (Asynchronous Advantage Actor-Critic Algorithm), SAC (Soft Actor Critic),和 TRPO(Trust Religion Policy Optimization)。

        image.png


        狹義分類

        基于學習技術的 ML 算法分類可以根據它們的功能或相似性進行篩選,給出可用于特定學習問題的可能算法列表。為特定問題選擇特定算法的其余部分取決于入圍算法的內在細節和工作原理,以及開發人員自己對哪種算法最適合給定問題的判斷。機器學習算法可以根據功能或相似性入圍如下。

        貝葉斯算法

        這些是專門應用貝葉斯定理解決監督學習問題(即分類或回歸)的算法。屬于這一類別的一些算法包括樸素貝葉斯、平均單相關估計器 (AODE)、高斯樸素貝葉斯、多項樸素貝葉斯、貝葉斯網絡 (BN) 和貝葉斯信念網絡 (BNN)。

        image.png


        回歸算法

        回歸算法的重點是根據輸入數據導出數值輸出。機器根據已知結果的數據進行訓練。訓練完成后,機器會嘗試通過冗余測量結果預測中的錯誤來改善結果。回歸基本上是一個機器學習問題和統計方法,也是一種算法。屬于此類的一些算法包括線性回歸、逐步回歸、邏輯回歸、普通最小二乘回歸、局部估計散點圖平滑 (LOSS) 和多元自適應回歸樣條 (MARS)。

        image.png


        基于實例的算法

        基于實例的算法通常用于解決分類問題。樣本訓練數據存儲在數據庫中,通過使用各種相似性度量,將輸入數據樣本與存儲的實例進行比較。當存儲的實例被標記時,那些與給定實例最匹配的實例被分配到與輸入數據樣本相同的類。這也稱為基于記憶的學習。屬于此類的一些算法包括 K 最近鄰 (KNN)、自組織映射 (SOM)、學習向量量化 (LVQ)、支持向量機 (SVM) 和局部加權學習 (LWL)。

        image.png


        正則化算法

        正則化算法類似于回歸算法,盡管它們有根據模型的復雜性對模型進行懲罰的規定。這樣的算法在概括結果方面非常出色。屬于此類的一些常見算法包括最小絕對收縮和選擇算子 (LASSO)、最小角度回歸 (LARS)、嶺回歸和彈性網絡。

        image.png


        決策樹算法

        在決策樹算法中,匹配輸入數據的特定和明確定義的屬性以最終得出決策。這些算法非常快速且高度準確,因為決策是根據明確定義的參數逐步做出的。這些算法用于機器人分類和回歸問題。屬于此類的一些常見算法包括決策樹樁、條件決策樹、分類和回歸樹 (CART)、M5、C4.5、C5.0、迭代二分法 3 (ID3) 和卡方自動交互檢測(柴德)。

        image.png


        聚類算法

        聚類算法通常旨在解決分類問題。然而,這些算法經過調整以處理未標記的數據。他們專注于提取數據樣本的固有模式,并將數據樣本分組到不同的類中。屬于此類的一些常見算法包括 K-Means、K-Medians、層次聚類和期望最大化 (EM)。

        image.png


        降維算法

        降維算法類似于聚類算法。不同之處在于這些算法不會嘗試在不同的標簽下對數據進行分類。相反,這些算法專注于探索內在模式,以簡化和總結數據點。這些算法用于解決分類和回歸問題。屬于此類的一些常見算法包括 Sammon 映射、主成分分析 (PCA)、主成分回歸 (PCR)、投影追蹤、偏最小二乘回歸 (PLSR)、多維縮放、線性判別分析 (LDA)、二次方判別分析 (QDA)、混合判別分析 (MDA) 和靈活判別分析 (FDA)。

        image.png


        關聯規則學習算法

        這些算法側重于推導控制數據變量之間關系的規則。最流行的關聯規則學習算法是 Eclat 算法和 Apriori 算法。

        image.png


        人工神經網絡算法

        這些算法基于人工神經網絡 (ANN) 的使用,用于解決分類和回歸問題。人工神經網絡是由多層組成的數據結構,其中包括輸入層、輸出層和一個或多個隱藏層。隱藏層操縱輸入數據以導出數據樣本的有用表示。在多個隱藏層中調整表示,直到在輸入數據和輸出值之間建立適當的關聯。基本的 ANN 算法包括感知器、反向傳播、Hopfield 網絡、多層感知器、隨機梯度下降和徑向基函數網絡。實際上,有數百種這樣的算法。ANN 的靈感來自于生物神經網絡的功能,并且具有相似的結構。

        image.png


        深度學習算法

        深度學習算法也使用人工神經網絡;但是,它們不同于傳統的基于 ANN 的算法。深度學習算法經過調整以執行大量簡單計算。這些算法通常處理模擬數據,例如圖像、視頻、文本和傳感器值。一些流行的深度學習算法包括卷積神經網絡 (CNN)、遞歸神經網絡 (RNN)、深度信念網絡 (DBN)、長短期記憶網絡 (LSTM)、深度玻爾茲曼機 (DBM) 和堆疊自動編碼器。

        image.png


        集成算法

        在這些算法中,多個模型被獨立訓練,并將它們的結果組合起來得出最終結果。它們非常強大,因為多個模型被仔細組合以最大限度地提高整體準確性和性能。屬于此類別的一些算法包括隨機 Forrest、梯度提升機 (GBM)、加權平均混合、自舉聚合或裝袋、梯度提升回歸樹 (GBRT)、堆疊、AdaBoost 和提升。

        image.png


        結論

        有數百種算法可用,選擇一種機器學習算法來解決給定問題可能是一項艱巨的任務。通過首先了解機器學習的性質或機器學習技術,選擇變得更簡單。可以通過列出所需功能或任務的算法來進一步細化對適當算法的搜索。從那里開始,必須考慮適用性、優點、缺點和可用資源以選擇正確的算法。


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: 機器 算法

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南开区| 潞城市| 延津县| 永宁县| 南投市| 胶州市| 遂川县| 青铜峡市| 汉沽区| 广汉市| 大兴区| 荥经县| 鹿泉市| 舒兰市| 安阳县| 威远县| 武隆县| 剑川县| 景洪市| 萨嘎县| 宜都市| 桦南县| 夏邑县| 文成县| 大城县| 兰坪| 绵竹市| 莆田市| 石阡县| 建湖县| 东乡族自治县| 土默特右旗| 芷江| 莱州市| 同德县| 鄂尔多斯市| 河东区| 陈巴尔虎旗| 凯里市| 米脂县| 五峰|