丰满少妇女人a毛片视频-酒色成人网-日韩欧美一-日韩精品一区二区av在线观看-成人久久免费-欧美精品一二三四区-国产午夜免费-亚洲男人第一天堂-一区二区三区福利视频-午夜激情影院-av中文天堂在线-免费一区二区-欧美日韩xxx-91区视频-亚洲另类激情专区小说图片-黄色的网站在线观看-香蕉精品在线

高分網(wǎng) > 通用學(xué)習(xí)方法 > 學(xué)習(xí)方法 >

機器學(xué)習(xí)方法匯總

時間: 如英2 學(xué)習(xí)方法

  機器學(xué)習(xí)方法匯總一

  1.決策樹算法

  決策樹是一種樹形分類結(jié)構(gòu),一棵決策樹由內(nèi)部結(jié)點和葉子結(jié)點構(gòu)成,內(nèi)部結(jié)點代表一個屬性(或者一組屬性),該結(jié)點的孩子代表這個屬性的不同取值;葉子結(jié)點表示一個類標(biāo)。決策樹保證每一個實例都能被一條從根結(jié)點到葉子結(jié)點的路徑覆蓋,葉子結(jié)點就是這條實例對應(yīng)的類別,遍歷這條路徑的過程就是對這條實例分類的過程。關(guān)于決策樹的詳細介紹,可以參考這篇文章。

  損失函數(shù)

  假設(shè)決策樹T的葉結(jié)點個數(shù)為|T|,t是樹T的某個葉結(jié)點,該結(jié)點有\(zhòng)(N_t\)個樣本點,其中k類的樣本點有\(zhòng)(N_{tk}\)個,k=1,2,…,K(K為類別個數(shù)),\(H_t(T)\)為葉結(jié)點t上的經(jīng)驗熵(即從訓(xùn)練數(shù)據(jù)算出的熵),決策樹模型對訓(xùn)練數(shù)據(jù)的預(yù)測誤差\(C(T)\)定義為

  \(C(T)=\sum_{t=1}^{|T|}N_tH_t(T)=-\sum_{t=1}^{|T|}\sum_{k=1}^{K}N_{tk}log\frac{N_{tk}}{N_t}\)

  損失函數(shù)\(C_\alpha(T)\):

  \(C_\alpha(T)=C(T)+\alpha|T|\)

  參數(shù)\(\alpha>=0\)控制預(yù)測誤差與模型復(fù)雜度的影響。

  優(yōu)化目標(biāo)

  在決策樹的構(gòu)造階段,其優(yōu)化目標(biāo)是尋找最優(yōu)的分裂屬性,具體實現(xiàn)是最大化屬性選擇指標(biāo),包括信息增益、信息增益比率、基尼指數(shù)等,構(gòu)造階段用貪心策略得到局部最優(yōu)的模型。

  在剪枝階段,其優(yōu)化目標(biāo)是最小化損失函數(shù)\(C_\alpha(T)\),即

  \(min_TC_a(T)\)

  剪枝階段是一個全局優(yōu)化的過程,如果把@$\alpha$@設(shè)置得較大,則傾向于選擇簡單的樹(此時預(yù)測誤差較大,而泛化能力較好),而如果$\alpha$設(shè)置得較小,則傾向于選擇更復(fù)雜的模型(此時預(yù)測誤差較小,而泛化能力偏差);設(shè)置為0,那就只考慮預(yù)測誤差,即對訓(xùn)練數(shù)據(jù)的擬合程度最高,但對未見過的數(shù)據(jù),分類能力并不高。一個適當(dāng)?shù)腀$\alpha$@在預(yù)測誤差與模型復(fù)雜度(泛化能力)之間平衡。

  2.線性回歸

  線性回歸使用線性模型擬合因變量與目標(biāo)變量的關(guān)系,是最簡單的預(yù)測模型。

  假設(shè)函數(shù)

  其中\(zhòng)(x_0=1\)

  損失函數(shù)

  \(C(\theta)=\frac{1}{2m}\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})^2\)

  優(yōu)化目標(biāo)

  選擇合適的參數(shù)組\(\theta\),使得損失函數(shù)最小化:

  \(min_\theta(C(\theta))\)

  優(yōu)化實現(xiàn)

  使用梯度下降法,不斷地進行迭代,每一步的方向是負梯度方向:

  \(\theta_j=\theta_j-\alpha\frac{\partial }{\partial \theta_j}Cost(\theta)=\theta_j-\alpha\frac{1}{m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}\)

  3.邏輯回歸

  邏輯回歸于線性回歸有著驚人的相似,卻又有著本質(zhì)的不同,線性回歸的假設(shè)函數(shù)度量了一個線性模型對因變量和目標(biāo)變量的擬合,即給定一個輸入,通過一個線性變換得到一個輸出,而邏輯回歸的假設(shè)函數(shù)計算的是對于給定輸入,其輸出y=1的概率,但邏輯回歸與線性回歸在計算形式上很相似,常常讓誤解為他們僅僅是假設(shè)函數(shù)的不同。

  假設(shè)函數(shù)

  其中\(zhòng)(x_0=1\) 、\(g(z)=\frac{1}{1+\exp^{-z}}\)

  損失函數(shù)

  這里的損失函數(shù)不再是線性回歸時的求誤差平方和,因為誤差平方和不是參數(shù)$\theta$的凸函數(shù),不容易求解全局最優(yōu)解,因此該用極大釋然估計作為損失函數(shù),能滿足凸函數(shù)的要求。

  \(C(\theta)=-\frac{1}{m}[\sum_{i=1}^my^{(i)}log(h_\theta(x^{(i)}))+(1-y^{(i)})log(1-h_\theta(x^{(i)}))]\)

  優(yōu)化目標(biāo)

  \(min_\theta(C(\theta))\)

  優(yōu)化實現(xiàn)

  使用梯度下降法,不斷地進行迭代,每一步的方向是負梯度方向:

  \(\theta_j=\theta_j-\alpha\frac{\partial }{\partial \theta_j}Cost(\theta)=\theta_j-\alpha\frac{1}{m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}\)

  注意到,在優(yōu)化實現(xiàn)上,邏輯回歸與線性回歸的形式一樣的,只是具體的假設(shè)函數(shù)不同。實際上,這只是一個巧合,巧合之處在于,對各自的損失函數(shù)求偏導(dǎo)數(shù)后,其梯度值恰好是假設(shè)函數(shù)與y的表達式,但線性回歸與邏輯回歸的本質(zhì)是不同的。

  3.BP神經(jīng)網(wǎng)絡(luò)

  這篇文章已經(jīng)介紹了BP神經(jīng)網(wǎng)絡(luò),這里只是從模型、策略、算法這三個層面來總結(jié)一下BP,模型就是指假設(shè)函數(shù),策略則指優(yōu)化目標(biāo),算法即指優(yōu)化實現(xiàn)。

  假設(shè)函數(shù)

  神經(jīng)網(wǎng)絡(luò)的假設(shè)函數(shù)不是一個簡單的公式,它是多個邏輯回歸函數(shù)逐層迭代的結(jié)果,形式上可以寫成如下:

  \(a^{(1)}=x\)

  \(a^{(2)}=g(W^{(1)}a^{(1)})\)

  \(a^{(i)}=g(W^{(i-1)}a^{(i-1)})\)

  ….

  \(a^{(L)}=g(W^{(L-1)}a^{(L-1)})\)

  \(h_W(x)=a^{(L)}\)

  其中\(zhòng)(L\)表示神經(jīng)網(wǎng)絡(luò)的層數(shù),\(g(z)=\frac{1}{1+\exp^{-z}}\),\(W^{(i-1)}\)表示第i-1層與第i層單元的權(quán)值矩陣,并且把偏置\(\theta^{(i)}\)放在了權(quán)值矩陣\(W^{(i-1)}\)中

  損失函數(shù)

  神經(jīng)網(wǎng)絡(luò)的損失函數(shù)跟邏輯回歸非常類似,但是神經(jīng)網(wǎng)絡(luò)的輸出單元可能有多個,需要在每個輸出單元上做一個累加:

  \(Cost(W)=-\frac{1}{m}[\sum_{i=1}^m\sum_{k=1}^Ky_k^{(i)}log(h_\theta(x^{(i)}))_k+(1-y^{(i)}_k)log(1-h_\theta(x^{(i)}))_k]\)

  其中K表示輸出層神經(jīng)單元的個數(shù),m表示訓(xùn)練數(shù)據(jù)實例個數(shù)。

  優(yōu)化目標(biāo)

  各個算法的優(yōu)化目標(biāo)基本上都是尋求適當(dāng)?shù)膮?shù),使得損失函數(shù)最小。

  \(min_W(C(\theta))\)

  優(yōu)化實現(xiàn)

  BP神經(jīng)網(wǎng)絡(luò),利用反向傳播,逐層采樣梯度下降。

  4.k近鄰

  損失函數(shù)

  knn損失函數(shù)為0-1損失函數(shù),假設(shè)給定一個實例x,其K個最近鄰訓(xùn)練實例點構(gòu)成的集合是\(N_k(x)\):

  \(cost(f)=\frac {1}{k}\sum_{x_i\in N_k(x)}I(y_i\ne c_j)=1-\frac {1}{k}\sum_{x_i\in N_k}(x)I(y_i=c_j)\)

  優(yōu)化目標(biāo)

  機器學(xué)習(xí)方法匯總二

  學(xué)習(xí)方式

  根據(jù)數(shù)據(jù)類型的不同,對一個問題的建模有不同的方式。在機器學(xué)習(xí)或者人工智能領(lǐng)域,人們首先會考慮算法的學(xué)習(xí)方式。在機器學(xué)習(xí)領(lǐng)域,有幾種主要的學(xué)習(xí)方式。將算法按照學(xué)習(xí)方式分類是一個不錯的想法,這樣可以讓人們在建模和算法選擇的時候考慮能根據(jù)輸入數(shù)據(jù)來選擇最合適的算法來獲得最好的結(jié)果。

  監(jiān)督式學(xué)習(xí):

  在監(jiān)督式學(xué)習(xí)下,輸入數(shù)據(jù)被稱為“訓(xùn)練數(shù)據(jù)”,每組訓(xùn)練數(shù)據(jù)有一個明確的標(biāo)識或結(jié)果,如對防垃圾郵件系統(tǒng)中“垃圾郵件”“非垃圾郵件”,對手寫數(shù)字識別中的“1“,”2“,”3“,”4“等。在建立預(yù)測模型的時候,監(jiān)督式學(xué)習(xí)建立一個學(xué)習(xí)過程,將預(yù)測結(jié)果與“訓(xùn)練數(shù)據(jù)”的實際結(jié)果進行比較,不斷的調(diào)整預(yù)測模型,直到模型的預(yù)測結(jié)果達到一個預(yù)期的準確率。監(jiān)督式學(xué)習(xí)的常見應(yīng)用場景如分類問題和回歸問題。常見算法有邏輯回歸(Logistic Regression)和反向傳遞神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network)

  非監(jiān)督式學(xué)習(xí):

  在非監(jiān)督式學(xué)習(xí)中,數(shù)據(jù)并不被特別標(biāo)識,學(xué)習(xí)模型是為了推斷出數(shù)據(jù)的一些內(nèi)在結(jié)構(gòu)。常見的應(yīng)用場景包括關(guān)聯(lián)規(guī)則的學(xué)習(xí)以及聚類等。常見算法包括Apriori算法以及k-Means算法。

  半監(jiān)督式學(xué)習(xí):

  在此學(xué)習(xí)方式下,輸入數(shù)據(jù)部分被標(biāo)識,部分沒有被標(biāo)識,這種學(xué)習(xí)模型可以用來進行預(yù)測,但是模型首先需要學(xué)習(xí)數(shù)據(jù)的內(nèi)在結(jié)構(gòu)以便合理的組織數(shù)據(jù)來進行預(yù)測。應(yīng)用場景包括分類和回歸,算法包括一些對常用監(jiān)督式學(xué)習(xí)算法的延伸,這些算法首先試圖對未標(biāo)識數(shù)據(jù)進行建模,在此基礎(chǔ)上再對標(biāo)識的數(shù)據(jù)進行預(yù)測。如圖論推理算法(Graph Inference)或者拉普拉斯支持向量機(Laplacian SVM.)等。

  強化學(xué)習(xí):

  在這種學(xué)習(xí)模式下,輸入數(shù)據(jù)作為對模型的反饋,不像監(jiān)督模型那樣,輸入數(shù)據(jù)僅僅是作為一個檢查模型對錯的方式,在強化學(xué)習(xí)下,輸入數(shù)據(jù)直接反饋到模型,模型必須對此立刻作出調(diào)整。常見的應(yīng)用場景包括動態(tài)系統(tǒng)以及機器人控制等。常見算法包括Q-Learning以及時間差學(xué)習(xí)(Temporal difference learning)

  在企業(yè)數(shù)據(jù)應(yīng)用的場景下, 人們最常用的可能就是監(jiān)督式學(xué)習(xí)和非監(jiān)督式學(xué)習(xí)的模型。 在圖像識別等領(lǐng)域,由于存在大量的非標(biāo)識的數(shù)據(jù)和少量的可標(biāo)識數(shù)據(jù), 目前半監(jiān)督式學(xué)習(xí)是一個很熱的話題。 而強化學(xué)習(xí)更多的應(yīng)用在機器人控制及其他需要進行系統(tǒng)控制的領(lǐng)域。

  算法類似性

  根據(jù)算法的功能和形式的類似性,我們可以把算法分類,比如說基于樹的算法,基于神經(jīng)網(wǎng)絡(luò)的算法等等。當(dāng)然,機器學(xué)習(xí)的范圍非常龐大,有些算法很難明確歸類到某一類。而對于有些分類來說,同一分類的算法可以針對不同類型的問題。這里,我們盡量把常用的算法按照最容易理解的方式進行分類。

  回歸算法:

  回歸算法是試圖采用對誤差的衡量來探索變量之間的關(guān)系的一類算法?;貧w算法是統(tǒng)計機器學(xué)習(xí)的利器。在機器學(xué)習(xí)領(lǐng)域,人們說起回歸,有時候是指一類問題,有時候是指一類算法,這一點常常會使初學(xué)者有所困惑。常見的回歸算法包括:最小二乘法(Ordinary Least Square),邏輯回歸(Logistic Regression),逐步式回歸(Stepwise Regression),多元自適應(yīng)回歸樣條(Multivariate Adaptive Regression Splines)以及本地散點平滑估計(Locally Estimated Scatterplot Smoothing)

  基于實例的算法

  基于實例的算法常常用來對決策問題建立模型,這樣的模型常常先選取一批樣本數(shù)據(jù),然后根據(jù)某些近似性把新數(shù)據(jù)與樣本數(shù)據(jù)進行比較。通過這種方式來尋找最佳的匹配。因此,基于實例的算法常常也被稱為“贏家通吃”學(xué)習(xí)或者“基于記憶的學(xué)習(xí)”。常見的算法包括 k-Nearest Neighbor(KNN), 學(xué)習(xí)矢量量化(Learning Vector Quantization, LVQ),以及自組織映射算法(Self-Organizing Map , SOM)

  正則化方法

  正則化方法是其他算法(通常是回歸算法)的延伸,根據(jù)算法的復(fù)雜度對算法進行調(diào)整。正則化方法通常對簡單模型予以獎勵而對復(fù)雜算法予以懲罰。常見的算法包括:Ridge Regression, Least Absolute Shrinkage and Selection Operator(LASSO),以及彈性網(wǎng)絡(luò)(Elastic Net)。

  決策樹學(xué)習(xí)

  決策樹算法根據(jù)數(shù)據(jù)的屬性采用樹狀結(jié)構(gòu)建立決策模型, 決策樹模型常常用來解決分類和回歸問題。常見的算法包括:分類及回歸樹(Classification And Regression Tree, CART), ID3 (Iterative Dichotomiser 3), C4.5, Chi-squared Automatic Interaction Detection(CHAID), Decision Stump, 隨機森林(Random Forest), 多元自適應(yīng)回歸樣條(MARS)以及梯度推進機(Gradient Boosting Machine, GBM)

  貝葉斯方法

  貝葉斯方法算法是基于貝葉斯定理的一類算法,主要用來解決分類和回歸問題。常見算法包括:樸素貝葉斯算法,平均單依賴估計(Averaged One-Dependence Estimators, AODE),以及Bayesian Belief Network(BBN)。

  基于核的算法

  基于核的算法中最著名的莫過于支持向量機(SVM)了。 基于核的算法把輸入數(shù)據(jù)映射到一個高階的向量空間, 在這些高階向量空間里, 有些分類或者回歸問題能夠更容易的解決。 常見的基于核的算法包括:支持向量機(Support Vector Machine, SVM), 徑向基函數(shù)(Radial Basis Function ,RBF), 以及線性判別分析(Linear Discriminate Analysis ,LDA)等

  聚類算法

  聚類,就像回歸一樣,有時候人們描述的是一類問題,有時候描述的是一類算法。聚類算法通常按照中心點或者分層的方式對輸入數(shù)據(jù)進行歸并。所以的聚類算法都試圖找到數(shù)據(jù)的內(nèi)在結(jié)構(gòu),以便按照最大的共同點將數(shù)據(jù)進行歸類。常見的聚類算法包括 k-Means算法以及期望最大化算法(Expectation Maximization, EM)。

  關(guān)聯(lián)規(guī)則學(xué)習(xí)

  關(guān)聯(lián)規(guī)則學(xué)習(xí)通過尋找最能夠解釋數(shù)據(jù)變量之間關(guān)系的規(guī)則,來找出大量多元數(shù)據(jù)集中有用的關(guān)聯(lián)規(guī)則。常見算法包括 Apriori算法和Eclat算法等。

  人工神經(jīng)網(wǎng)絡(luò)

  人工神經(jīng)網(wǎng)絡(luò)算法模擬生物神經(jīng)網(wǎng)絡(luò),是一類模式匹配算法。通常用于解決分類和回歸問題。人工神經(jīng)網(wǎng)絡(luò)是機器學(xué)習(xí)的一個龐大的分支,有幾百種不同的算法。(其中深度學(xué)習(xí)就是其中的一類算法,我們會單獨討論),重要的人工神經(jīng)網(wǎng)絡(luò)算法包括:感知器神經(jīng)網(wǎng)絡(luò)(Perceptron Neural Network), 反向傳遞(Back Propagation), Hopfield網(wǎng)絡(luò),自組織映射(Self-Organizing Map, SOM)。學(xué)習(xí)矢量量化(Learning Vector Quantization, LVQ)

  深度學(xué)習(xí)

  深度學(xué)習(xí)算法是對人工神經(jīng)網(wǎng)絡(luò)的發(fā)展。 在近期贏得了很多關(guān)注, 特別是百度也開始發(fā)力深度學(xué)習(xí)后, 更是在國內(nèi)引起了很多關(guān)注。 在計算能力變得日益廉價的今天,深度學(xué)習(xí)試圖建立大得多也復(fù)雜得多的神經(jīng)網(wǎng)絡(luò)。很多深度學(xué)習(xí)的算法是半監(jiān)督式學(xué)習(xí)算法,用來處理存在少量未標(biāo)識數(shù)據(jù)的大數(shù)據(jù)集。常見的深度學(xué)習(xí)算法包括:受限波爾茲曼機(Restricted Boltzmann Machine, RBN), Deep Belief Networks(DBN),卷積網(wǎng)絡(luò)(Convolutional Network), 堆棧式自動編碼器(Stacked Auto-encoders)。

  降低維度算法

  像聚類算法一樣,降低維度算法試圖分析數(shù)據(jù)的內(nèi)在結(jié)構(gòu),不過降低維度算法是以非監(jiān)督學(xué)習(xí)的方式試圖利用較少的信息來歸納或者解釋數(shù)據(jù)。這類算法可以用于高維數(shù)據(jù)的可視化或者用來簡化數(shù)據(jù)以便監(jiān)督式學(xué)習(xí)使用。常見的算法包括:主成份分析(Principle Component Analysis, PCA),偏最小二乘回歸(Partial Least Square Regression,PLS), Sammon映射,多維尺度(Multi-Dimensional Scaling, MDS), 投影追蹤(Projection Pursuit)等。

  集成算法:

  集成算法用一些相對較弱的學(xué)習(xí)模型獨立地就同樣的樣本進行訓(xùn)練,然后把結(jié)果整合起來進行整體預(yù)測。集成算法的主要難點在于究竟集成哪些獨立的較弱的學(xué)習(xí)模型以及如何把學(xué)習(xí)結(jié)果整合起來。這是一類非常強大的算法,同時也非常流行。常見的算法包括:Boosting, Bootstrapped Aggregation(Bagging), AdaBoost,堆疊泛化(Stacked Generalization, Blending),梯度推進機(Gradient Boosting Machine, GBM),隨機森林(Random Forest)。

30586 玉树县| 兴业县| 怀宁县| 当阳市| 奉节县| 吴忠市| 云梦县| 旌德县| 金湖县| 温州市| 肥乡县| 嘉荫县| 海盐县| 体育| 措勤县| 彭山县| 高淳县| 太原市| 湖口县| 衢州市| 盖州市| 五峰| 上饶市| 库伦旗| 陕西省| 右玉县| 福泉市| 伊金霍洛旗| 阿克陶县| 抚远县| 清新县| 长宁县| 庐江县| 正镶白旗| 宿州市| 横峰县| 留坝县| 贵阳市| 乡城县| 彭泽县| 宜兰县|