回归&logistics回归笔记-七月算法(julyedu.com)4 月机器学习算法班学习笔记

  • 过拟合
  • 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)

你可能感兴趣的:(机器学习,回归,logistics)