机器学习算法岗面试常见问题

过拟合原因 
数据:数据不规范,数据量少,数据穿越,统计特征用到了未来的信息或者标签信息 
算法:算法过于复杂 
解决: 
1、将数据规范化,处理缺失值,增加数据量,采样,添加噪声数据 
2、正则化,控制模型复杂程度, 
3、early stoping,减少迭代次数,减少树的深度, 
4、学习率调大/小点、 
5、融合几个模型

L1和L2的区别 
1、L1是Lasso Regression,表示向量中每个元素绝对值的和:L1范数的解通常是稀疏性的,倾向于选择数目较少的一些非常大的值或者数目较多的insignificant的小值。 
2、L2是岭回归,Ridge Regression,是欧氏距离也就是平方和的平方根。L2范数越小,可以使得w的每个元素都很小,接近于0,但L1范数不同的是他不会让它等于0而是接近于0。 
3、L1正则化的w可取的值是转置的方形,L2对应的是圆形。这样损失函数l(w)的最小值更容易在L1对应的边角上取得,从而这些维度变成0了。 
从贝叶斯的角度来看,加入正则项相当于加入了一种先验。即当训练一个模型时,仅依靠当前的训练数据集是不够的,为了实现更好的泛化能力,往往需要加入先验项。 
L1范数相当于加入了一个Laplacean先验; 
L2范数相当于加入了一个Gaussian先验。 
4、L2对大数的惩罚更大,但是解相对来说比较均匀。

生成模型和判别模型区别 
对于输入x,类别标签y: 
生成式模型估计它们的联合概率分布P(x,y) 
Gaussians、Naive Bayes、Mixtures of Multinomials 
Mixtures of Gaussians、Mixtures of Experts、HMMs 
Sigmoidal Belief Networks, Bayesian Networks、Markov Random Fields 
Latent Dirichlet Allocation

判别式模型估计条件概率分布P(y|x) 
Logistic Regression、SVM、Traditional Neural Networks、Nearest Neighbor、 
CRF、Boosting、Linear Regression

svm算法的原理、如何组织训练数据、如何调节惩罚因子、如何防止过拟合、svm的泛化能力、增量学习 
1、SVM是一种二类分类的模型,它的基本模型是在特征空间中寻找间隔最大化的分离超平面的线性分类器。 
2、 
3、惩罚因子C决定了你有多重视离群点带来的损失,显然当所有离群点的松弛变量的和一定时,你定的C越大,对目标函数的损失也越大,此时就暗示着你非常不愿意放弃这些离群点,最极端的情况是你把C定为无限大,这样只要稍有一个点离群,目标函数的值马上变成无限大,马上让问题变成无解,这就退化成了硬间隔问题。 
惩罚因子C不是一个变量,整个优化问题在解的时候,C是一个你必须事先指定的值,指定这个值以后,解一下,得到一个分类器,然后用测试数据看看结果怎么样,如果不够好,换一个C的值,再解一次优化问题,得到另一个分类器,再看看效果,如此就是一个参数寻优的过程,但这和优化问题本身决不是一回事,优化问题在解的过程中,C一直是定值,要记住。 
4、解决过拟合的办法是为SVM引入了松弛变量ξ(slack variable),将SVM公式的约束条件改为。因为松弛变量能够容忍异常点的存在,我们的支持向量和超平面都不会受到它的影响。 
我们加上松弛变量的平方和,并求最小值。这样就达到一个平衡:既希望松弛变量存在以解决异常点问题,又不希望松弛变量太大导致分类解决太差。 
LR和SVM的联系与区别: 
联系: 
1、LR和SVM都可以处理分类问题,且一般都用于处理线性二分类问题(在改进的情况下可以处理多分类问题) 
2、两个方法都可以增加不同的正则化项,如l1、l2等等。所以在很多实验中,两种算法的结果是很接近的。 
区别: 
1、LR是参数模型,SVM是非参数模型。 
2、从目标函数来看,区别在于逻辑回归采用的是logistical loss,SVM采用的是hinge loss.这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。 
3、SVM的处理方法是只考虑support vectors,也就是和分类最相关的少数点,去学习分类器。而逻辑回归通过非线性映射,大大减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重。 
4、逻辑回归相对来说模型更简单,好理解,特别是大规模线性分类时比较方便。而SVM的理解和优化相对来说复杂一些,SVM转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算。 
5、logic 能做的 svm能做,但可能在准确率上有问题,svm能做的logic有的做不了。

时间: 2024-11-06 07:27:58

机器学习算法岗面试常见问题的相关文章

【求职】字节跳动2019校招机器学习算法工程师面试

面试问题总结. 问题:1. 自我介绍.2. 介绍了一下自己简历上的项目.3. SVM详细原理.4. Kmeans原理,何时停止迭代. 算法题:1. 一个随机整数产生器产生[1,5],如何设计一个产生[1,7]的随机整数产生器.解法:设k1,k2属于[1,5], 生成k3 = 5*(k1-1)+k2+1, 则k3属于[1,25], 将k3分成两个部分,[1,21]和[22,25]. 判断,若属于[1,21], 则令op=k3%7+1,op属于[1,7], 否则丢弃. 2. 给定一个旋转的有序数组,

【转】常见面试之机器学习算法思想简单梳理

转:http://www.chinakdd.com/article-oyU85v018dQL0Iu.html 前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着科技的不断发展,相信这方面的人才需求也会越来越大. 纵观IT行业的招聘岗位,机器学习之类的岗位还是挺少的,国内

机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)

http://www.cnblogs.com/tornadomeet/p/3395593.html 机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理) 前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着科技的不断发展,相信这方面的人才需求也会越来越大.

常见面试之机器学习算法思想简单梳理

http://www.cnblogs.com/tornadomeet/p/3395593.html (转) 前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着科技的不断发展,相信这方面的人才需求也会越来越大. 纵观IT行业的招聘岗位,机器学习之类的岗位还是挺少的,国内大

常见面试之机器学习算法思想简单梳理【转】

前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着科技的不断发展,相信这方面的人才需求也会越来越大. 纵观IT行业的招聘岗位,机器学习之类的岗位还是挺少的,国内大点的公司里百度,阿里,腾讯,网易,搜狐,华为(华为的岗位基本都是随机分配,机器学习等岗位基本面向的是博士)等

《百面机器学习算法工程师带你去面试》PDF版+epub版

下载:https://pan.baidu.com/s/1DgV5JxWZgyQBKd7wkMXmWw <百面机器学习算法工程师带你去面试>高清PDF版,392页,带书签目录,文字可以复制: <百面机器学习算法工程师带你去面试>高清epub版,101页,带书签目录,文字可以复制. 本书作为AI类书籍知识点非常全面,但在一些章节比如分类模型.神经网络.强化学习等,领域内知识体系展开的不是很详细深入.其实作为面试类书籍,读的时候应该以一种查漏补缺的方式去看,看到一个问题想一想自己这个知识

我的新书:《工业机器学习算法详解与实战》

图书简介 实用性是本书的第一个基本出发点,书中介绍了近年来在工业界被广泛应 用的机器学习算法,这些算法经受了时间的考验,不但效果好而且使用方便.此 外作者也十分注意理论的深度和完整性,组织各章节的内容时力求由浅入深.推 理完整.先后连贯.自成体系,先讲统计学.矩阵.优化方法这些基础知识,再 由简到繁地介绍线性模型.概率图模型.文本向量化算法.树模型和神经网络, 神经网络主要指的是各种深层网络.跟绝大多数机器学习类的图书不同,本书 还会介绍算法周边的一些工程架构及实现原理,比如如何实时地收集训练样

机器学习算法总结--SVM

简介 SVM是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,即支持向量机的学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解.或者简单的可以理解为就是在高维空间中寻找一个合理的超平面将数据点分隔开来,其中涉及到非线性数据到高维的映射以达到数据线性可分的目的. 训练数据线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机,又称为硬间隔支持向量机:训练数据近似线性可分时,通过软间隔最大化,也学习一个线性分类器,即线性支持向量机,也称为软间隔支持向量机

机器学习算法思想简单梳理

朴素贝叶斯: 有以下几个地方需要注意: 1. 如果给出的特征向量长度可能不同,这是需要归一化为通长度的向量(这里以文本分类为例),比如说是句子单词的话,则长度为整个词汇量的长度,对应位置是该单词出现的次数. 2. 计算公式如下: 其中一项条件概率可以通过朴素贝叶斯条件独立展开.要注意一点就是的计算方法,而由朴素贝叶斯的前提假设可知,=,因此一般有两种,一种是在类别为ci的那些样本集中,找到wj出现次数的总和,然后除以该样本的总和:第二种方法是类别为ci的那些样本集中,找到wj出现次数的总和,然后