機器學習之提升算法

  • 1、知道提升、梯度提升是什么意思
    • 1.1、提升
    • 1.2、梯度提升
    • 1.3、了解提升算法的過程
  • 2、殘差與殘差平方和(residual sum of squares)
  • 3、了解GBDT算法
  • 4、了解XGBoost算法
  • 5、了解Adaboost算法
    • 5.1、Adaboost算法的原理
    • 5.2、例子
  • 6、偏差和方差

1、知道提升、梯度提升是什么意思

1.1、提升

每一步產生一個弱預測模型,并加權累加到總模型中。

1.2、梯度提升

如果每一步的預測模型生成都是依據損失函數的梯度方向,則稱之為梯度提升。
這里寫圖片描述

1.3、了解提升算法的過程

處理的過程:拿原始數據x,y生成一棵樹(得到一個相應的函數T(xi)),得到對應的根據點預測值。之后計算原始數據和預測值的殘差(殘差盡可能接近于0)作為損失函數(殘差是觀測值與預測值之間的差),如果不等于0則將殘差作為xi的“y”再生成一棵樹,再得到對應的預測值Yi,再次計算”y”和預測值Y^的殘差值(也就是預測值和殘差值的殘差值),看損失函數的值是否為0,若不為0則重復以上步驟…直到損失函數為0.(提升算法的損失函數是預測值和真實值的殘差)
這里寫圖片描述
這里寫圖片描述

2、殘差與殘差平方和(residual sum of squares)

殘差:是指觀測值與預測值(擬合值)之間的差,即是實際觀察值與回歸估計值的差,把每個殘差的平方后加起來 稱為殘差平方和,它表示隨機誤差的效應。
每一點的y值的估計值和實際值的差的平方之和稱為殘差平方和,而y的實際值和平均值的差的平方之和稱為總平方和
誤差:即觀測值與真實值的偏離;
殘差:觀測值與擬合值的偏離.
誤差與殘差,這兩個概念在某程度上具有很大的相似性,都是衡量不確定性的指標,可是兩者又存在區別。
誤差與測量有關,誤差大小可以衡量測量的準確性,誤差越大則表示測量越不準確。
誤差分為兩類:系統誤差與隨機誤差。其中,系統誤差與測量方案有關,通過改進測量方案可以避免系統誤差。隨機誤差與觀測者,測量工具,被觀測物體的性質有關,只能盡量減小,卻不能避免。
殘差――與預測有關殘差大小可以衡量預測的準確性。殘差越大表示預測越不準確。殘差與數據本身的分布特性,回歸方程的選擇有關。
誤差大,由異常值引起.表明數據可能有嚴重的測量錯誤;或者所選模型不合適,;
殘差大,表明樣本不具代表性,也有可能由特征值引起.
總之要看一個模型是否合適,看誤差;要看所取樣本是否合適,看殘差;

3、了解GBDT算法

了解GBDT計算決策樹的公式Tm(x)也就代表決策樹函數(即輸入x得到預測值),其中Bjm代表的是樣本X在區域Rjm的預測值(Rjm決策樹的幾個葉子節點),I代表的是x是否該區域(是的話為1,不是的話為0)
這里寫圖片描述
這里寫圖片描述
這里寫圖片描述

4、了解XGBoost算法

XGBoost算法只是將目標函數改為了二階導信息
XGBoost生成樹的過程:枚舉可行的分割點(下圖五個數據有4種分割),然后依次計算對應的Gain()(根節點的損失減去兩個葉節點的損失得到一個增益值),選取增益最大的劃分。
依次進行得到整棵樹。由此也能得到對應的權值w(參考w的計算公式)。
這里寫圖片描述
這里寫圖片描述
這里寫圖片描述
這里寫圖片描述

5、了解Adaboost算法

5.1、Adaboost算法的原理

通過初始化權值得到對應的誤差率,進而得到加權系數,之后利用公式不斷的迭代初始權值直到目標函數達到最優。
權值是需要初始化即D
這里寫圖片描述
em(誤差率)可以計算出來(就相當于判斷預測值和實際值是否相等),知道em后就能計算出對應的Gm(x)對應的系數αm了。
這里寫圖片描述

由下圖中的公式計算Wm+1的值(α、樣本的實際值和預測值以及對應樣本的權值都為已知條件),去更新數據集D1中對應的權值得到D2,之后再計算D2對應的誤差率e2和對應的系數α2…依次類推直到最后。(exp,高等數學里以自然常數e為底的指數函數)
這里寫圖片描述
由算到的m個α系數和對應的預測值相乘相加得到最終的總分類器
f(x):基本分類器的線性組合。
這里寫圖片描述
αm的值是>0的(1-em>em即誤差率小于0.5)
這里寫圖片描述
迭代過程中預測結果對權值的影響:即實際操作中當預測結果正確時,第二次迭代時對應的權值會減小,反之則會增加。
Wmi公式中的值都能得到。
這里寫圖片描述

5.2、例子

這里寫圖片描述
這里寫圖片描述
選取一個閾值使基本分類器G1(x)的誤差率最小。
這里寫圖片描述
這里寫圖片描述
這里寫圖片描述
這里寫圖片描述
這里寫圖片描述
這里寫圖片描述
這里寫圖片描述
這里寫圖片描述
這里寫圖片描述

6、偏差和方差

知道偏差和方差:把偏差認為是單個模型的擬合能力,而方差則描述的是同一個學習算法在不同數據集的不穩定性
偏差與方差:
偏差描述的是算法的預測的平均值和真實值的關系(可以想象成算法的擬合能力如何),而方差描述的是同一個算法在不同數據集上的預測值和所有數據集上的平均預測值之間的關系(可以想象成算法的穩定性如何)。
這里寫圖片描述
這里寫圖片描述

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

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

相關文章

Jsoup遍歷ul li下的鏈接信息實例

2019獨角獸企業重金招聘Python工程師標準>>> Document doc;try {String URL "www.baidu.com";doc Jsoup.connect(URL).get();Elements ElementsUl doc.getElementsByTag("ul");for (Element elementLi : ElementsUl) {Elements provinceEl …

兩篇波蘭地區重金屬污染地區土壤微生物多樣性的研究

環境微生物(包括方興未艾的腸道微生物)在不同的系統中發揮著的生態作用逐漸被意識到,我們對環境微生物實際上仍舊知之甚少,其多樣性問題仍舊是一個非常基礎和重要的課題。這次讀的兩篇文章都是關于波蘭地區重金屬污染地區的土壤微…

jquery中的 $(function(){})

$(function(){})的區別:$(function(){}) 是 $(document).ready(function(){}) 的簡寫,用來在DOM加載完成之后執行一系列預先定義好的函數。 需要注意與(function(){})相比,(function(){})表示一個匿名函數。function(arg){...}定義了一個參數…

機器學習之支持向量機(SVM)總結

文章目錄1、知道SVM相關的各種概念2、知道目標函數、損失函數、正則項的意義2.1、目標函數2.2、損失函數2.3、正則化(添加噪音避免過擬合)3、了解SVM算法原理4、知道SVM的目標函數5、知道SVM的損失函數以及公式6、知道SVM支持向量機的計算過程6.1、推導過…

在CentOS上搭建PHP服務器環境

您也可以使用一鍵自動部署環境的工具,請參見網友開發的這個工具 http://www.centos.bz/2013/08/ezhttp-tutorial/安裝apache:yum install httpd httpd-devel 啟動apache:/etc/init.d/httpd start此時輸入服務器的IP地址,應該看到apache的服務頁面&#x…

jQuery之滾動事件$(window).scroll(function()

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>滾動事件</title><script src"https://code.jquery.com/jquery-2.2.4.min.js"></script><style>img{position:fixe…

《瘋狂Java講義》(二十九)---- JDBC

JDBC編程步驟加載數據庫驅動Class.forName(driverClass). 例如&#xff1a;Class.forName("oracle.jdbc.driver.OracleDriver"); 2. 通過DriverManager獲取數據庫連接。 DriverManager.getConnection(String url, String user, String pwd); 3. 通過Connection對象創…

機器學習之聚類算法的原理推導及相關知識總結

文章目錄1、知道幾個關于"差"的概念2、理解相似度度量的各種方法和相互關系2.1、歐氏距離2.2、jaccard相似系數2.3、余弦相似度2.4、Pearson相似系數2.5、相對熵3、掌握掌握K-Means算法3.1、知道聚類的思想3.2、K-Means算法原理3.3、知道K-Mediods聚類3.4、如何選取K…

Flex 布局教程:語法

Java數組聲明的三種方式 第一種(聲明并初始化)&#xff1a; 數據類型[] 數組名{值,值,...}; 例&#xff1a;int[] a {1,2,3,4,5,6,7,8}; 第二種(聲明后賦值)&#xff1a; 數據類型[] 數組名 new 數據類型[數組長度]; 數組名[下標1]值…

注意:匿名函數調用直接加載函數名setInterval(move,30)

setInterval要求第一個參數必須是含Javascript命令的字符串或函數對象&#xff0c;所以 setInterval("move()",300) 以及 setInterval(move,300) 這兩個都是正確的。 而 setInterval(move(),300) 當Javascript運行到這個語句時&#xff0c;會立即執行move這個函數&am…

vue import組件的使用

vue import組件的使用 1新建/src/component/firstcomponent.vue <template><div id"firstcomponent"><h1>I am a title.</h1></div> </template>2在app.vue引入組件 并且注冊 <script> import firstcomponent from ./comp…

牽絲戲

余少能視鬼&#xff0c;嘗于雪夜野寺逢一提傀儡翁&#xff0c;鶴發襤褸&#xff0c;唯持一木偶制作極精&#xff0c;宛如嬌女&#xff0c;繪珠淚盈睫&#xff0c;惹人見憐。 時云彤雪狂&#xff0c;二人比肩向火&#xff0c;翁自述曰&#xff1a;少時好觀牽絲戲&#xff0c;耽…

機器學習之EM算法的原理推導及相關知識總結

文章目錄1、知道先驗概率和后驗概率2、了解高斯混合模型GMM3、通過最大似然估計推導EM算法的過程的實例4、EM算法5、知道pLSA模型1、知道先驗概率和后驗概率 先驗概率&#xff08;prior probability&#xff09;是指根據以往經驗和分析得到的概率&#xff08;理解為自定義概率…

jQuery中的on 和事件委派

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>事件</title><style>p{width:100px;height:100px;border: 1px solid gray;}</style><script src"https://code.jquery.com/…

python pip處理

查看pip 版本號 pip --version 升級方法 on linux or os X: pip install -U pip on windows: python -m pip install -U pip 轉載于:https://www.cnblogs.com/yangwithtao/p/6397114.html

js中innerHTML和innerText jQuery中html()和text()的區別

js中innerHTML和innerText的區別innerHTML innerHTML 會將標簽和標簽中的內容否獲取回來 innerHTML .innerHTML ‘<p></p>’; 只會將文本內容解析出來&#xff0c;不會顯示標簽innerText innerText 只會將標簽中的內容獲取回來&#xff0c;不會獲取標簽 innerT…

ECMAScript 6 -- let和const命令

ES6新增了let命令&#xff0c;用來聲明變量。它的用法類似于var&#xff0c;但是所聲明的變量&#xff0c;只在let命令所在的代碼塊內有效。 for (let i 0; i < 10; i) {console.log(i);} 可以執行 for (let i 0; i < 10; i) {}console.log(i); 就會報錯 ncaught Refer…

機器學習之樸素貝葉斯算法的推理及相關知識總結

文章目錄1、樸素貝葉斯公式1.1、貝葉斯公式的應用2、了解貝葉斯網絡2.1、知道什么是貝葉斯網絡2.2、貝葉斯網絡的兩種表示形式2.3、掌握全連接的貝葉斯網絡的公式2.3、知道條件概率表參數個數分析的方法2.4、掌握變量聯合分布概率的公式及含義2.5、知道馬爾科夫模型3、了解D-se…

mysql之外鍵

外鍵的作用,主要有兩個: 一個是讓數據庫自己通過外鍵來保證數據的完整性和一致性 一個就是能夠增加ER圖的可讀性 有些人認為外鍵的建立會給開發時操作數據庫帶來很大的麻煩.因為數據庫有時候會由于沒有通過外鍵的檢測而使得開發人員刪除,插入操作失敗.他們覺得這樣很麻煩 …

Android onLoadFinished與onLoaderReset

onLoadFinished 這個方法是在前面已創建的加載器已經完成其加載過程后被調用&#xff0c;這個方法保證會在應用到加載器上的數據被釋放之前被調用。在此方法中&#xff0c;你必須刪除所有對舊數據的使用(因為它將很快會被刪除)&#xff0c;但是不要自己去釋放它們&#xff0c;因…