1、正负样本不均衡的处理方法

(1)上采样:通过将小众类样本复制多份,来得到多个不同数据集,每个数据集训练一个模型

缺点:反复出现一些样本,容易过拟合    解决:生成新数据时加入随机扰动

(2)下采样:从大众类中选取部分样本

缺点:丢失部分信息,只学到了总体的一部分  解决:boosting和bagging

(3)数据合成

(4)加权,对不同类别分错的代价不同,采用Focal loss

2、学习到某层loss为0,梯度消失怎么办

产生原因:随着层数的加深,激活函数(sigmoid,导数值得范围在【0,0.25】)的输出值的整体分布逐渐往激活函数的取值区间上下限(饱和区)靠近,从而导致在反向传播时低层神经网络的梯度消失。

解决方法

(1)使用Relu,maxout等激活函数代替

(2)使用BN

(3)适当调整学习率和权重衰减项

(4)LSTM结构

(5)残差网络

补充:梯度爆炸的原理:同样的道理,当权重初始化为一个较大值时,虽然和激活函数的导数相乘会减小这个值,但是随着神经网络的加深,梯度呈指数级增长,就会引发梯度爆炸。

3、LR与NN之间的关系

可以将LR认为只含有一个神经元的单层的神经网络

4、机器学习项目中的开发流程

(1)理解实际问题。抽象为机器学习能处理的数学问题,理解实际业务场景问题是机器学习的第一步

(2)数据获取。数据决定机器学习的上限,总的来说数据要有代表性。对于分类,数据倾斜不能过于严重,不同类数据量要均衡。不仅如此还要对评估数据的量级等内存的消耗。如数据量过大可以考虑减少训练样本、降维或者使用分布式机器学习系统。同时数据预处理、清洗也很重要,

(3)特征工程。包括从原始数据中特征构建、特征提取、特征选择。

(4)模型训练、诊断、调优。判断过拟合、欠拟合。

(5)模型验证、误差分析

5、生成式模型、判别式模型

判别式模型:寻找不同类别之间的最优分类面,反映异类数据之间的差异

生成式模型:以统计的角度表示数据的分布情况,能够反映同类数据本身的相似度

区别:判别式模型估计的是直接求条件概率分布P(y|x)

生成式模型估计的是先求联合概率分布P(x,y),再根据贝叶斯公式求P(y|x)

生成式模型有朴素贝叶斯、贝叶斯网络、高斯混合模型

判别式模型有LR、KNN、传统神经网络

6、BP算法

思想是由后一级的误差计算前一级的误差,从而极大减少计算量

假设神经网络有l+1层,记l层的输入为,激活函数,输出,从l层到l+1层的参数矩阵是,则

        

设某个数据点产生的损失为C,则(由于C可以表示成的函数)

       且

7、L1、L2区别

对L2下的目标函数进行求导可得,权重w每次乘上的是小于1的倍数进行收敛,而且其导数在w等于0时没有办法做到两边异号,所以L2更平滑

对L1下的目标函数进行求导可得,w每次都是减去一个常数的线性收敛,L1比L2更快收敛到比较小的值,且在x等于0时能保证两边导数异号。

8、连续特征离散化的好处

原因:算法需要,相对于连续特征更容易理解,克服数据中的隐藏缺陷,结果更稳定

好处:离散特征增加或者减少更加容易,易于快速迭代

稀疏向量内积乘法运算快,易存储

有很强的鲁棒性

可以进行特征交叉

简化模型的作用

9、偏差与方差

偏差:预测值的期望和真实值之间的差异,偏差越大,越偏离真实数据。学习能力不强导致,衡量欠拟合。

方差:预测值的变化情况,离散程度,也就是离其期望值的距离,学习能力太强导致,衡量过拟合。

10、选择模型

如果特征数量大到和样本差不多,选用LR或者线性核的SVM

如果特征数量小,样本数量正常,则选用SVM+高斯核函数

如果特征数量大,样本数量很大,则需要手动添加一些特征变为第一种情况

11、极大似然估计和最大后验的区别

MLE:在已经得到试验结果(即样本)的情况下,估计满足这个分布的参数,将使这个样本出现的概率最大的参数作为其真实参数的估计。用似然函数求解

MAP:根据经验数据,获得对难以观察的量的点估计。与MLE不同的是,MAP融入了被估计量的先验分布,即模型参数本身的概率分布。

联系:MAP=MLE*先验概率

12、EM算法-最大期望算法

有时候因为样本的产生和隐含变量有关(隐含变量是不能观察的),而求模型的参数时一般采用最大似然估计,由于含有了隐含变量,所以对似然函数参数求导是求不出来的,这时可以采用EM算法来求模型的参数的(对应模型参数个数可能有多个)

在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐变量。

经过两个步骤的交替计算:

第一步是计算期望(E),选取一组参数,求出在该参数下隐含变量的条件概率值

第二步时最大化(M),在E步上求得最大似然估计值计算参数的值,M步上找到的参数估计值被用于下一个E步的计算中,不断交替进行。

13、余弦相似度距离

余弦相似度距离:余弦相似度用向量空间中两个向量夹角的余弦相似值作为衡量两个个体间差异的大小。相比距离度量,余弦相似度更加注重两个向量在方向上的差异而非距离或者长度。

14、什么样的模型对缺失值敏感

树模型对于缺失值敏感度较低,涉及到距离度量时,缺失值就比较重要,如KNN、SVM,线性函数的代价函数往往涉及距离,神经网络、贝叶斯对缺失值也不敏感。

15、贝叶斯定理

16、对偶的概念

一个优化问题可以从两个角度进行考察,一个是原始问题,一个是二重问题,就是对偶问题,一般情况下对偶问题给出主问题最优值的下界,在强对偶性成立的情况下由对偶问题可以得到主问题的最优下界,对偶问题是凸优化问题,可以进行较好的求解,SVM中就是将primal问题转换为dual问题进行求解,从而进一步引入核函数的思想。

17、如何进行特征选择

特征选择是一个重要的数据预处理过程,主要有两个原因:一是减少特征数量、降维,使模型泛化能力更强,减少过拟合;二是增强对特征和特征值之间的理解
        常见的特征选择方式:
        (1)去除方差较小的特征
        (2)正则化。L1正则化能够生成稀疏的模型。L2正则化的表现更加稳定,由于有用的特征往往对应系数非零。
        (3)随机森林,对于分类问题,通常采用基尼不纯度或者信息增益,对于回归问题,通常采用的是方差或者最小二乘拟合。一般不需要feature engineering、调参等繁琐的步骤。它的两个主要问题,1是重要的特征有可能得分很低(关联特征问题),2是这种方法对特征变量类别多的特征越有利(偏向问题)。
        (4)稳定性选择。是一种基于二次抽样和选择算法相结合较新的方法,选择算法可以是回归、SVM或其他类似的方法。它的主要思想是在不同的数据子集和特征子集上运行特征选择算法,不断的重复,最终汇总特征选择结果,比如可以统计某个特征被认为是重要特征的频率(被选为重要特征的次数除以它所在的子集被测试的次数)。理想情况下,重要特征的得分会接近100%。稍微弱一点的特征得分会是非0的数,而最无用的特征得分将会接近于0。

18、欧式距离与马氏距离

马式距离

欧式距离具有:平移不变性; 旋转不变性

马氏距离具有:平移不变性; 旋转不变性;尺度缩放不变性;不受量纲影响的特性

以上内容均来源于各个版主、牛客网总结

算法面经总结(15)机器学习常见知识相关推荐

  1. 【机器学习算法面试题】六.训练集、验证集、测试集的理解。

    欢迎订阅本专栏:<机器学习算法面试题> 订阅地址:https://blog.csdn.net/m0_38068876/category_11810806.html [机器学习算法面试题]一 ...

  2. 【机器学习算法面试题】四.深度神经网络中激活函数有哪些?

    欢迎订阅本专栏:<机器学习算法面试题> 订阅地址:https://blog.csdn.net/m0_38068876/category_11810806.html [机器学习算法面试题]一 ...

  3. java常见算法面试题

    java常见算法面试题 Java的冒泡排序,快速排序,归并排序,计数排序,二分查找法 1.斐波那契数列 1.斐波那契数列又叫黄金分割和兔子数列 :1.1.2.3.5.8.13.21.34.-- 在数学 ...

  4. leetcode常见经典算法面试题及答案汇总

    精心整理了leetcode常见经典算法面试题及答案,实现语言为python和c++,整理在这里主要是为了面试前复习使用,希望对您有所帮助,题目比较多建议您先收藏 题目:1.求缺失的第一个正数;2. 字 ...

  5. 【机器学习算法面试题】七.如何进行线上A/B测试,如何划分实验组和对照组?

    欢迎订阅本专栏:<机器学习算法面试题> 订阅地址:https://blog.csdn.net/m0_38068876/category_11810806.html [机器学习算法面试题]一 ...

  6. AI理论知识基础(26)-机器学习常见损失函数, 共轭梯度法(2)

    机器学习常见损失函数, 共轭梯度法(2)

  7. 常见的js算法面试题收集,es6实现

    1.js 统计一个字符串出现频率最高的字母/数字 let str = 'asdfghjklaqwertyuiopiaia'; const strChar = str => {let string ...

  8. 程序员应该掌握的经典算法面试题

    不忘初心,方得始终.何谓"初心"?初心便是在深度学习.人工智能呼风唤雨的时代,对数据和结论之间那条朴素之路的永恒探寻,是集前人之大智,真诚质朴求法向道的心中夙愿. 没有最好的分类器 ...

  9. 【2021最新版】数据结构+算法面试题总结(9+20道题含答案解析)

    文章目录 1.栈(stack) 2.队列(queue) 3.链表(Link) 4.散列表(Hash Table) 5.排序二叉树 6. 前缀树 7.红黑树 8.B-TREE 9.位图 算法面试题 1. ...

最新文章

  1. CSS对 网页进行布局
  2. Java实战之04JavaWeb-02Request和Response
  3. 【C语言】单链表的所有操作的实现(包括PopBack、PushBack、PopFront、PushFront、Insert)
  4. 深入分析驴子系列(2)
  5. for _ in range(10)中 _ 的作用
  6. dj鲜生-25-用户登陆验证成功-但是没有激活的处理
  7. 剑指offer——面试题54:表示数值的字符串
  8. Python PIL 图像缩小、拼接
  9. win10下正确使用Sublime Text搭建python调试环境
  10. vue2中监听watch的写法汇总
  11. ACM中关于Output Limit Exceeded和Time Limit Exceeded
  12. Oracle数据库:排序order by语句,select from where order by的执行先后顺序,各种样例
  13. 为什么要放弃Evernote?Effie:为写作而生
  14. 如何画好室内手绘效果图,非常值得…
  15. 第十三届蓝桥杯大赛软件类国赛 C/C++ 大学B组 试题 G: 故障
  16. 基于web的家庭理财系统
  17. 区块链开发者观点: 来自 EOS 三国的 Jimmy Gong
  18. fatfs文件系统详解之f_mkfs函数分析
  19. [每天进步一点点~] uni-app 安装配置安卓手机模拟器
  20. HTML5简介(补充. 浏览器私有前缀)

热门文章

  1. 20051031: 换了一台显示器
  2. Carla控制指定Actor(四)
  3. linux alarm定时器,Linux 定时器alarm()(转)
  4. elasticsearch系列-子条件查询
  5. Error:(4, 35) java: 程序包org.springframework.context不存在
  6. 《吊打面试官》系列-HashMap
  7. 测光 (Metering)
  8. 专访阿里王贤:我所理解的网站架构
  9. 输入一个秒数将其转换成天时分秒
  10. IOS开发笔记之推广安装(用网页判断是否安装App)