??????教程全知識(shí)點(diǎn)簡介:1.定位、目標(biāo)。2. K-近鄰算法涵蓋距離度量、k值選擇、kd樹、鳶尾花種類預(yù)測數(shù)據(jù)集介紹、練一練、交叉驗(yàn)證網(wǎng)格搜索、facebook簽到位置預(yù)測案例。3. 線性回歸包括線性回歸簡介、線性回歸損失和優(yōu)化、梯度下降法介紹、波士頓房價(jià)預(yù)測案例、欠擬合和過擬合、正則化線性模型、正規(guī)方程推導(dǎo)方式、梯度下降法算法比較優(yōu)化、維災(zāi)難。4. 邏輯回歸涵蓋邏輯回歸介紹、癌癥分類預(yù)測案例(良惡性乳腺癌腫瘤預(yù)測、獲取數(shù)據(jù))、ROC曲線繪制。5. 樸素貝葉斯算法包括樸素貝葉斯算法簡介、概率基礎(chǔ)復(fù)習(xí)、產(chǎn)品評(píng)論情感分析案例(取出內(nèi)容列數(shù)據(jù)分析、判定評(píng)判標(biāo)準(zhǔn)好評(píng)差評(píng))。6. 支持向量機(jī)涵蓋SVM算法原理、SVM損失函數(shù)、數(shù)字識(shí)別器案例。7. 決策樹算法包括決策樹分類原理、cart剪枝、特征工程特征提取、決策樹算法api、泰坦尼克號(hào)乘客生存預(yù)測案例。8. EM算法涵蓋初識(shí)EM算法、EM算法介紹。9. HMM模型包括馬爾科夫鏈、HMM簡介、前向后向算法評(píng)估觀察序列概率、維特比算法解碼隱藏狀態(tài)序列、HMM模型API介紹。10. 集成學(xué)習(xí)進(jìn)階涵蓋Bagging、xgboost算法原理、otto案例(Otto Group Product Classification Challenge xgboost實(shí)現(xiàn))、數(shù)據(jù)變化可視化、lightGBM、stacking算法基本思想、住房月租金預(yù)測。11. 聚類算法包括聚類算法api初步使用、聚類算法實(shí)現(xiàn)流程、模型評(píng)估、算法優(yōu)化、特征降維、用戶對物品類別喜好細(xì)分案例、算法選擇指導(dǎo)。12. 數(shù)學(xué)基礎(chǔ)涵蓋向量與矩陣范數(shù)、朗格朗日乘子法、Huber Loss、極大似然函數(shù)取對數(shù)原因。

??????????本站這篇博客:???http://www.itdecent.cn/p/59470b72acc2 ???中查看
??????????本站這篇博客:???http://www.itdecent.cn/p/c00dfabf33cd ???中查看
??????????本站這篇博客:???http://www.itdecent.cn/p/c00dfabf33cd ???中查看
? 本教程項(xiàng)目亮點(diǎn)
?? 知識(shí)體系完整:覆蓋從基礎(chǔ)原理、核心方法到高階應(yīng)用的全流程內(nèi)容
?? 全技術(shù)鏈覆蓋:完整前后端技術(shù)棧,涵蓋開發(fā)必備技能
?? 從零到實(shí)戰(zhàn):適合 0 基礎(chǔ)入門到提升,循序漸進(jìn)掌握核心能力
?? 豐富文檔與代碼示例:涵蓋多種場景,可運(yùn)行、可復(fù)用
?? 工作與學(xué)習(xí)雙參考:不僅適合系統(tǒng)化學(xué)習(xí),更可作為日常開發(fā)中的查閱手冊
?? 模塊化知識(shí)結(jié)構(gòu):按知識(shí)點(diǎn)分章節(jié),便于快速定位和復(fù)習(xí)
?? 長期可用的技術(shù)積累:不止一次學(xué)習(xí),而是能伴隨工作與項(xiàng)目長期參考
??????全教程總章節(jié)
??????本篇主要內(nèi)容
集成學(xué)習(xí)進(jìn)階
學(xué)習(xí)目標(biāo)
- 知道xgboost算法原理
- 知道otto案例通過xgboost實(shí)現(xiàn)流程
- 知道lightGBM算法原理
- 知道PUBG案例通過lightGBM實(shí)現(xiàn)流程
- 知道stacking算法原理
- 知道住房月租金預(yù)測通過stacking實(shí)現(xiàn)流程
5.9 stacking算法基本思想
1 集成學(xué)習(xí)基本復(fù)習(xí)
Ensemble learning 中文名叫做集成學(xué)習(xí),它并不是一個(gè)單獨(dú)的機(jī)器學(xué)習(xí)算法,而是將很多的機(jī)器學(xué)習(xí)算法結(jié)合在一起, 把組成集成學(xué)習(xí)的算法叫做“個(gè)體學(xué)習(xí)器”。在集成學(xué)習(xí)器當(dāng)中,個(gè)體學(xué)習(xí)器都相同,那么這些個(gè)體學(xué)習(xí)器可以叫做“基學(xué)習(xí)器”。
個(gè)體學(xué)習(xí)器組合在一起形成的集成學(xué)習(xí),常常能夠使得泛化性能提高,這對于“弱學(xué)習(xí)器”的提高尤為明顯。弱學(xué)習(xí)器指的是比隨機(jī)猜想要好一些的學(xué)習(xí)器。
在進(jìn)行集成學(xué)習(xí)的時(shí)候, 希望 的基學(xué)習(xí)器應(yīng)該是好而不同,這個(gè)思想在集成學(xué)習(xí)中經(jīng)常體現(xiàn)。
- “好”就是說,你的基學(xué)習(xí)器不能太差,
- “不同”就是各個(gè)學(xué)習(xí)器盡量有差異。
集成學(xué)習(xí)有兩個(gè)分類,一個(gè)是個(gè)體學(xué)習(xí)器存在強(qiáng)依賴關(guān)系、必須串行生成的序列化方法,以Boosting為代表。另外一種是個(gè)體學(xué)習(xí)器不存在強(qiáng)依賴關(guān)系、可同時(shí)生成的并行化方法,以Bagging和隨機(jī)森林(Random Forest)為代表。
將個(gè)體學(xué)習(xí)器結(jié)合在一起的時(shí)候使用的方法叫做結(jié)合策略。對于分類問題, 可以使用投票法來選擇輸出最多的類。對于回歸問題, 可以將分類器輸出的結(jié)果求平均值。
上面說的投票法和平均法都是很有效的結(jié)合策略,還有一種結(jié)合策略是使用另外一個(gè)機(jī)器學(xué)習(xí)算法來將個(gè)體機(jī)器學(xué)習(xí)器的結(jié)果結(jié)合在一起,這個(gè)方法就是Stacking。
2 stacking 的基本思想
stacking 就是將一系列模型(也稱基模型)的輸出結(jié)果作為新特征輸入到其他模型,這種方法由于實(shí)現(xiàn)了模型的層疊,即第一層的模型輸出作為第二層模型的輸入,第二層模型的輸出作為第三層模型的輸入,依次類推,最后一層模型輸出的結(jié)果作為最終結(jié)果。本文會(huì)以兩層的 stacking 為例進(jìn)行說明。
stacking 的思想也很好理解,接下來 首先看兩個(gè)簡單的舉例:
舉例一:以論文審稿為例,首先是三個(gè)審稿人分別對論文進(jìn)行審稿,然后分別返回審稿意見給總編輯,總編輯會(huì)結(jié)合審稿人的意見給出最終的判斷,即是否錄用。對應(yīng)于stacking,這里的三個(gè)審稿人就是第一層的模型,其輸出(審稿人意見)會(huì)作為第二層模型(總編輯)的輸入,然后第二層模型會(huì)給出最終的結(jié)果。
舉例二:A、B是學(xué)習(xí)器,C、D、E是進(jìn)行答案再組織的次學(xué)習(xí)器,次學(xué)習(xí)器會(huì)組織利用底層模型提供的答案。
stacking 的思想很好理解,但是在實(shí)現(xiàn)時(shí)需要注意不能有泄漏(leak)的情況,也就是說對于訓(xùn)練樣本中的每一條數(shù)據(jù),基模型輸出其結(jié)果時(shí)并不能用這條數(shù)據(jù)來訓(xùn)練。否則就是用這條數(shù)據(jù)來訓(xùn)練,同時(shí)用這條數(shù)據(jù)來測試,這樣會(huì)造成最終預(yù)測時(shí)的過擬合現(xiàn)象,即經(jīng)過stacking后在訓(xùn)練集上進(jìn)行驗(yàn)證時(shí)效果很好,但是在測試集上效果很差。
為了解決這個(gè)泄漏的問題,需要通過 K-Fold 方法分別輸出各部分樣本的結(jié)果,這里以 5-Fold 為例,具體步驟如下
(1) 將數(shù)據(jù)劃分為 5 部分,每次用其中 1 部分做驗(yàn)證集,其余 4 部分做訓(xùn)練集,則共可訓(xùn)練出 5 個(gè)模型 (2) 對于訓(xùn)練集,每次訓(xùn)練出一個(gè)模型時(shí),通過該模型對沒有用來訓(xùn)練的驗(yàn)證集進(jìn)行預(yù)測,將預(yù)測結(jié)果作為驗(yàn)證集對應(yīng)的樣本的第二層輸入,則依次遍歷5次后,每個(gè)訓(xùn)練樣本都可得到其輸出結(jié)果作為第二層模型的輸入 (3) 對于測試集,每次訓(xùn)練出一個(gè)模型時(shí),都用這個(gè)模型對其進(jìn)行預(yù)測,則最終測試集的每個(gè)樣本都會(huì)有5個(gè)輸出結(jié)果,對這些結(jié)果取平均作為該樣本的第二層輸入
上述過程圖示如下
除此之外,用 stacking 或者說 ensemble 這一類方法時(shí)還需要注意以下兩點(diǎn):
- Base Model 之間的相關(guān)性要盡可能的小,從而能夠互補(bǔ)模型間的優(yōu)勢
- Base Model 之間的性能表現(xiàn)不能差距太大,太差的模型會(huì)拖后腿
3 stacking的特點(diǎn)
使用stacking,組合1000多個(gè)模型,有時(shí)甚至要計(jì)算幾十個(gè)小時(shí)。但是,這些怪物般的集成方法同樣有著它的用處:
(1)它可以幫你打敗當(dāng)前學(xué)術(shù)界性能最好的算法
(2) 有可能將集成的知識(shí)遷移到到簡單的分類器上
(3)自動(dòng)化的大型集成策略可以通過添加正則項(xiàng)有效的對抗過擬合,而且并不需要太多的調(diào)參和特征選擇。所以從原則上講,stacking非常適合于那些“懶人”
(4)這是目前提升機(jī)器學(xué)習(xí)效果最好的方法,或者說是最效率的方法human ensemble learning 。
5.10 住房月租金預(yù)測
官網(wǎng)鏈接:住房月租金預(yù)測
1 數(shù)據(jù)背景
當(dāng)今社會(huì),房屋租金由裝修情況、位置地段、戶型格局、交通便利程度、市場供需量等多方面因素綜合決定,對于租房這個(gè)相對傳統(tǒng)的行業(yè)來說,信息嚴(yán)重不對稱一直存在。一方面,房東不了解租房的市場真實(shí)價(jià)格,只能忍痛空置高租金的房屋;另一方面,租客也找不到滿足自己需求高性價(jià)比房屋,這造成了租房資源的極大浪費(fèi)。
本賽題將基于租房市場的痛點(diǎn),提供脫敏處理后的真實(shí)租房市場數(shù)據(jù)。選手需要利用有月租金標(biāo)簽的歷史數(shù)據(jù)建立模型,實(shí)現(xiàn)基于房屋基本信息的住房月租金預(yù)測,為該城市租房市場提供客觀衡量標(biāo)準(zhǔn)。
2 任務(wù)
數(shù)據(jù)為某地4個(gè)月的房屋租賃價(jià)格以及房屋的基本信息, 對數(shù)據(jù)做了脫敏處理。
選手需要利用訓(xùn)練集中的房屋信息和月租金訓(xùn)練模型,利用測試集中的房屋信息對測試集數(shù)據(jù)中的房屋的月租金進(jìn)行預(yù)測。
3 數(shù)據(jù)
數(shù)據(jù)分為兩組,分別是訓(xùn)練集和測試集。
訓(xùn)練集為前3個(gè)月采集的數(shù)據(jù),共196539條。
測試集為第4個(gè)月采集的數(shù)據(jù),相對于訓(xùn)練集,增加了“id”字段,為房屋的唯一id,且無“月租金”字段,其它字段與訓(xùn)練集相同,共56279條。
訓(xùn)練集所含字段如下:
4 評(píng)分標(biāo)準(zhǔn)
算法通過計(jì)算預(yù)測值和真實(shí)房租月租金的均方根誤差來衡量回歸模型的優(yōu)劣。均方根誤差越小,說明回歸模型越好。
均方根誤差計(jì)算公式如下:
集成學(xué)習(xí)進(jìn)階
學(xué)習(xí)目標(biāo)
- 知道xgboost算法原理
- 知道otto案例通過xgboost實(shí)現(xiàn)流程
- 知道lightGBM算法原理
- 知道PUBG案例通過lightGBM實(shí)現(xiàn)流程
- 知道stacking算法原理
- 知道住房月租金預(yù)測通過stacking實(shí)現(xiàn)流程
向量與矩陣的范數(shù)
1.向量的范數(shù)
向量的1-范數(shù):; 各個(gè)元素的絕對值之和;
向量的2-范數(shù):每個(gè)元素的平方和再開平方根;
向量的無窮范數(shù):例:向量X=[2, 3, -5, -7] ,求向量的1-范數(shù),2-范數(shù)和無窮范數(shù)。
向量的1-范數(shù):各個(gè)元素的絕對值之和;=2+3+5+7=17;
向量的2-范數(shù):每個(gè)元素的平方和再開平方根;;
向量的無窮范數(shù):
(1)正無窮范數(shù):向量的所有元素的絕對值中最大的;即X的正無窮范數(shù)為:7;
(2)負(fù)無窮范數(shù):向量的所有元素的絕對值中最小的;即X的負(fù)無窮范數(shù)為:2;
2.矩陣的范數(shù)
設(shè):向量,矩陣,例如矩陣A為:
A=[2, 3, -5, -7;
4, 6, 8, -4;
6, -11, -3, 16];
(1)矩陣的1-范數(shù)(列模):;矩陣的每一列上的元素絕對值先求和,再從中取個(gè)最大的,(列和最大);即矩陣A的1-范數(shù)為:27
(2)矩陣的2-范數(shù)(譜模):
,其中<span>λi\lambda_iλi</span><span>ATAATAATA</span><span>ATAATAATA</span>(3)矩陣的無窮范數(shù)(行模):![]](https://private.codecogs.com\gif.latex%7B%5Cleft%5C%7C%20A%20%5Cright%5C%7C_%5Cinfty%20%7D%20%3D%20%5Cmathop%20%7B%5Cmax%20%7D%5Climits_%7BX%20%5Cne%200%7D%20%5Cfrac%7B%7B%7B%7B%5Cleft%5C%7C%20%7BAX%7D%20%5Cright%5C%7C%7D_%5Cinfty%20%7D%7D%7D%7B%7B%7B