desc | |
关于特征工程 |
使用LR 回归,找出谁的权重大,
1.比如 面积对房价的 权重大,那么就可以进一步细化:
比如 面积 这个因素很重要,那么就着重操作这个因素,比如细化等
比如 继续找:卧室面积,客厅面积,面积比例 ,平方,根号 等也作为 因素加进去
2.再就是还可以这么来,这些特征,比如size,或size平方,或size开根号。这样特征不是相关了吗?
(这相关,但是不是线性相关,而你的model 是线性model)
所以 其平方根号都可以加进去
一般不用三次方,因为维度高了,那么可能使得模型不够稳定
这就是LR解释性强的原因老大们能听懂
|
模型融合 |
比如 bagging,比如 adaboost
bagging (空间)其实就是训练多个模型,然后 vote,不同的模型 吃不同的数据,都是一个子集
adaboost (时间)则是在时间轴上操作的, 每次更改样本权重,着重学习错误
|
adaboost |
two key point: 每一轮都
1. 给本弱分类器配上一个系数
2. 每次样本权重更改
boosting 算法 的方法容易过拟合
boosting 与 bagging 的方法对比
AdaBoost是每个子分类器结果对后面的有影响,bagging是独立的
ada 的好处就是 每次都是 面对 all 数据,bagging 每次是又放回的抽样,取的是数据子集
adaboost 可以是多分类
if adaboot 的弱分类器是多分类,那么 adaboost 就可以多分类
boosting 和 bagging 是两个思想,对应的实现有:
adaboost 和 RandomForest
boosting 算法都可能 过拟合 :
bagging 下的 树深度
boosting 的迭代次数
都是防止过拟合的方式
|
high variance 和
high bias
|
模型状态 有两种:
过拟合(overfitting/high variance)
欠拟合(underfitting/high bias)
训练好了模型,需要关心的是:模型的是状态
欠拟合 为什么叫做 high bias ?这个的翻译是:高偏差,
而不是高截距(intercept),即 很多样本离它很远
而 high variance 就是高方差,即 模型上下抖动,为了串上数据点而过度拟合
|
DT 可以选特征 |
因为每次 选哪个作为 分支,是按照熵排序的:即 这里有一个次序关系
因此 决策树可以 feature select的
|
CTR 预估 | 使用 AUC 作为通用的评价指标 |
神经网络过拟合 | 会用正则化,防止过拟合 |
xgboost | 既用 boosting 又用 bagging: BGDT |
百度纠错功能示例 |
一个【观点】这是在考察你 贝叶斯
比如用户输入 米月传,那么你能纠正为 芈月传
|
why Python 快 |
Python 很多库的实现是C,所以你本质是在用 C 的, map reduce 也可以 Python
ipython notebook
全部.ipynb放在桌面 然后cmd下切换到桌面
然后运行 ipython notebook
|
梯度提升树
Gradient boost tree
|
先拟合一下,然后对 残差,再次拟合,模型叠加,在对残差再次拟合
直到收敛
专门对差值做一个 连续值的预测
|
如何分析模型 |
1. 看状态,是 high variance 还是 high bias
variance and bias,李诚经常说的两个词,原来是实在评价训练好的 model 状态
2. case study,尤其是分错的 sample
1.一 一找出来,这些分错的例子(回归中 哪些样本 bias 大)
2.它归为这一错类,是哪个因素特征导致的
3. bad case 之间有没有共性
4. 是不是缺新的特征
找到共性处理措施就是:比如分错的可能是新上市的商品, 此时的应对 可能就是一些规则
|
工业界线性的应用 |
线性回归,LR,LinearSVM 都是线性核,即 kernel 是线性的
工业界很多是线性模型,对于权重大的 那个因素,做细化的工作
就是 重要因素,多方面挖掘,着重挖掘,即:
重要特征的 组合变异 比哪些本征的小权重因素还要重要
|
过拟合是不能降维 |
确实防止了过拟合,但是准确率不会提升
降维是在损失信息
|
验证集和测试集 |
交叉验证集做参数/模型选择# 选 LR 还是 SVM ,可以从这里得到
测试集只做模型效果评估,即 百分之多少的准确率 应该说是从 test data 上得到的
# 这个可以视为:convention
|
一些经验 |
数据量太大 不适合用SVM
SVM 一般比其他的分类器健壮,作为首选
一般不用KNN,因为需要保存所有的 样本的feature,占用内存和时间去遍历
样本量少需要 拉长时间窗口,即 再等等
|
一个新的结论 |
从这个角度说:validate data 就是 train data!!!
|
模型前工作 |
数据预处理:数据清洗与(上下采样以上的非倾斜)
特征选择
模型选择
交叉验证 选出超参数
|
模型选择
|
1. 路线图
2. 验证集
|
模型优化的角度
|
1. 模型现在处于什么状态
2. 找出有用 weight 的feature
3. bad case 分析
4. 模型融合 bagging or boosting
我想这个是 那个 淘宝面试官想问的问题
这才人家想问的问题
其实还是在看你的 经验
|
降维 | LDA ,PCA 都可以视为 降维 |
特征选择的 嵌入式方法 |
正则化
决策树
深度学习
|
聚类也有一个重要问题 |
即:到底聚为几类?
知道几类,用Kmeans
或者使用 层次聚类法
|
搜索的种类 |
完全式搜索
启发式搜索
随机搜索
|