回归&logistics回归笔记-七月算法(julyedu.com)4 月机器学习算法班学习笔记
2016-05-12 00:20
316 查看
过拟合
logistic回归
损失函数
性能分析
性能优化
关于样本处理
关于特征的优化处理
关于模型算法的参数优化
以下内容摘抄于七月算法(julyedu.com)4 月机器学习算法班课堂讲义
为什么正则化能抑制过拟合:从线性回归的角度,过拟合就是拟合的曲线过于扭曲,从系数看,就是高次项的系数不为零
这是应为这是非凸的
- LR能以概率的形式输出结果, 而非只是0,1判定
- LR的可解释性强, 可控度高(你要给老板讲的嘛…)
- 训练快
- 因为结果是概率, 可以做ranking model
-添加feature太简单
应用
- CTR预估/推荐系统的learning to rank/各种分类场景
- 某搜索引擎厂的广告CTR预估基线版是LR
- 某电商搜索排序基线版是LR(广告也是哦)
- 某电商的购物搭配推荐用了大量LR
- 某现在一天广告赚1000w+的新闻app排序基线是LR
- 特征离散化后用one-hot编码处理成0,1值,有助于提高LR的训练速度
- 如果要用连续值, 注意做scaling,这是为了降低量刚的影响(但是这个并不是只正对LR)
- 试试分布式
- 试试采样,注意采样方式: 日期 or 用户 or 行为。也就是要用层次抽样。大样本训练不能随机取
关于样本不平衡问题
- 对样本分布敏感
- 下采样(样本量足的情况下), 上采样(样本数量不太足)
- 修改loss function, 给不同权重
- 指给不同类别的样本赋予不同的权重。例如当负样本量明显小于正样本时,可以增加负样本的权重
- 采样后的predict结果, 用作排序OK, 用作判定请还原(不明白)
映射到高维空间, 用linear的LR(快, 且兼具更好的分割性)
稀疏化, 0,1向量内积乘法运算速度快, 计算结果方便存储, 容易扩展;
离散化后, 给线性模型带来一定的非线性
模型稳定, 收敛度高, 鲁棒性好
在一定程度上降低了过拟合风险
通过组合特征引入个性化因素(不明白)
uuid + tag
uuid + cluster_id…
注意特征的频度(难道是指用LR来做特征选择?)
区分特征重要度
可以产出层次判定模型(不明白)
聚类/Hash:对样本进行聚类,将聚类的类别作为特征
增强了极度稀疏的特征表达力
减小了模型, 加速运算
正则化系数C:
C太小,起不来正则化的作用
C太大,会弱化了源目标函数的作用,使得决策边界不能很好拟合样本的分布
收敛的阈值e, 迭代轮数
调整loss function给定不同权重
Bagging或其他方式的模型融合
最优化算法选择(‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’)
小样本liblinear,
大样本sag
多分类‘newton-cg’和‘lbfgs’(当然也可以用liblinear和sag的one-vs-rest)
logistic回归
损失函数
性能分析
性能优化
关于样本处理
关于特征的优化处理
关于模型算法的参数优化
以下内容摘抄于七月算法(julyedu.com)4 月机器学习算法班课堂讲义
过拟合
解决方法 正则化为什么正则化能抑制过拟合:从线性回归的角度,过拟合就是拟合的曲线过于扭曲,从系数看,就是高次项的系数不为零
logistic回归
损失函数
为什么logistic回归不用和线性回归类似的损失函数?这是应为这是非凸的
性能分析
优点- LR能以概率的形式输出结果, 而非只是0,1判定
- LR的可解释性强, 可控度高(你要给老板讲的嘛…)
- 训练快
- 因为结果是概率, 可以做ranking model
-添加feature太简单
应用
- CTR预估/推荐系统的learning to rank/各种分类场景
- 某搜索引擎厂的广告CTR预估基线版是LR
- 某电商搜索排序基线版是LR(广告也是哦)
- 某电商的购物搭配推荐用了大量LR
- 某现在一天广告赚1000w+的新闻app排序基线是LR
性能优化
关于样本处理
关于样本的处理- 特征离散化后用one-hot编码处理成0,1值,有助于提高LR的训练速度
- 如果要用连续值, 注意做scaling,这是为了降低量刚的影响(但是这个并不是只正对LR)
- 试试分布式
- 试试采样,注意采样方式: 日期 or 用户 or 行为。也就是要用层次抽样。大样本训练不能随机取
关于样本不平衡问题
- 对样本分布敏感
- 下采样(样本量足的情况下), 上采样(样本数量不太足)
- 修改loss function, 给不同权重
- 指给不同类别的样本赋予不同的权重。例如当负样本量明显小于正样本时,可以增加负样本的权重
- 采样后的predict结果, 用作排序OK, 用作判定请还原(不明白)
关于特征的优化处理
离散化映射到高维空间, 用linear的LR(快, 且兼具更好的分割性)
稀疏化, 0,1向量内积乘法运算速度快, 计算结果方便存储, 容易扩展;
离散化后, 给线性模型带来一定的非线性
模型稳定, 收敛度高, 鲁棒性好
在一定程度上降低了过拟合风险
通过组合特征引入个性化因素(不明白)
uuid + tag
uuid + cluster_id…
注意特征的频度(难道是指用LR来做特征选择?)
区分特征重要度
可以产出层次判定模型(不明白)
聚类/Hash:对样本进行聚类,将聚类的类别作为特征
增强了极度稀疏的特征表达力
减小了模型, 加速运算
关于模型/算法的参数优化
选择合适的正则化(L1, L2, L1+L2)正则化系数C:
C太小,起不来正则化的作用
C太大,会弱化了源目标函数的作用,使得决策边界不能很好拟合样本的分布
收敛的阈值e, 迭代轮数
调整loss function给定不同权重
Bagging或其他方式的模型融合
最优化算法选择(‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’)
小样本liblinear,
大样本sag
多分类‘newton-cg’和‘lbfgs’(当然也可以用liblinear和sag的one-vs-rest)
相关文章推荐
- CentOS系统双网卡路由设置
- Linux操作系统下双网卡路由表配置
- OpenFrameWorks 第一章
- Scala resource list
- 通讯录--第二版番外篇
- JS中将字符串中每个单词的首字母大写化
- Codeforces Round #325 (Div. 2) A
- 7-visual-studio-extension.html
- 这篇文章最初发在CSDN上这篇文章最初发在CSDN上
- 技术培训 | 大数据分析处理与用户画像实践
- Linux操作系统下iptables+nat实现ADSL共享上网!
- 剑指offer-第三题方法总结
- Unreal Engine 4 —— 多线程任务构建
- android TextView去除顶部和底部留白
- linux双网卡NAT共享上网
- SPI协议及其工作原理浅析
- C++作业5-数组选择/字符串/求和
- 申请格式
- leetcode 197. Rising Temperature to_days()
- Failed to start LSB:Bring up/down networking(已解决)