2018-06-28
一、特征层面
重点关注特征构造、抽取方法
1. 业务层面:依赖于对领域内知识的了解程度。
2. 技术层面:
a)常规方法:手动构造特征,常用方法如下,
- 哑变量转换(one-hot)
- 特征分箱:分箱后的特征鲁棒性较好,计算速度较快、可进行特征交叉、较低过拟合风险等
- 特征交叉:特征组合的子集;类似于笛卡尔积操作
- 经典例子:经纬度(对于新特征x3,若满足0 < lat <= 10 AND 0 < lon <= 15,则值为1)
- 参考:https://blog.csdn.net/qq_35976351/article/details/80892902
- 特征组合:在不需要改变模型的情况下引入非线性信息,提高拟合能力
- .....
b)自动构造、抽取方法:
- 降维:如PCA
对原始数据降维,常用来提取有用信息,在降低数据维度的同时保存绝大多数有用信息,使其特征集合小到可以建模的要求;
- 特征学习:主流为深度学习方法,如受限玻尔兹曼机、rnn、cnn等
可以自动学习出某些抽象的特征表示,但无法理解,适合黑盒方式。
二、算法层面
常规算法(依赖于人工提取的特征)
- 单模型
- stacking方法:将若干个若学习器提升为强学习器;泛华能力较好,目前大多数比赛的冠军思路中都可见集成学习的身影,因其优越的泛华能力和灵活的架构设计方式受很多参赛者青睐。
boosting:串行、侧重于降低偏差、调整样本权重来生成不同学习器;AdaBoost、xgboost
bagging:并行、降低方差、通过自助采样生成不同训练集,进而生成不同学习器;randomforest
-
stacking:多层架构、由初级学习器生成次级学习器,不断迭代训练、2~3层常见、鲁棒性较好
在kaggle比赛 - Otto Group Product Classification Challenge中,冠军队伍使用了超过30多个模型进行集成:
WINNER SOLUTION - Otto Group Product Classification Challenge- 此外,stacking还有一种特例:xgboost/gbdt+LR 融合模型
与常规stacking的区别有:初级学习器是否异质、初级学习器的输出类型(普通stacking可以为一个具体的预测值,而stacking+lr中为该样本咋uo在叶结点的索引值)
论文:Practical Lessons from Predicting Clicks on Ads at
Facebook
参考:https://blog.csdn.net/sb19931201/article/details/65445514
https://github.com/lytforgood/MachineLearningTrick
gbdt+LR
- 此外,stacking还有一种特例:xgboost/gbdt+LR 融合模型
深度学习领域:
- 深度学习方法:借助深度神经网络的特征抽象、表示能力自动学习特征,如rnn、cnn及textrnn等
三、比赛 & 案例
- kaggle-Otto Group Product Classification Challengehttps://www.kaggle.com/c/otto-group-product-classification-challenge/data
- 天池精准医疗大赛——人工智能辅助糖尿病遗传风险预测https://tianchi.aliyun.com/competition/introduction.htm?spm=5176.100066.0.0.6acd33afppNyfH&raceId=231638
期刊 & 会议
ACL-自然语言处理领域的顶级国际会议
ICML-机器学习领域的最好的顶级会议之一
NIPS-神经计算和机器学习领域最好的顶级会议之一