===================================正则化=======================
记得在logistic回归那一节课中,当时我对取似然函数
L(θ)=∏P(yi|xI;θ)
这一步是不理解的。因为我觉得优化函数应该是这样的:
maxθP(θ|x,y)
,即给定训练集合
{x,y}
时,可能性最大的
θ
。
很幸运的是,这一节课解答了我的疑问。
因为
P(θ|x,y)=P(x,y|θ)P(θ)P(x,y)=P(y|x,θ)P(x)P(θ)P(y|x)P(x)=P(y|x,θ)P(θ)P(y|x)
其中调整
θ
不会改变
P(y|x)
因此
argmaxθ P(θ|x,y)=argmaxθ ∏i=1mP(yi|xi,θ)P(θ)
可以看到,与logistic回归相比,优化函数仅仅多了一项
P(θ)
。
为了计算方便,一般会对连乘的优化函数取对数,即
argmaxθ ∑i=1mlogP(yi|xi,θ)+logP(θ)
先验概率
P(θ)
一般取高斯分布或拉普拉斯分布
高斯分布:
12π√σexp(−(x−μ)22σ2)
拉普拉斯分布:
12√σexp(−2√σ|x|)
使用
N(0,σ2)
高斯分布时,用e做对数的底,
logP(θ)=log12π√σ−θ22σ2
,在优化时,只有后一项起作用,即
−θ22σ2=λθ2
,称为2范数正则化。
使用拉普拉斯分布时,同样用e做对数的底,
logP(θ)=log12√σ−2√σ|θ|
,同样,在优化时,只有后一项起作用,即
2√σ|θ|=λ|θ|
,称为1范数正则化。
加入期望值为0的高斯分布或者拉普拉斯分布作为先验概率,正则化要求参数尽可能接近0,使得部分的特征效果减弱,降低过拟合的风险。特别的,1范数还有使特征稀疏的效果。
===========================机器学习应用的建议==================
当我们的机器学习算法出现问题时,解决的一般思路是:
1 先看偏差是否达到我们的要求,如果偏差过大,则说明可能(1)模型弱了(2)目标函数不能反映真实的需求(3)优化方法有问题,如过早结束训练等
2 如果偏差达到了我们的要求,再看方差是否和偏差相近。如果偏差距离方差远,则说明可能,对于训练样本,模型过强。解决办法是(1)降低模型复杂度,但这有可能增大偏差(2)应用正则化(3)提前结束训练等
======================误差分析和消蚀分析============================
误差分析和消蚀分析和前面笔记中的特征分析方法很相似,特征分析方法是判断某个特征对模型能力的影响力的大小,从而剔除无用的特征,而误差分析和消蚀分析是判断机器学习某个步骤或某个组成部分对模型能力的影响力的大小,从而剔除无用的步骤或组成部分。算法的思路相似。
值得注意的是,跟特征分析方法相同,因为各个步骤或组成部分相互影响,因此误差分析和消蚀分析对选取步骤或组成部分的顺序敏感,需要多次实验。
=========================机器学习通用方法=======================
两种方法:
1 精心设计,慢工出细活。这种方法适用于对项目从头到尾都了然于胸的老手。
2quick and dirty 方法。先快速建立模型,然后通过一步步修改,得到最终的模型。对于一个又挑战性的项目,这种方法比较合适。
吴恩达说,他个人比较喜欢第二种方法。