
回歸問題提出
首先需要明確回歸問題的根本目的在于預測。對于某個問題,一般我們不可能測量出每一種情況(工作量太大),故多是測量一組數(shù)據(jù),基于此數(shù)據(jù)去預測其他未測量數(shù)據(jù)。
比如課程給出的房屋面積、房間數(shù)與價格的對應關系,如下表:
若要測量出所有情況,不知得測到猴年馬月了。有了上面這一組測量數(shù)據(jù),我們要估計出一套房子(如2800平方英尺5個房間)的價格,此時回歸算法就可以榮耀登場了。
回歸算法推導
有了上面這個問題,如何來估計房子的價格呢?首先需要建立模型,一種最簡單的模型就是線性模型了,寫成函數(shù)就是:
其中x1x1是房子面積,x2x2是房間數(shù),hh是對應的房子面積,θjθj就是我們需要求的系數(shù)。
對于每個具體問題,需要根據(jù)測量數(shù)據(jù)的情況來確定是否為線性。這里假設為線性模型會限制適用范圍,如果房屋面積與價格不是線性關系,則此模型估計的房子價格可能會偏差很大。因此實際上這里也可以假設為其他關系(如指數(shù)、對數(shù)等),那么估計結(jié)果可能就極度不準確了,當然那也就不是線性回歸,這里就不必討論。具體為什么選擇線性模型,將在后面廣義回歸模型中來解答。
上面公式寫成向量形式,則為
其中
那么上面的測量數(shù)據(jù)可以表示為,其中的y為測量的房屋面積。這樣如何根據(jù)這m個測量數(shù)據(jù)來求解參數(shù)θθ就是我們需要解決的問題了。
我們可以通過保證此組測量的預測誤差最小來約束求解。代價函數(shù)為
該代價函數(shù)表達的是測量數(shù)據(jù)的均方誤差和。通過最小化該代價函數(shù),即可估計出參數(shù)θθ。前面那個1/2并沒有實質(zhì)意義,主要為了后面求導方便加的;實際上為1/m更具有絕對意義。
回歸算法求解
如何求解上述問題?主要有梯度下降法,牛頓迭代法,最小二乘法。這里主要講梯度下降法,因為該方法在后面使用較多,如神經(jīng)網(wǎng)絡、增強學習等求解都是使用梯度下降。
函數(shù)在沿著其梯度方向增加最快的,那么要找到該函數(shù)的最小值,可以沿著梯度的反方向來迭代尋找。也就是說,給定一個初始位置后,尋找當前位置函數(shù)減小最快的方向,加上一定步長即可到達下一位置,然后再尋找下一位置最快的方向來到達再下一個位置……,直至其收斂。上述過程用公式表達出來即如下所示:
根據(jù)上述表達式,可以求得代價函數(shù)的偏導數(shù)為:
這樣,迭代規(guī)則為
這個公式即是所謂的批量梯度下降。仔細觀察該公式,每次迭代都需要把m個樣本全部計算一遍,如果m很大時,其迭代將非常慢,因此一種每次迭代只計算1個樣本的隨機梯度下降(或增量梯度下降)可以極大減少運算量,其迭代如下:
若所有樣本迭代完成后還未收斂,則繼續(xù)從第1個樣本開始迭代。
算法實現(xiàn)與結(jié)果
首先使用下面代碼生成一組數(shù)據(jù),為了后續(xù)顯示方便,數(shù)據(jù)為一條直線上疊加一定噪聲:
View Code
數(shù)據(jù)顯示出來如下圖:
線性回歸函數(shù)使用梯度下降求解:
View Code
測試函數(shù):
View Code
實際上上述代碼中真正涉及算法求解的不多,其他都是保存中間結(jié)果和繪圖等用于調(diào)試分析的?;貧w結(jié)果如圖,藍色點為上面保存的數(shù)據(jù),紅色直線是回歸擬合的直線:
其中每次迭代后,代價函數(shù)J的變化則如下圖(考慮其范圍過大,繪制的是其對數(shù)圖):
可以看出,當?shù)^1000次時,代價函數(shù)已經(jīng)基本不變了。梯度下降迭代過程如下左圖,xy坐標分別為θ0和θ1θ0和θ1,z軸為對應θθ的代價函數(shù)值,圖中心的紅色小塊是真實的最優(yōu)值,綠色方塊是每次迭代的位置,可以看到迭代過程是不斷靠近最優(yōu)解。由于圖中綠色方塊重疊過多導致繪圖出來中間部分顯示為黑色了,右圖為局部放大的結(jié)果。
算法分析
1. 梯度下降法中,BatchSize為一次迭代使用的樣本數(shù)量,當其為m時,即為批量梯度下降,為1時即是隨機梯度下降。實驗效果顯示,BatchSize越大,迭代越耗時,但其收斂越穩(wěn)定;反之,則迭代越快,而易產(chǎn)生振蕩現(xiàn)象;具體可修改測試代碼中的BatchSize來看實驗結(jié)果。
2. 關于步長的選擇。在梯度下降法中,步長的影響是非常大的,步長過小會導致收斂非常慢,過大則容易導致不收斂。上述程序中的步長是經(jīng)過若干次運行修改的,換一組其他數(shù)據(jù)可能不收斂,這是該程序存在的問題,待回歸算法完結(jié)后將專門來一篇分析該問題,并給出解決方法。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關鍵? 在循環(huán)神經(jīng)網(wǎng)絡(RNN)家族中,長短期記憶網(wǎng)絡(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報考條件詳解與準備指南? ? 在數(shù)據(jù)驅(qū)動決策的時代浪潮下,CDA 數(shù)據(jù)分析師認證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計的實用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認 ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務的價值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預測分析中的應用:從數(shù)據(jù)查詢到趨勢預判? ? 在數(shù)據(jù)驅(qū)動決策的時代,預測分析作為挖掘數(shù)據(jù)潛在價值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點,而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報考到取證的全攻略? 在數(shù)字經(jīng)濟蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數(shù)據(jù)背后的時間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時間維度的精準切片? ? 在數(shù)據(jù)的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準 ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應用與實戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領域中,準確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認證作為國內(nèi)權威的數(shù)據(jù)分析能力認證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應對策略? 長短期記憶網(wǎng)絡(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(RNN)的一種變體,憑借獨特的門控機制,在 ...
2025-07-07統(tǒng)計學方法在市場調(diào)研數(shù)據(jù)中的深度應用? 市場調(diào)研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準確性的基礎 ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03