-
當前位置:首頁 > 創(chuàng)意學院 > 技術 > 專題列表 > 正文
回歸算法(回歸算法原理是什么)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于回歸算法的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關鍵詞,就能返回你想要的內(nèi)容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務客戶遍布全球各地,如需了解SEO相關業(yè)務請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、機器學習故事匯-邏輯回歸算法
機器學習故事匯-邏輯回歸算法
今天我們要來討論的一個分類算法-邏輯回歸(你有沒有搞錯,這不還是回歸嗎,雖然名字帶上了回歸其實它是一個非常實用的分類算法)。,適合對數(shù)學很頭疼的同學們,小板凳走起!
先來吹一吹邏輯回歸的應用,基本上所有的機器學習分類問題都可以使用邏輯回歸來求解,當前拿到一份數(shù)據(jù)想做一個分類任務的時候第一手準備一定要拿邏輯回歸來嘗試(雖然有很多復雜的模型比如神經(jīng)網(wǎng)絡,支持向量機的名氣更大,但是邏輯回歸卻更接地氣,用的最多的還是它)!在機器學習中無論是算法的推導還是實際的應用一直有這樣的一種思想,如果一個問題能用簡單的算法去解決那么絕對沒必要去套用復雜的模型。
在邏輯回歸中最核心的概念就是Sigmoid函數(shù)了,首先我們先來觀察一下它的自變量取值范圍以及值域,自變量可以是任何實數(shù)(這沒啥特別的?。┑俏覀冇^察值域的范圍是[0,1]也就是任意的一個輸入都會映射到[0,1]的區(qū)間上,我們來想一想這個區(qū)間有什么特別的含義嗎?在我們做分類任務的時候一般我都都會認為一個數(shù)據(jù)來了它要么是0要么是1(只考慮二分類問題),我們其實可以更細致一點得出來它是0或者1的可能性有多大,由此我們就得出了一個輸入屬于某一個類別的概率值,這個[0,1]不就恰好是這個概率嗎!
在這里我們的預測函數(shù)還是跟線性回歸沒有多大差別,只不過我們將結(jié)果又輸入到Sigmoid函數(shù)中,這樣得到了數(shù)據(jù)屬于類別的概率值。在推導過程中,我們假定分類是兩個類別的(邏輯回歸是經(jīng)典的而分類器)。設定y(標簽)要么取0要么取1,這樣就可以把兩個類別進行整合,得到一個更直觀的表達。
對于邏輯回歸的求解,已然沿用我們上次跟大家討論的梯度下降算法。給出似然函數(shù),轉(zhuǎn)換對數(shù)似然(跟線性回歸一致),但是我們現(xiàn)在的優(yōu)化目標卻跟之前不太一樣了,線性回歸的時候我們要求解的是最小值(最小二乘法),但是現(xiàn)在我們想得到的卻是使得該事件發(fā)生得最大值,為了沿用梯度下降來求解,可以做一個簡單的轉(zhuǎn)換添加一個負號以及一個常數(shù)很簡單的兩步就可以把原始問題依然轉(zhuǎn)換成梯度下降可以求解的問題。
此處求導過程看起來有些長,但也都是非常非?;镜倪\算了,感興趣拿起一支筆來實際算算吧!
最終就是參數(shù)更新了,迭代更新是機器學習的常規(guī)套路了。但是我們來簡單想一想另外的一個問題,現(xiàn)在我們說的邏輯回歸是一個二分類算法,那如果我的實際問題是一個多分類該怎么辦呢?這個時候就需要Softmax啦,引入了歸一化機制,來將得分值映射成概率值。
最后一句話總結(jié)一下吧,任何時候(沒錯就是這么狠)當我們一個實際任務來了,第一個算法就是邏輯回歸啦,可以把它當成我們的基礎模型,然后不斷改進對比!
二、GBDT與XGBoost
之前介紹過 梯度下降法與牛頓法 ,GBDT與XGBoost就與這兩種方法有關。
GBDT泛指所有梯度提升樹算法,包括XGBoost,它也是GBDT的一種變種,為了區(qū)分它們,GBDT一般特指“Greedy Function Approximation:A Gradient Boosting Machine”里提出的算法,只用了一階導數(shù)信息。
算法流程如下:
算法流程圖也可以如下圖:
GBDT常用損失函數(shù)
分類算法:
分類算法中CART樹也是采用回歸樹
(1) 指數(shù)損失函數(shù):
負梯度計算和葉子節(jié)點的最佳負梯度擬合與Adaboost相似。
(2) 對數(shù)損失函數(shù):
二元分類:
多元分類:
回歸算法:
(1)均方差:
(2)絕對損失:
負梯度誤差為:
(3)Huber損失:
均方差和絕對損失的折中,對遠離中心的異常點,采用絕對損失,而中心附近的點采用均方差。界限一般用分位數(shù)點度量。損失函數(shù)如下:
負梯度誤差:
(4) 分位數(shù)損失:分位數(shù)回歸的損失函數(shù),表達式為
θ為分位數(shù),需要我們在回歸前指定。對應的負梯度誤差為:
Huber損失和分位數(shù)損失,減少異常點對損失函數(shù)的影響。
問題:GBDT如何減少異常點的影響?
GBDT優(yōu)點:
GBDT缺點:
Adaboost與GBDT:
RF與GBDT:
RF優(yōu)點:
RF缺點:
XGBoost目標函數(shù)及歸一化公式
歸一化解釋
XGBoost參數(shù)定義
XGBoost第t次迭代: 訓練第t棵子樹,損失函數(shù)最小求參數(shù),計算過程如下
假設分到j這個葉子節(jié)點上的樣本只有一個。那么,w* j 如下:
回歸樹的學習策略
XGBoost的打分函數(shù)
樹節(jié)點分裂方法
尋找分為點可以使用Weighted Quantile Sketch—分布式加權(quán)直方圖算法
稀疏值處理
關鍵的改進是只訪問非缺失的條目I k 。 所提出的算法將不存在的值視為缺失值并且學習處理缺失值的最佳方向。稀疏感知算法運行速度比初始版本快50倍
XGBoost的其它特性
Shrinkage and Column Subsampling
Shrinkage and Column Subsampling均是為了防止過擬合
XGBoost的系統(tǒng)設計
Column Block
xgboost的并行不是tree粒度的并行,而是特征粒度上。
緩存感知訪問(Cache-aware Access)
XGBoost的優(yōu)點
XGBoost與GBDT對比
問題:XGBoost為什么使用CART樹而不是用普通的決策樹呢?
XGBoost參數(shù)說明
回歸樹 生成算法如下,使用最小二乘偏差(LSD)。
分類樹 算法流程如下,使用GINI指數(shù)
GINI 指數(shù):
分類中,假設 K 個類,樣本屬于第 k 類的概率為 p k ,概率分布的基尼指數(shù)為:
樣本集合 D 的基尼指數(shù)為:
C k 為數(shù)據(jù)集D中屬于第k類的樣本子集,| * |表示樣本集中樣本的個數(shù)。
數(shù)據(jù)集 D 根據(jù)特征 A 在某一取值 a 上進行分割,得到 D 1 、D 2 兩部分,則在特征 A 下集合 D 的基尼指數(shù)為:
停止條件:
剪枝
決策樹防止過擬合方法:
代價復雜度剪枝 Cost-Complexity Pruning(CCP) 方法對CART剪枝,算法流程如下:
其中 C(T)為誤差(例如基尼指數(shù)),|T| 為 T 的葉節(jié)點個數(shù),alpha 為非負參數(shù),用來權(quán)衡訓練數(shù)據(jù)的擬合程度和模型的復雜度。
剪枝例子如下:
例如 t 1 節(jié)點,R(t)即剪枝后誤差,數(shù)據(jù)所占比例16/16,節(jié)點誤差率 = 該節(jié)點較少類別的數(shù)/該節(jié)點類別總數(shù) = 8/16
R(Tt)為剪枝前誤差,即葉子節(jié)點誤差之和,以該節(jié)點為根節(jié)點的4葉子節(jié)點均只有一個類別的樣本,該節(jié)點較少類別的數(shù)/該節(jié)點類別總數(shù) = 0,所以R(Tt) = 0
參考
三、什么是指機器學習過程中需要提供指導信號的學習方式
機器學習過程中需要提供指導信號的學習方式
根據(jù)數(shù)據(jù)類型的不同,對一個問題的建模有不同的方式。在機器學習或者人工智能領域,人們首先會考慮算法的學習方式。在機器學習領域,有幾種主要的學習方式。將算法按照學習方式分類是一個不錯的想法,這樣可以讓人們在建模和算法選擇的時候考慮能根據(jù)輸入數(shù)據(jù)來選擇最合適的算法來獲得最好的結(jié)果。
1.監(jiān)督式學習:

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

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

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

在這種學習模式下,輸入數(shù)據(jù)作為對模型的反饋,不像監(jiān)督模型那樣,輸入數(shù)據(jù)僅僅是作為一個檢查模型對錯的方式,在強化學習下,輸入數(shù)據(jù)直接反饋到模型,模型必須對此立刻作出調(diào)整。常見的應用場景包括動態(tài)系統(tǒng)以及機器人控制等。常見算法包括Q-Learning以及時間差學習(Temporal difference learning)
在企業(yè)數(shù)據(jù)應用的場景下, 人們最常用的可能就是監(jiān)督式學習和非監(jiān)督式學習的模型。 在圖像識別等領域,由于存在大量的非標識的數(shù)據(jù)和少量的可標識數(shù)據(jù), 目前半監(jiān)督式學習是一個很熱的話題。 而強化學習更多的應用在機器人控制及其他需要進行系統(tǒng)控制的領域。
二、算法類似性
根據(jù)算法的功能和形式的類似性,我們可以把算法分類,比如說基于樹的算法,基于神經(jīng)網(wǎng)絡的算法等等。當然,機器學習的范圍非常龐大,有些算法很難明確歸類到某一類。而對于有些分類來說,同一分類的算法可以針對不同類型的問題。這里,我們盡量把常用的算法按照最容易理解的方式進行分類。
1.回歸算法

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

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

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

決策樹算法根據(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), 多元自適應回歸樣條(MARS)以及梯度推進機(Gradient Boosting Machine, GBM)
5.貝葉斯方法

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

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

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

關聯(lián)規(guī)則學習通過尋找最能夠解釋數(shù)據(jù)變量之間關系的規(guī)則,來找出大量多元數(shù)據(jù)集中有用的關聯(lián)規(guī)則。常見算法包括 Apriori算法和Eclat算法等。
9.人工神經(jīng)網(wǎng)絡

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

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

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

集成算法用一些相對較弱的學習模型獨立地就同樣的樣本進行訓練,然后把結(jié)果整合起來進行整體預測。集成算法的主要難點在于究竟集成哪些獨立的較弱的學習模型以及如何把學習結(jié)果整合起來。這是一類非常強大的算法,同時也非常流行。常見的算法包括:Boosting, Bootstrapped Aggregation(Bagging), AdaBoost,堆疊泛化(Stacked Generalization, Blending),梯度推進機(Gradient Boosting Machine, GBM),隨機森林(Random Forest)。
四、多元回歸屬于分類算法嗎
你好,經(jīng)過我查閱相關資料得知
多元回歸不屬于分類算法,回歸算法與分類算法都屬于監(jiān)督學習算法,不同的是,分類算法中標簽是一些離散值,代表不同的分類,而回歸算法中,標簽是一些連續(xù)值,回歸算法需要訓練得到樣本特征到這些連續(xù)標簽之間的映射。
以上就是關于回歸算法相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
景觀設計的回歸與出發(fā)(景觀設計的回歸與出發(fā)論文)
回歸分析中數(shù)據(jù)缺失怎么處理(回歸分析中數(shù)據(jù)缺失怎么處理好)
抗氧化食物排行榜(抗氧化食物排行榜對照著吃比買化妝品更養(yǎng)顏)