desc
關(guān)于特征工程
使用LR 回歸,找出誰的權(quán)重大,
1.比如 面積對房價的 權(quán)重大,那么就可以進一步細(xì)化:
比如 面積 這個因素很重要,那么就著重操作這個因素,比如細(xì)化等
比如 繼續(xù)找:臥室面積,客廳面積,面積比例 ,平方,根號 等也作為 因素加進去
2.再就是還可以這么來,這些特征,比如size,或size平方,或size開根號。這樣特征不是相關(guān)了嗎?
(這相關(guān),但是不是線性相關(guān),而你的model 是線性model)
所以 其平方根號都可以加進去
一般不用三次方,因為維度高了,那么可能使得模型不夠穩(wěn)定
這就是LR解釋性強的原因老大們能聽懂
模型融合
比如 bagging,比如 adaboost
bagging (空間)其實就是訓(xùn)練多個模型,然后 vote,不同的模型 吃不同的數(shù)據(jù),都是一個子集
adaboost (時間)則是在時間軸上操作的, 每次更改樣本權(quán)重,著重學(xué)習(xí)錯誤
adaboost
two key point: 每一輪都
1. 給本弱分類器配上一個系數(shù)
2. 每次樣本權(quán)重更改
boosting 算法 的方法容易過擬合
boosting 與 bagging 的方法對比
AdaBoost是每個子分類器結(jié)果對后面的有影響,bagging是獨立的
ada 的好處就是 每次都是 面對 all 數(shù)據(jù),bagging 每次是又放回的抽樣,取的是數(shù)據(jù)子集
adaboost 可以是多分類
if adaboot 的弱分類器是多分類,那么 adaboost 就可以多分類
boosting 和 bagging 是兩個思想,對應(yīng)的實現(xiàn)有:
adaboost 和 RandomForest
boosting 算法都可能 過擬合 :
bagging 下的 樹深度
boosting 的迭代次數(shù)
都是防止過擬合的方式
high variance 和
high bias
模型狀態(tài) 有兩種:
過擬合(overfitting/high variance)
欠擬合(underfitting/high bias)
訓(xùn)練好了模型,需要關(guān)心的是:模型的是狀態(tài)
欠擬合 為什么叫做 high bias ?這個的翻譯是:高偏差,
而不是高截距(intercept),即 很多樣本離它很遠
而 high variance 就是高方差,即 模型上下抖動,為了串上數(shù)據(jù)點而過度擬合
DT 可以選特征
因為每次 選哪個作為 分支,是按照熵排序的:即 這里有一個次序關(guān)系
因此 決策樹可以 feature select的
CTR 預(yù)估
使用 AUC 作為通用的評價指標(biāo)
神經(jīng)網(wǎng)絡(luò)過擬合
會用正則化,防止過擬合
xgboost
既用 boosting 又用 bagging: BGDT
百度糾錯功能示例
一個【觀點】這是在考察你 貝葉斯
比如用戶輸入 米月傳,那么你能糾正為 羋月傳
why Python 快
Python 很多庫的實現(xiàn)是C,所以你本質(zhì)是在用 C 的, map reduce 也可以 Python
ipython notebook
全部.ipynb放在桌面 然后cmd下切換到桌面
然后運行 ipython notebook
梯度提升樹
Gradient boost tree
先擬合一下,然后對 殘差,再次擬合,模型疊加,在對殘差再次擬合
直到收斂
專門對差值做一個 連續(xù)值的預(yù)測
如何分析模型
1. 看狀態(tài),是 high variance 還是 high bias
variance and bias,李誠經(jīng)常說的兩個詞,原來是實在評價訓(xùn)練好的 model 狀態(tài)
2. case study,尤其是分錯的 sample
1.一 一找出來,這些分錯的例子(回歸中 哪些樣本 bias 大)
2.它歸為這一錯類,是哪個因素特征導(dǎo)致的
3. bad case 之間有沒有共性
4. 是不是缺新的特征
找到共性處理措施就是:比如分錯的可能是新上市的商品, 此時的應(yīng)對 可能就是一些規(guī)則
工業(yè)界線性的應(yīng)用
線性回歸,LR,LinearSVM 都是線性核,即 kernel 是線性的
工業(yè)界很多是線性模型,對于權(quán)重大的 那個因素,做細(xì)化的工作
就是 重要因素,多方面挖掘,著重挖掘,即:
重要特征的 組合變異 比哪些本征的小權(quán)重因素還要重要
過擬合是不能降維
確實防止了過擬合,但是準(zhǔn)確率不會提升
降維是在損失信息
驗證集和測試集
交叉驗證集做參數(shù)/模型選擇# 選 LR 還是 SVM ,可以從這里得到
測試集只做模型效果評估,即 百分之多少的準(zhǔn)確率 應(yīng)該說是從 test data 上得到的
# 這個可以視為:convention
一些經(jīng)驗
數(shù)據(jù)量太大 不適合用SVM
SVM 一般比其他的分類器健壯,作為首選
一般不用KNN,因為需要保存所有的 樣本的feature,占用內(nèi)存和時間去遍歷
樣本量少需要 拉長時間窗口,即 再等等
一個新的結(jié)論
從這個角度說:validate data 就是 train data?。?!
模型前工作
數(shù)據(jù)預(yù)處理:數(shù)據(jù)清洗與(上下采樣以上的非傾斜)
特征選擇
模型選擇
交叉驗證 選出超參數(shù)
模型選擇
1. 路線圖
2. 驗證集
模型優(yōu)化的角度
1. 模型現(xiàn)在處于什么狀態(tài)
2. 找出有用 weight 的feature
3. bad case 分析
4. 模型融合 bagging or boosting
我想這個是 那個 淘寶面試官想問的問題
這才人家想問的問題
其實還是在看你的 經(jīng)驗
降維
LDA ,PCA 都可以視為 降維
特征選擇的 嵌入式方法
正則化
決策樹
深度學(xué)習(xí)
聚類也有一個重要問題
即:到底聚為幾類?
知道幾類,用Kmeans
或者使用 層次聚類法
搜索的種類
完全式搜索
啟發(fā)式搜索
隨機搜索
|
|