处理分类问题常用算法(一)-------算法岗面试题
交叉熵公式
参考回答:
在一定程度上,相对熵可以度量两个随机变量的“距离”,且有D(p||q) ≠D(q||p)。另外,值得一提的是,D(p||q)是必然大于等于0的。
互信息:两个随机变量X,Y的互信息定义为X,Y的联合分布和各自独立分布乘积的相对熵,用I(X,Y)表示:
且有I(X,Y)=D(P(X,Y)||P(X)P(Y))。下面,咱们来计算下H(Y)-I(X,Y)的结果,如下:
● LR公式
参考回答:
则
sigmoid function 的导数如下:
逻辑回归用来分类0/1 问题,也就是预测结果属于0 或者1 的二值分类问题。这里假设了二值满足伯努利分布,也就是
其也可以写成如下的形式:
对于训练数据集,特征数据x={x1, x2, … , xm}和对应的分类标签y={y1, y2, … , ym},假设m个样本是相互独立的,那么,极大似然函数为:
log似然为:
如何使其最大呢?与线性回归类似,我们使用梯度上升的方法(求最小使用梯度下降),那么
。
如果只用一个训练样例(x,y),采用随机梯度上升规则,那么随机梯度上升更新规则为:
● LR的推导,损失函数
参考回答:
则
sigmoid function 的导数如下:
逻辑回归用来分类0/1 问题,也就是预测结果属于0 或者1 的二值分类问题。这里假设了二值满足伯努利分布,也就是
其也可以写成如下的形式:
对于训练数据集,特征数据x={x1, x2, … , xm}和对应的分类标签y={y1, y2, … , ym},假设m个样本是相互独立的,那么,极大似然函数为:
log似然为:
如何使其最大呢?与线性回归类似,我们使用梯度上升的方法(求最小使用梯度下降),那么
。
如果只用一个训练样例(x,y),采用随机梯度上升规则,那么随机梯度上升更新规则为:
损失函数:
● 逻辑回归怎么实现多分类
参考回答:
方式二:根据每个类别都建立一个二分类器,本类别的样本标签定义为0,其它分类样本标签定义为1,则有多少个类别就构造多少个逻辑回归分类器
若所有类别之间有明显的互斥则使用softmax分类器,若所有类别不互斥有交叉的情况则构造相应类别个数的逻辑回归分类器。
● SVM中什么时候用线性核什么时候用高斯核?
参考回答:
● 什么是支持向量机,SVM与LR的区别?
参考回答:
LR是参数模型,SVM为非参数模型。LR采用的损失函数为logisticalloss,而SVM采用的是hingeloss。在学习分类器的时候,SVM只考虑与分类最相关的少数支持向量点。LR的模型相对简单,在进行大规模线性分类时比较方便。
● 监督学习和无监督学习的区别
参考回答:
● 机器学习中的距离计算方法?
参考回答:
欧式距离:
曼哈顿距离:
余弦距离:
cos=
切比雪夫距离:max
● 问题:朴素贝叶斯(naive Bayes)法的要求是?
参考回答:
解析:朴素贝叶斯属于生成式模型,学习输入和输出的联合概率分布。给定输入x,利用贝叶斯概率定理求出最大的后验概率作为输出y。
● 问题:训练集中类别不均衡,哪个参数最不准确?
参考回答:
解析:举例,对于二分类问题来说,正负样例比相差较大为99:1,模型更容易被训练成预测较大占比的类别。因为模型只需要对每个样例按照0.99的概率预测正类,该模型就能达到99%的准确率。
● 问题:你用的模型,最有挑战性的项目
参考回答:
● 问题:SVM的作用,基本实现原理;
参考回答:
解析:建议练习推导SVM,从基本式的推导,到拉格朗日对偶问题。
● 问题:SVM的硬间隔,软间隔表达式;
参考回答:
左边为硬间隔;右边为软间隔
解析:不同点在于有无引入松弛变量
● 问题:SVM使用对偶计算的目的是什么,如何推出来的,手写推导;
参考回答:
● 问题:SVM的物理意义是什么;
参考回答:
● 问题:如果给你一些数据集,你会如何分类(我是分情况答的,从数据的大小,特征,是否有缺失,分情况分别答的);
参考回答:
解析:需要了解多种分类模型的优缺点,以及如何构造分类模型的步骤
● 问题:如果数据有问题,怎么处理;
参考回答:
解析:发散问题需要自己展现自己的知识面