基础
生成模型和判别模型
1.定义
生成模型:学习得到数据的联合分布P(x,y),然后求联合分布。能够学习到数据的生成机制。
判别模型:学习的到概率的条件分布P(y|x)
2.区别
数据量和准确率:生成模型的数据量需求比较大,在数据量足够多的时一般生成模型效果较好,因为联合分布能够提供更多的有效信息;而判别模型需要的数据量较小,引起直接面向预测在小数据条件下一般效果比生成模型效果好
速度:生成模型收敛速度较快
隐变量情况:生成模型能够应付(高斯混合模型就是生成模型的隐变量形式)
3.常见的生成模型和判别模型
生成模型:隐马尔科夫链、朴素贝叶斯
判别模型:csrf
实现参数的稀疏有什么好处吗?
可以简化模型,避免过拟合。因为一个模型中真正重要的参数可能并不多,如果考虑所有的参数起作用,那么可以对训练数据可以预测的很好,但是对测试数据就只能呵呵了。
参数变少可以使整个模型获得更好的可解释性。
参数值越小代表模型越简单吗?
是的。这是因为越复杂的模型,越是会尝试对所有的样本进行拟合,甚至包括一些异常样本点,这就容易造成在较小的区间里预测值产生较大的波动,这种较大的波动也反映了在这个区间里的导数很大,而只有较大的参数值才能产生较大的导数。因此复杂的模型,其参数值会比较大。
模型简单包括什么?
1.参数少 2.参数值小
从贝叶斯角度看L1和L2正则化分贝数与什么分布?
对于频率学派,认为要将参数θ作为未知的定值,而样本X是随机的,其着眼点在样本空间,参数θ虽然我们不知道是什么,但是他是固定的,我们需要通过随机产生的样本去估计这个参数,所以才有了最大似然估计这些方法。
对于贝叶斯学派,把参数θ也视为满足某一个分布的随机变量,而X是固定的,其着眼点在参数空间,固定的操作模式是通过参数的先验分布结合样本信息得到参数的后验分布,核心是
L1正则化相当于先验分布是拉普拉斯分布,L2正则化相当于先验概率是正态分布。拉普拉斯分布的计算公式:
正态分布概率密度分布公式:
正则化
什么是正则化?有哪几种形式?作用是什么?
机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作L1-norm和L2-norm,中文称作L1正则化和L2正则化,或者L1范数和L2范数。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归)
概念:
L1正则化是指权值向量绝对值之和,通常表示为$||w||_1$
L2正则化是指全职向量w中各个元素的平方和让后再求平方根,通常表示为$||w||_2$
作用:
L1正则化可产生稀疏权值矩阵,即产生一个稀疏模型,可用用于特征选择
L2正则化主要用于防止过拟合
使用:
- Python中Lasso回归的损失函数,式中加号后面一项α||w||1即为L1正则化项。
Python中Ridge回归的损失函数,式中加号后面一项α||w||22 即为L2正则化项
L1正则化
L1正则化的标准形式:
其中J0是原始的损失函数,加好后面是L1正则化项。机器学习的最终目就是找出损失函数的最小值,当我们在原本的损失函数后面加上L1正则化后,相当于对J0做了一个约束,另L1正则化项等于L,则 J=J0+L,任务转化为在L1的约束下求J0最小值的解。 考虑二维情况,即只有两个权值w1和w2,此时L=|w1|+|w2|,对于梯度下降算法,求解j0的过程中画出等值线,同时将L1正则化的函数L也在w1、w2空间化出来,二者图像首次相交处即为最优解,获得下图:
从图中可看出j0与L相交于L的一个顶点处,这个顶点即为最优解。注意这个顶点的值为(w1,w2)=(0,w),可以想象,在更多维的情况下,L将会有很多突出的角,而J与这些叫接触的几率将远大于与L其他部位接触的概率,而这些角上将会有许多权值为0,从而产生系数矩阵,进而用于特征选择。
L2正则化
L2正则化的标准形式
和L1正则化相同,任务转化为在L2的约束下求J0最小值的解。考虑二维情况,即只有两个权值w1和w2,此时L=|w1|+|w2|,对于梯度下降算法,求解j0的过程中画出等值线,同时将L1正则化的函数L也在w1、w2空间化出来,二者图像首次相交处即为最优解,获得下图:
机器学习过程中为什么要让权值尽可能小?
当参数很大时,只要数据偏移一点点,就会对结果造成很大的影响,如果参数较小,则数据偏移的多一点,也不会对结果产生多大的影响,抗扰动能力强
为什么L2正则化可以使权值尽可能小?
对于损失函数不带L2正则化项的梯度下降时参数更新公式为:
加入L2正则化项,参数更新公式为:
根据两个公式之间的差别,我们可以明显的看到,加入正则化以后的梯度下降在进行参数更新时,要先将原有的参数值乘以一个小于1的值,因此权值也会变得比不带的参数小