




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、附 預(yù)測數(shù)值型數(shù)據(jù):回歸擬合直線擬合直線局部加權(quán)線性回歸局部加權(quán)線性回歸理解數(shù)據(jù)理解數(shù)據(jù)權(quán)衡偏差和方差權(quán)衡偏差和方差前言 預(yù)測聯(lián)系型數(shù)據(jù) “回歸可以做任何事情” 最近有新意的應(yīng)用:預(yù)測名人的離婚率1. 先介紹線性回歸2. 再引入局部平滑技術(shù)3. 分析如何更好的擬合數(shù)據(jù)4. 在欠擬合情況下的縮減技術(shù)5. 探討偏差和方差的概念用線性回歸找到最佳擬合直線 線性回歸 優(yōu)點(diǎn):結(jié)果易于理解,計(jì)算上不復(fù)雜 缺點(diǎn):對非線性的數(shù)據(jù)擬合不好 回歸的目的是預(yù)測數(shù)值型目標(biāo)值:找到目標(biāo)的計(jì)算公式 預(yù)測某人的汽車功率: HorsePower = 0.0015*annualSalary-0.99*hoursListenin
2、gToRadio 以上為回歸方程 0.0015和-0.99為回歸系數(shù) 求回歸系數(shù)的過程即為回歸本次只討論線性回歸回歸的一般方法 收集數(shù)據(jù) 按輸入要求整理數(shù)據(jù) 數(shù)據(jù)可視化以直觀分析數(shù)據(jù) 訓(xùn)練算法:找到回歸系數(shù) 測試算法:使用R2或者預(yù)測值和數(shù)據(jù)的擬合度來分析模型的效果 使用算法:給定輸入的時(shí)候預(yù)測輸出基本算法例:對以下點(diǎn)集進(jìn)行擬合 import numpy as np lstDt = lstLbl = # lbl: label fr = open(.ex0.txt) for line in fr.readlines(): arLn = line.strip().split() lstDt.app
3、end(float(arLn0), float(arLn1) lstLbl.append(float(arLn2)計(jì)算回歸: xMat = np.mat(lstDt) yMat = np.mat(lstLbl).T xTx = xMat.T*xMat if np.linalg.det(xTx)=0.0: print This is matrix is singular, cannot do inverse! else: ws = xTx.I*(xMat.T*yMat)繪圖 plt.figure() lstX = dt1 for dt in lstDt plt.scatter(lstX, lst
4、Lbl) lstY = ws0, 0+ws1, 0*x for x in lstX plt.plot(lstX, lstY)如何如何評判模型的好壞? 不同數(shù)據(jù)集: 分別做線性回歸, 得到完全一樣的兩個(gè)模型 如何比較回歸效果? 計(jì)算yHat和y的相關(guān)系數(shù): arrYHat = np.array(lstY) arrY = np.squeeze(np.array(yMat) print np.corrcoef(arrY, arrYHat)局部加權(quán)線性回歸平滑值 k = 1平滑值 k = 0.01平滑值 k = 0.003代碼:算法實(shí)現(xiàn) xMat = np.mat(lstDt) yMat = np.m
5、at(lstLbl).T m = xMat.shape0 k = 0.01 lstY = for i in range(m): wgt = np.mat(np.eye(m) dtTst = xMati, : for j in range(m): difMat = dtTst - xMatj, : wgtj, j = np.exp(difMat*difMat.T/(-2*k*2) xTx = xMat.T*(wgt*xMat) if np.linalg.det(xTx)=0.0: print This is matrix is singular, cannot do inverse! else:
6、 ws = xTx.I*(xMat.T*(wgt*yMat) matV = dtTst*ws lstY.append(matV0, 0)代碼:顯示結(jié)果 plt.figure() lstX = dt1 for dt in lstDt plt.scatter(lstX, lstLbl) sIdx = np.argsort(lstX) lstXSort = lstXidx for idx in sIdx lstYSort = lstYidx for idx in sIdx plt.plot(lstXSort, lstYSort) arrYHat = np.array(lstY) arrY = np.
7、squeeze(np.array(yMat) print np.corrcoef(arrY, arrYHat)普通和加權(quán)的代碼區(qū)別示例:預(yù)測鮑魚的年齡 使用較小的核將得到較小的訓(xùn)練誤差: k = 0.1:擬合值與原點(diǎn)集的誤差為56.8426 k = 1:擬合值與原點(diǎn)集的誤差為429.891 k = 10:擬合值與原點(diǎn)集的誤差為549.118 為什么不使用盡量小的核?因?yàn)闀?huì)過擬合 過擬合會(huì)體現(xiàn)在新數(shù)據(jù)的大誤差上: k = 0.1:擬合點(diǎn)與原值點(diǎn)的誤差為25619.93 k = 1:擬合點(diǎn)與原值點(diǎn)的誤差為573.526 k = 10:擬合點(diǎn)與原值點(diǎn)的誤差為517.571縮減系數(shù)來“理解”數(shù)據(jù)縮減系
8、數(shù)來“理解”數(shù)據(jù) 縮減法能取得更好的預(yù)測效果 可通過預(yù)測誤差最小化得到:1. 獲取數(shù)據(jù)2. 抽出部分?jǐn)?shù)據(jù)作為測試用3. 剩余數(shù)據(jù)作為訓(xùn)練集4. 訓(xùn)練完畢再用測試集測試5. 使用不同的重復(fù)上述過程6. 選取使預(yù)測誤差最小的嶺回歸編程 在普通回歸方法可能會(huì)產(chǎn)生錯(cuò)誤的時(shí)候,嶺回歸仍能正常工作 所以不需要再判斷行列式是否為0( 0) 對列做歸一化處理,使所有列同等重要 如右圖: 以指數(shù)變化 最小時(shí):回歸系數(shù)與線性回歸一致 最大時(shí):回歸系數(shù)全部縮減為0修改代碼:嶺回歸 lam = 0.2 xMat = np.mat(lstDt) yMat = np.mat(lstLbl).T xTx = xMat.T*
9、xMat denom = xTx+np.eye(xMat.shape1)*lam ws = denom.I*(xMat.T*yMat)嶺回歸結(jié)果圖預(yù)備:lasso方法lasso方法前向逐步回歸 與lasso效果相似,但計(jì)算更簡單 屬于貪心算法,即每一步都盡可能減少誤差 算法開始時(shí),所有權(quán)值都設(shè)為1 然后每一步都決策對某個(gè)權(quán)值增加或減少一個(gè)很小的步長 優(yōu)點(diǎn):理解現(xiàn)有模型并作出改進(jìn) 當(dāng)模型建立,可以運(yùn)行該算法找出最重要的特征 及時(shí)停止對那些不重要特征的搜集 如果用于測試,該算法每100次迭代就可以構(gòu)建出一個(gè)模型,可以使用類似10折交叉驗(yàn)證的方法比較這些模型,選擇最優(yōu)模型權(quán)衡偏差與方差 偏差:模型預(yù)測值和原始數(shù)據(jù)之間的差異 方差:是模型之間的差異 偏差是學(xué)習(xí)的產(chǎn)物,是度量學(xué)習(xí)效果的標(biāo)準(zhǔn) 方差用來比較和選擇較好的模型 選擇模型必須折中考慮偏差和方差示例:預(yù)測樂高玩具套裝價(jià)格 樂高套裝的生命周期大約幾年
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年抗血小板藥項(xiàng)目建議書
- 2025年建筑防水卷材及制品項(xiàng)目建議書
- 企業(yè)臨時(shí)保安合同范本
- 合資合伙協(xié)議合同范本
- 醫(yī)院保安協(xié)議合同范本
- 合同范本 渠道疏浚
- 煤矸石燒結(jié)磚購銷合同范本
- 農(nóng)村錯(cuò)車道工程合同范例
- 叉車變賣合同范本
- 幼兒園玩具設(shè)備采購合同范本
- 《Spring框架》教學(xué)課件
- 七年級下冊《平行線的判定》課件與練習(xí)
- 2025年中考英語時(shí)文閱讀 6篇有關(guān)電影哪吒2和 DeepSeek的英語閱讀(含答案)
- 修高速土方合同范例
- 2024年形勢與政策復(fù)習(xí)題庫含答案(綜合題)
- 江蘇省南通市2025屆高三第一次調(diào)研測試數(shù)學(xué)試題(南通一模)(含答案)
- DCMM數(shù)據(jù)管理師練習(xí)測試卷
- 油氣行業(yè)人才需求預(yù)測-洞察分析
- 檢修安全知識培訓(xùn)課件
- 水利工程水庫混凝土防滲墻施工方案
- 操作系統(tǒng)試題
評論
0/150
提交評論