前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >算法岗机器学习相关问题整理(LR&SVM部分)

算法岗机器学习相关问题整理(LR&SVM部分)

作者头像
曲奇
发布2021-12-15 08:19:32
3630
发布2021-12-15 08:19:32
举报
文章被收录于专栏:曲奇的博客

今年找工作整理了一份机器学习岗的面经,在3月中旬拿到了某大厂的暑期实习offer,整理一下发出来和小伙伴们一起学习。这个面经分为多个部分,会不断更新。除此之外,还有几本参考书:

目录

特征

特征的选择方法以及特征处理的技巧

训练预测

为什么会过拟合,解决办法

常见的损失函数

ROC曲线

recall和precision

范数的区别

LR

LR的推导

lr和svm的区别

为什么lr模型损失函数使用交叉熵而不用均方差

LR如果多了一维冗余特征,其权重和AUC会怎样变化

SVM

SVM 的推导

特征

特征的选择方法以及特征处理的技巧

From https://blog.csdn.net/gxq1221/article/details/81113346

主要是结合产品需求,以及做实验看核心指标。

传统机器学习中特征选择主要有两个原因:

一是减少特征数量、降维,减小模型复杂度;二是增强对特征和特征值之间的理解,有利于模型做出更好的预测

常见的特征选择方式:

  1. 把一个特征值打乱,看loss有多大的上升
  2. 一些传统的方法
  3. 去除方差较小的特征,过滤法
  4. 正则化。L1正则化能够生成稀疏的模型。L2正则化的表现更加稳定,由于有用的特征往往对应系数非零。
  5. 随机森林,实际上是看这个特征被多少棵树用到(也是嵌入法,对于分类问题,通常采用基尼不纯度或者信息增益,对于回归问题,通常采用的是方差或者最小二乘拟合。)
  6. 包裹法,确定目标函数是否得到优化

参考

From https://zhuanlan.zhihu.com/p/31725691 七月在线机器学习面试

训练预测

为什么会过拟合,解决办法

From https://blog.csdn.net/gxq1221/article/details/81113346 腾讯18年数据挖掘

机器学习中发生过拟合的主要原因有:

(1)使用过于复杂的模型;比如使用复杂的核函数,高斯核等

(2)数据噪声较大;

(3)训练数据少。

由此对应的降低过拟合的方法有:

(1)简化模型假设,或者使用惩罚项限制模型复杂度;

(2)进行数据清洗,减少噪声;

(3)收集更多训练数据。

常见的损失函数

  1. 0-1损失函数(zero-one loss),预测错误就是1,预测正确就是0
  2. 绝对值损失函数.|target - y|
  3. 平方损失函数:优点导数连续,对异常点噪声敏感。
  4. 交叉熵损失函数:当使用sigmoid作为激活函数的时候,常用交叉熵损失函数而不用均方误差损失函数,因为它可以完美解决平方损失函数权重更新过慢的问题,具有“误差大的时候,权重更新快;误差小的时候,权重更新慢”的良好性质。
  5. Hinge 损失函数
[公式]
[公式]

y是目标值(1或-1),hinge损失函数表示如果被分类正确,损失为0,否则损失就为

[公式]
[公式]

。对异常点、噪声不敏感

ROC曲线

判定是否为真值则看该概率值是否大于设定的阈值(Threshold)。例如如果阈值设定为0.5则所有概率值大于0.5的均为正例,其余为反例。因此对于不同的阈值我们可以得到一系列相应的FPR和TPR,从而绘制出ROC曲线。我们目标是达到更高的TP和更低的FP。

recall和precision

以智能运维里面异常点检测为例

召回recall就是所有异常点有多少被预测出来

[公式]
[公式]

精度precision就是所有检测出来的异常点有多少是真正的异常点

[公式]
[公式]

范数的区别

https://www.kanzhun.com/gsmsh10932992.html CDG 2018推荐算法

向量范数

L0范数,向量中非零元素的个数。很少用

L1范数,为绝对值之和,

[公式]
[公式]

L2范数,向量元素绝对值的平方和再开方,

[公式]
[公式]

起到正则化,L1还起到稀疏解的作用。从数学角度将解决了一个原问题求解没有逆的问题,非病态

参考:

0 范数、1 范数、2 范数有什么区别? - 凌空的回答 - 知乎 https://www.zhihu.com/question/20473040/answer/175915374

LR

LR的推导

https://towardsdatascience.com/logistic-regression-detailed-overview-46c4da4303bc

线性+sigmoid+交叉熵+梯度下降

参考:统计学习方法

lr和svm的区别

相同点

  • 都是有监督的分类方法
  • 都是判别模型,直接生成一个判别函数,不像贝叶斯转化为条件概率

不同点

  • loss function不同:lr是交叉熵,svm是最大化间隔
  • lr考虑所有点,而svm只考虑支持向量,所以svm不直接依赖于数据分布
  • lr产生概率,svm不能产生概率
  • lr优点是计算快,在很多在线服务的场景中都在使用

为什么lr模型损失函数使用交叉熵而不用均方差

阿里算法暑期 https://www.nowcoder.com/discuss/373146?type=2&order=3&pos=7&page=1

LR的基本形式是,g是sigmoid

[公式]
[公式]

交叉熵:极大似然估计下概率的连乘然后求对数

[公式]
[公式]

对w求导

[公式]
[公式]

w的梯度是和当前的预测值与实际值的差有关的,没有受到sigmoid函数导数的影响

如果是用MSE作为loss function的话,求导结果是

[公式]
[公式]

,受到sigmoid导数梯度消失的影响。

参考:https://blog.csdn.net/dpengwang/article/details/96597606

LR如果多了一维冗余特征,其权重和AUC会怎样变化

来自字节2020算法 https://www.nowcoder.com/discuss/383086?type=2

权重变为1/2, AUC不会变化。因为多出来的一维特征并不会提供新的信息,而权重会和原来已有的特征列对半分

SVM

SVM 的推导

From https://blog.csdn.net/gxq1221/article/details/81113346 腾讯18年数据挖掘

超平面函数(sign(wx-b)) + 最大化间隔的目标函数

https://zhuanlan.zhihu.com/p/77750026

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 特征
  • 特征的选择方法以及特征处理的技巧
  • 训练预测
  • 为什么会过拟合,解决办法
  • 常见的损失函数
  • ROC曲线
  • recall和precision
  • 范数的区别
  • LR
  • LR的推导
  • lr和svm的区别
  • 为什么lr模型损失函数使用交叉熵而不用均方差
  • LR如果多了一维冗余特征,其权重和AUC会怎样变化
  • SVM
  • SVM 的推导
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档