吴恩达机器学习笔记

使用正则化避免过度拟合

1.过度拟合

左:拟合不足(高偏差)
右:过度拟合(高方差)

要解决过度拟合问题:

1)减少特征数量:

人工选择

使用模型选择算法

2)正则化

保留所有特征,但减小参数的大小Ĵ

当我们具有许多稍微有用的功能时,正则化效果很好

2.正则化(Regularized)

所谓正则化,既是规则化,给原来的Cost Function添加一个规则,对theta的总大小进行控制,以避免过度拟合。Regularized Cost Function:

 λ(or lambda),称为正则化参数,它确定了我们theta参数的成本被夸大了多少。如果lambda太大则导致欠拟合,太小则导致过拟合(极端情况lambda=0,相当于没有正则化)。

要注意:上式中惩罚的theta不包括theta0。因此,梯度的计算表达式theta0和其他theta不同:

对于线性回归而言,应用了正则化之后梯度下降法中参数的迭代:

标准方程法的计算公式:

另外附上作业中用matlab编写的计算Cost Function和梯度函数的代码,这里Cost Function错了很多次,原因是没有搞明白怎么不惩罚theta0

temp = 1/m * (-y' * log(sigmoid(X * theta)) - (1-y)' * log(1 -  sigmoid(X * theta)));
J = temp +(lambda/(2 * m)) * (theta(2:end)') * theta(2:end);
grad = 1/m * X' * (sigmoid(X * theta) - y) + (lambda /m) * theta;
grad(1) = 1/m * (X(:,1))' * (sigmoid(X * theta) - y );

发表评论

电子邮件地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据