摘要
要找工作啦,心累,持续更新中。。。
以下内容大部分来自李航老师的《统计学习方法》,以及各大博主文章
面经
基础知识点
《轻松看懂机器学习十大常用算法》: http://blog.jobbole.com/108395/
生成模型和判别模型
二分类中的准确率与召回率
正则化项
参考文章(这里面关于L1L2的求导部分讲的不错,也包含了其他的正则化方法):
http://blog.csdn.net/u012162613/article/details/44261657经验风险最小化是没有加正则化的损失函数最小优化,
结构风险最小化就是加了正则项的损失函数最小优化
- L1范数对参数权值进行直接惩罚,所以会有部分参数趋向于0
- L2范数对参数平方值进行惩罚,所以全体参数会整体趋向于0
朴素贝叶斯(NB分类器)
- 我们的目标是给定X(i)来计算以下条件概率:
- 根据贝叶斯定理,可变换为如下形式:
- 但是,条件概率分布P(X = x | Y = ck)有指数级数量的参数:
- 因此,NB做了一个合理的假设,即条件独立性假设(假设事件之间发生的关联性为0,事件之间互相独立):
- 因此,第二步的公式可以表示为:
- 最后,得到NB分类器的公式:
- 极大似然估计(假设先验分布概率就是期望的分布概率)
- 贝叶斯估计(用于解决概率值为0时,乘积为0的问题):
当Lambda为1时,即为拉普拉斯平滑
注意:添加Lambda后,需要保证概率之和为1 - 拉普拉斯平滑的作用:
问: 有两只球队A和B,在过去的7场比赛中A获胜7次,B获胜0次,那么下一次比赛A和B获胜的概率各是多少?
答:根据先验概率,A获胜的概率是7/7,B获胜的概率为0/7,显然这是不合理的,虽然B真的菜,但是下一场没准真的能获胜,因此,使用拉普拉斯平滑进行调整,得到A获胜的概率为7/8,B获胜的概率为1/8。不仅保留了概率上的特征,同时保证了合理性。
- 我们的目标是给定X(i)来计算以下条件概率:
二项逻辑斯蒂回归模型
- 概率分布:
- LR将线性函数值转化为了事件发生的概率
- 得到LR的损失函数为:
- 将LR用于多分类:
- 最大似然估计:MLE是通过概率去求参数,使得模型的分布结果最大程度地与当前数据的分布相接近
- 概率分布:
SVM模型
- 核心思想:
- 函数间隔和几何间隔
为了找到最大化间隔的超平面,我们需要一个合理的间隔度量来进行评价,首先想到的最简单的就是函数间隔,即评价函数wx+b的值的绝对值大小
但是,函数间隔无法作为最大化超平面间隔的度量,因为其会随着w、b值的缩放而跟着缩放,显然不好,因此引入几何间隔
几何间隔引入了向量w,因此是实质上几何空间的距离度量,而且不会被w、b影响,只与超平面的位置有关,完全可以作为超平面的度量方法 - 关于拉格朗日乘子法和对偶问题:
也可以参考:《拉格朗日乘子法、KKT条件、拉格朗日对偶性》 - 非线性问题
首先,我们在已知拉格朗日系数a的前提下,通过求偏导数可以得到权重系数w可以用如下公式得到:
因此,分类函数可以表示为内积的形式( 这里的形式的有趣之处在于,对于新点 x的预测,只需要计算它与训练数据点的内积即可;此外,所谓 Supporting Vector 也在这里显示出来——事实上,所有非Supporting Vector 所对应的a系数都是等于零的,因此对于新点的内积计算实际上只要针对少量的“支持向量”而不是所有的训练数据即可):
- 对于非线性问题,可以使用一个映射函数将数据点投影到高维空间中:
考虑我们可爱的内积形式:
- 核心思想:
EM算法
- 虽然很牛逼,但我看不懂
- 简单的说就是先猜,后调整,再猜,再调整,最后win
- 用于混合高斯模型的时候,与K-means差不多,也是找类别中心,但是Km无法给出后验概率,EM却可以
隐式马尔科夫模型(HMM)
- 简单易懂的解释:
https://www.cnblogs.com/skyme/p/4651331.html - 三个基本问题
- 概率计算问题
- 直接计算:算出整体解空间 ,然后用条件解的个数除以整体解的个数。缺点是整体解空间太大,算法太复杂
- 前向算法:对每一步的每一个状态序列中的状态进行概率计算,求和,然后进一步计算,最后累加出结果。避免了对非必要状态的概率计算。
- 预测问题
- 直接计算:算出可能产生该序列的所有隐序列的数量,然后除一下即可,但是解空间依然很大
- Viterbi 算法:对每一步观测状态进行概率计算,取当前概率最大的作为下一步观测状态计算的前提,直到停止
- HMM用于NLP的最简单的应用:
- 简单易懂的解释:
条件随机场 CRF