各種機器學習的優缺點及應用場景

目錄

  • 正則化算法(Regularization Algorithms)

  • 集成算法(Ensemble Algorithms)

  • 決策樹算法(Decision Tree Algorithm)

  • 回歸(Regression)

  • 人工神經網絡(Artificial Neural Network)

  • 深度學習(Deep Learning)

  • 支持向量機(Support Vector Machine)

  • 降維算法(Dimensionality Reduction Algorithms)

  • 聚類算法(Clustering Algorithms)

  • 基于實例的算法(Instance-based Algorithms)

  • 貝葉斯算法(Bayesian Algorithms)

  • 關聯規則學習算法(Association Rule Learning Algorithms)

  • 圖模型(Graphical Models)

正則化算法(Regularization Algorithms)


它是另一種方法(通常是回歸方法)的拓展,這種方法會基于模型復雜性對其進行懲罰,它喜歡相對簡單能夠更好的泛化的模型。

例子:

  • 嶺回歸(Ridge Regression)

  • 最小絕對收縮與選擇算子(LASSO)

  • GLASSO

  • 彈性網絡(Elastic Net)

  • 最小角回歸(Least-Angle Regression)

優點:

  • 其懲罰會減少過擬合

  • 總會有解決方法

缺點:

  • 懲罰會造成欠擬合

  • 很難校準

集成算法(Ensemble algorithms)


集成方法是由多個較弱的模型集成模型組,其中的模型可以單獨進行訓練,并且它們的預測能以某種方式結合起來去做出一個總體預測。

該算法主要的問題是要找出哪些較弱的模型可以結合起來,以及結合的方法。這是一個非常強大的技術集,因此廣受歡迎。

  • Boosting

  • Bootstrapped Aggregation(Bagging)

  • AdaBoost

  • 層疊泛化(Stacked Generalization)(blending)

  • 梯度推進機(Gradient Boosting Machines,GBM)

  • 梯度提升回歸樹(Gradient Boosted Regression Trees,GBRT)

  • 隨機森林(Random Forest)

優點:

  • 當先最先進的預測幾乎都使用了算法集成。它比使用單個模型預測出來的結果要精確的多

缺點:

  • 需要大量的維護工作

決策樹算法(Decision Tree Algorithm)


決策樹學習使用一個決策樹作為一個預測模型,它將對一個 item(表征在分支上)觀察所得映射成關于該 item 的目標值的結論(表征在葉子中)。

樹模型中的目標是可變的,可以采一組有限值,被稱為分類樹;在這些樹結構中,葉子表示類標簽,分支表示表征這些類標簽的連接的特征。

例子:

  • 分類和回歸樹(Classification and Regression Tree,CART)

  • Iterative Dichotomiser 3(ID3)

  • C4.5 和 C5.0(一種強大方法的兩個不同版本)

優點:

  • 容易解釋

  • 非參數型

缺點:

  • 趨向過擬合

  • 可能或陷于局部最小值中

  • 沒有在線學習

回歸(Regression)算法


回歸是用于估計兩種變量之間關系的統計過程。當用于分析因變量和一個 多個自變量之間的關系時,該算法能提供很多建模和分析多個變量的技巧。具體一點說,回歸分析可以幫助我們理解當任意一個自變量變化,另一個自變量不變時,因變量變化的典型值。最常見的是,回歸分析能在給定自變量的條件下估計出因變量的條件期望。

回歸算法是統計學中的主要算法,它已被納入統計機器學習。

例子:

  • 普通最小二乘回歸(Ordinary Least Squares Regression,OLSR)

  • 線性回歸(Linear Regression)

  • 邏輯回歸(Logistic Regression)

  • 逐步回歸(Stepwise Regression)

  • 多元自適應回歸樣條(Multivariate Adaptive Regression Splines,MARS)

  • 本地散點平滑估計(Locally Estimated Scatterplot Smoothing,LOESS)

優點:

  • 直接、快速

  • 知名度高

缺點:

  • 要求嚴格的假設

  • 需要處理異常值

人工神經網絡


人工神經網絡是受生物神經網絡啟發而構建的算法模型。

它是一種模式匹配,常被用于回歸和分類問題,但擁有龐大的子域,由數百種算法和各類問題的變體組成。

例子:

  • 感知器

  • 反向傳播

  • Hopfield 網絡

  • 徑向基函數網絡(Radial Basis Function Network,RBFN)

優點:

  • 在語音、語義、視覺、各類游戲(如圍棋)的任務中表現極好。

  • 算法可以快速調整,適應新的問題。

缺點:

需要大量數據進行訓練

訓練要求很高的硬件配置

模型處于「黑箱狀態」,難以理解內部機制

元參數(Metaparameter)與網絡拓撲選擇困難。

深度學習(Deep Learning)


深度學習是人工神經網絡的最新分支,它受益于當代硬件的快速發展。

眾多研究者目前的方向主要集中于構建更大、更復雜的神經網絡,目前有許多方法正在聚焦半監督學習問題,其中用于訓練的大數據集只包含很少的標記。

例子:

  • 深玻耳茲曼機(Deep Boltzmann Machine,DBM)

  • Deep Belief Networks(DBN)

  • 卷積神經網絡(CNN)

  • Stacked Auto-Encoders

優點/缺點:見神經網絡

支持向量機(Support Vector Machines)


給定一組訓練事例,其中每個事例都屬于兩個類別中的一個,支持向量機(SVM)訓練算法可以在被輸入新的事例后將其分類到兩個類別中的一個,使自身成為非概率二進制線性分類器。

SVM 模型將訓練事例表示為空間中的點,它們被映射到一幅圖中,由一條明確的、盡可能寬的間隔分開以區分兩個類別。

隨后,新的示例會被映射到同一空間中,并基于它們落在間隔的哪一側來預測它屬于的類別。

優點:

在非線性可分問題上表現優秀

缺點:

  • 非常難以訓練

  • 很難解釋

降維算法(Dimensionality Reduction Algorithms)


和集簇方法類似,降維追求并利用數據的內在結構,目的在于使用較少的信息總結或描述數據。

這一算法可用于可視化高維數據或簡化接下來可用于監督學習中的數據。許多這樣的方法可針對分類和回歸的使用進行調整。

例子:

  • 主成分分析(Principal Component Analysis (PCA))

  • 主成分回歸(Principal Component Regression (PCR))

  • 偏最小二乘回歸(Partial Least Squares Regression (PLSR))

  • Sammon 映射(Sammon Mapping)

  • 多維尺度變換(Multidimensional Scaling (MDS))

  • 投影尋蹤(Projection Pursuit)

  • 線性判別分析(Linear Discriminant Analysis (LDA))

  • 混合判別分析(Mixture Discriminant Analysis (MDA))

  • 二次判別分析(Quadratic Discriminant Analysis (QDA))

  • 靈活判別分析(Flexible Discriminant Analysis (FDA))

優點:

  • 可處理大規模數據集

  • 無需在數據上進行假設

缺點:

  • 難以搞定非線性數據

  • 難以理解結果的意義

聚類算法(Clustering Algorithms)


聚類算法是指對一組目標進行分類,屬于同一組(亦即一個類,cluster)的目標被劃分在一組中,與其他組目標相比,同一組目標更加彼此相似(在某種意義上)。

例子:

  • K-均值(k-Means)

  • k-Medians 算法

  • Expectation Maximi 封層 ation (EM)

  • 最大期望算法(EM)

  • 分層集群(Hierarchical Clstering)

優點:

  • 讓數據變得有意義

缺點:

  • 結果難以解讀,針對不尋常的數據組,結果可能無用。

基于實例的算法(Instance-based Algorithms)


基于實例的算法(有時也稱為基于記憶的學習)是這樣學 習算法,不是明確歸納,而是將新的問題例子與訓練過程中見過的例子進行對比,這些見過的例子就在存儲器中。

之所以叫基于實例的算法是因為它直接從訓練實例中建構出假設。這意味這,假設的復雜度能隨著數據的增長而變化:最糟的情況是,假設是一個訓練項目列表,分類一個單獨新實例計算復雜度為 O(n)

例子:

  • K 最近鄰(k-Nearest Neighbor (kNN))

  • 學習向量量化(Learning Vector Quantization (LVQ))

  • 自組織映射(Self-Organizing Map (SOM))

  • 局部加權學習(Locally Weighted Learning (LWL))

優點:

  • 算法簡單、結果易于解讀

缺點:

  • 內存使用非常高

  • 計算成本高

  • 不可能用于高維特征空間

貝葉斯算法(Bayesian Algorithms)


貝葉斯方法是指明確應用了貝葉斯定理來解決如分類和回歸等問題的方法。

例子:

  • 樸素貝葉斯(Naive Bayes)

  • 高斯樸素貝葉斯(Gaussian Naive Bayes)

  • 多項式樸素貝葉斯(Multinomial Naive Bayes)

  • 平均一致依賴估計器(Averaged One-Dependence Estimators (AODE))

  • 貝葉斯信念網絡(Bayesian Belief Network (BBN))

  • 貝葉斯網絡(Bayesian Network (BN))

優點:

快速、易于訓練、給出了它們所需的資源能帶來良好的表現

缺點:

  • 如果輸入變量是相關的,則會出現問題

關聯規則學習算法(Association Rule Learning Algorithms)


關聯規則學習方法能夠提取出對數據中的變量之間的關系的最佳解釋。比如說一家超市的銷售數據中存在規則 {洋蔥,土豆}=> {漢堡},那說明當一位客戶同時購買了洋蔥和土豆的時候,他很有可能還會購買漢堡肉。

例子:

  • Apriori 算法(Apriori algorithm)

  • Eclat 算法(Eclat algorithm)

  • FP-growth

圖模型(Graphical Models)


圖模型或概率圖模型(PGM/probabilistic graphical model)是一種概率模型,一個圖(graph)可以通過其表示隨機變量之間的條件依賴結構(conditional dependence structure)。

例子:

  • 貝葉斯網絡(Bayesian network)

  • 馬爾可夫隨機域(Markov random field)

  • 鏈圖(Chain Graphs)

  • 祖先圖(Ancestral graph)

優點:

  • 模型清晰,能被直觀地理解

缺點:

  • 確定其依賴的拓撲很困難,有時候也很模糊

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387316.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387316.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387316.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

微信公眾號接入開發者模式,服務器配置Token驗證

概述 接入微信公眾平臺開發,開發者需要按照如下步驟完成: 填寫服務器配置驗證服務器地址的有效性依據接口文檔實現業務邏輯官方指南文檔服務器配置 服務器地址(URL):填寫完URL后,微信服務器會發送GET請求,并攜帶以下參…

2 kafka安裝

單節點: 1、解壓kafka壓縮包到安裝目錄(自己指定); 2、進入kafka目錄并執行命令 > bin/zookeeper-server-start.sh config/zookeeper.properties #如果報錯,修改kafka-run-class.sh,將 -XX:UseComp…

TensorFlow自帶例子

TensorFlow自帶例子已經包含了android和ios下的攝像頭圖像分類示例Inception,這里補充一個Windows下的,使用AForge庫(www.aforgenet.com)操作攝像頭。 代碼在這里下載,使用Visual Studio 2017編譯。 http://files.cnblogs.com/files/autosoft…

遇到Visual Studio 當前不會命中斷點.還沒有為該文檔加載任何符號的情況

一.問題及原因 有這樣一種調用邏輯:A.exe調用B.dll.現在想要在B的源代碼中打斷點,從A發起進行調試,卻給出了"當前不會命中斷點.還沒有為該文檔加載任何符號"的提示.感覺十分奇怪,各種重新生成,重啟VS都沒啥用,最后不得以網上搜了一番,找到了問題的根源. 原來我把舊的…

java01基礎簡介

1 java概述 開發服務器端應用程序最流行語言,產生網頁、運行后端邏輯。 當對java了解到一定程度,閱讀源碼才能解決問題。 Applet:在網頁中運行的java程序, Java的應用領域: 桌面應用系統開發 企業級應用開發 多媒…

TensorFlow自帶例子已經包含了android和ios下的攝像頭圖像分類示例Inception v1,這里補充一個Windows下的,使用AForge庫(www.aforgenet.com)操作

TensorFlow自帶例子已經包含了android和ios下的攝像頭圖像分類示例Inception v1,這里補充一個Windows下的,使用AForge庫(www.aforgenet.com)操作攝像頭。 代碼在這里下載,使用Visual Studio 2017編譯。 http://files.cnblogs.com/files/autos…

Docker+Mongodb

DockerMongodb 原文:DockerMongodbdocker search mongodb docker run -d -p 2701:27017 -v /usr/mongodb/data:/data/db -v /usr/mongodb/databack:/data/backup --name mongo-v1.0.0 mongo --auth docker exec -it mongo-v1.0.0 mongo admin docker exec -it mongo-v1.0.…

Java02繼承

5繼承 5.1 類、超類和子類 關鍵字extends表示繼承。 Java中的繼承都是公用繼承,沒有C中的私有繼承和保護繼承。 Super class Subclass 來自于集合的術語 Base class Derived class Parent class Child class 將通用的功能放在超類中,將具有特…

BP神經網絡與Python實現

人工神經網絡是一種經典的機器學習模型,隨著深度學習的發展神經網絡模型日益完善.聯想大家熟悉的回歸問題, 神經網絡模型實際上是根據訓練樣本創造出一個多維輸入多維輸出的函數, 并使用該函數進行預測, 網絡的訓練過程即為調節該…

《關于長沙.NET技術社區未來發展規劃》問卷調查結果公布

那些開發者們對于社區的美好期待 2月,長沙.net 技術社區自從把群拉起來開始,做了一次比較正式、題目為《關于長沙.NET技術社區未來發展規劃》的問卷調查,在問卷調查中,溪源寫道: 隨著互聯網時代的到來,互聯…

Java03接口與內部類

6 接口與內部類 接口 interface 對象克隆 內部類 inner class 代理 proxy 6.1 接口 public interface Comparable<T> {int compareTo(T other); }Arrays.sort(Object[] a) 利用的是mergesort 接口也可以被擴展 public interface Moveable {void move(double x, doub…

第一節:ASP.NET開發環境配置

第一節&#xff1a;ASP.NET開發環境配置 什么是ASP.NET&#xff0c;學這個可以做什么&#xff0c;學習這些有什么內容&#xff1f; ASP.NET是微軟公司推出的WEB開發技術。 2002年&#xff0c;推出第一個版本&#xff0c;先后推出ASP.NET2.0&#xff0c;和ASP.NET3.5&#xff0c…

深度學習筆記之win7下TensorFlow的安裝

最近要學習神經網絡相關的內容&#xff0c;所以需要安裝TensorFlow。不得不說&#xff0c;安裝TensorFlow的感受就像是大一剛入學學習C語言時&#xff0c;安裝vs時一樣&#xff0c;問題一大堆&#xff0c;工具都裝不好&#xff0c;還學啥呀。好在&#xff0c;就在昨晚&#xff…

Java04異常、斷言、日志和調試

11 異常、斷言、日志和調試 異常處理&#xff08;exception handing&#xff09; 使用斷言來啟動檢測 Java日志框架 調試技巧 11.1 處理錯誤 如果一個方法不能夠采用正常的途徑完成任務&#xff0c;就通過另外一個路徑退出方法。 在這種情況下&#xff0c;方法不返回任何…

全雙工與半雙工的區別

1、全雙工傳輸 (英文Full&#xff0d;Duplex &#xff09; 是指交換機在發送數據的同時也能夠接收數據&#xff0c;兩者同步進行&#xff0c;這好像我們平時打電話一樣&#xff0c;說話的同時也能夠聽到對方的聲音。目前的交換機都支持全雙工。全雙工的好處在于遲延小&#xff…

人臉識別經典算法一:特征臉方法(Eigenface)

這篇文章是擼主要介紹人臉識別經典方法的第一篇&#xff0c;后續會有其他方法更新。特征臉方法基本是將人臉識別推向真正可用的第一種方法&#xff0c;了解一下還是很有必要的。特征臉用到的理論基礎PCA在另一篇博客里&#xff1a;特征臉(Eigenface)理論基礎-PCA(主成分分析法)…

Java05泛型

12 泛型 12.1 為什么使用泛型 泛型程序設計&#xff08;Generic programming&#xff09;&#xff1a;意味著編寫的代碼可以被很多不同類型的對象所重用。 類型參數&#xff08;type parameters&#xff09; 通配符類型&#xff08;wildcard type&#xff09; 可以將Manage…

bitmap轉換為drawable

Bitmap bitmap MediaStore.Images.Media.getBitmap(this, Uri.parse(string)); Drawable drawable new BitmapDrawable(bitmap);// 這樣就轉換成drawable格式&#xff0c;可以設置背景圖片了轉載于:https://www.cnblogs.com/Nigeria/p/10471028.html

numpy的下載與安裝教程——(解決No module named numpy問題)

NumPy函數庫是Python開發環境的一個獨立模塊&#xff0c;而且大多數Python發行版沒有默認安裝NumPy數據庫&#xff0c;因此在安裝Python之后必須單獨安裝NumPy數據庫。 進入Python shell開發環境后輸入 [python] view plaincopy from numpy import* 如果出現No module named …

Xception

The First ColumnThe Second Columnpadding 方式&#xff1a;same and valid The First ColumnThe Second ColumnSame 就是 增加一列相同的數 &#xff08;一般是0&#xff09;valid只保留有效的轉載于:https://www.cnblogs.com/hugeng007/p/10477430.html