#Regulation
(1) 过拟合问题

  • ⭐️对过拟合的理解:
    • 本质可以理解成数据集噪声对整个数据拟合时造成的泛化性下降。
      \quad比如让机器来识别甜甜圈,一开始提供的特征为圆的、中间有一个空洞,这时机器就会对甜甜圈进行一个基本的判断。但是,当又加入特征,比如带有黑色的(黑巧克力)之后,机器反而对甜甜圈的识别率下降了,当有一个白巧克力的甜甜圈出现时,机器就会识别不出来,最终导致机器只是完美的通过了每个数据点但是却无法进行预测。
    • \quad对于机器来说,样本一方面具有共性的特征,另一方面又具有特性的特征,就好像甜甜圈的颜色本身对“是否为甜甜圈?”这个命题没有影响,甜甜圈本身的颜色就是它的特性,如果机器在学习过程中太“在意”这个特征时就会导致过拟合现象的产生。
  • 下面从数学函数角度来说明:
    • 对于Liner RegressionLiner Regression问题
      吴恩达课程中的正则化
      对于图1来说这是欠拟合状态,对于图2来说,这是比较好的拟合状态,对图三来说,这是过拟合状态。
    • 对于Logistic RegressionLogistic Regression问题
      吴恩达课程中的正则化
  • 过拟合问题的解决方案:
    1️⃣ 由过拟合产生的原因可以提出第一种解决方法,精挑细选特征,尽量减少非共性特征的数量。
    2️⃣ 使用正则化方法,对机器的学习进行一定的限制。

(2) 代价函数

  • 对于这个函数来说,只要使θ3\theta_3θ4\theta_4的值足够小就不会对函数的拟合产生太大影响了,因此这里可以考虑给θ3\theta_3θ4\theta_4添加一个惩罚项。
    例如:J(θ)=12m[i=1m(hθ(x(i))y(i))2+1000θ32+1000θ42]J(\theta) = \dfrac{1}{2m}[\sum\limits_{i=1}^m \left( h_{\theta}(x^{(i)})-y^{(i)} \right)^{2}+1000\theta_3^2+1000\theta_4^2]
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tPyl87bG-1574592081312)(1.png)]
  • 当不知道哪个θ\theta是产生过拟合的原因时,就对所有的θ\theta进行惩罚,让所有的θ\theta值都减小。
    J(θ)=12m[i=1m(hθ(x(i))y(i))2+λj=1nθj2]J(\theta) = \dfrac{1}{2m}[\sum\limits_{i=1}^m \left( h_{\theta}(x^{(i)})-y^{(i)} \right)^{2}+\lambda\sum\limits_{j=1}\limits^{n}\theta_j^2]
    λ\lambda 称为正则化参数,并且要注意,惩罚是从θ1\theta_1开始的,一般不对θ0\theta_0进行惩罚。
    吴恩达课程中的正则化
  • 注意:参数 λ\lambda 的选择要合适,否则会导致最后θ1,,θn\theta_1,\dots,\theta_n都被惩罚到接近0,最后就是一条直线了。

(3)线性回归的正则化

  • 梯度下降
    • Repeat {
      θ0:=θ0α1mi=1m(hθ(x(i))y(i)){\theta_{0}}:={\theta_{0}} -\alpha\dfrac{1}{m}\sum\limits_{i=1}^{m}{ \left({{h}_{\theta }}({{x}^{(i)}})-{{y}^{(i)}} \right)}
       
      θj:=θjα1m[i=1m((hθ(x(i))y(i))xj(i))+λθj]{\theta_{j}}:={\theta_{j}}-\alpha\dfrac{1}{m}[\sum\limits_{i=1}^{m}{\left( \left({{h}_{\theta }}({{x}^{(i)}})-{{y}^{(i)}} \right)\cdot {{x}^{(i)}_j} \right)}+\lambda\theta_j]
      } (i=1,2,,n)(i=1,2,\dots,n)
    • 整理后可得:
      θj:=(1αλm)θjα1mi=1m((hθ(x(i))y(i))xj(i)){\theta_{j}}:=(1-\dfrac{\alpha\lambda}{m}){\theta_{j}}-\alpha\dfrac{1}{m}\sum\limits_{i=1}^{m}{\left( \left({{h}_{\theta }}({{x}^{(i)}})-{{y}^{(i)}} \right)\cdot {{x}^{(i)}_j} \right)}
      可以看出,由于λ,α,m\lambda,\alpha,m均为正值,θj\theta_j必定是减小的。
  • 正规方程
    吴恩达课程中的正则化
    矩阵的尺寸为(n+1)(n+1)(n+1)*(n+1)

(4)逻辑回归的正则化

  • 代价函数
    J(θ)=1mi=1m[y(i)log(hθ(x(i)))(1y(i))log(1hθ(x(i)))]+λ2mj=1nθj2J\left( \theta \right)=\dfrac{1}{m}\sum\limits_{i=1}^{m}{[-{{y}^{(i)}}\log \left( {h_\theta}\left( {{x}^{(i)}} \right) \right)-\left( 1-{{y}^{(i)}} \right)\log \left( 1-{h_\theta}\left( {{x}^{(i)}} \right) \right)]}+\dfrac{\lambda }{2m}\sum\limits_{j=1}^{n}{\theta _{j}^{2}}
  • 求导后的梯度下降函数为
    RepeatRepeat untiluntil convergenceconvergence{
    θ0:=θ0a1mi=1m((hθ(x(i))y(i))x0(i)){\theta_0}:={\theta_0}-a\dfrac{1}{m}\sum\limits_{i=1}^{m}{(({h_\theta}({{x}^{(i)}})-{{y}^{(i)}})x_{0}^{(i)}})
     
    θj:=θja[1mi=1m(hθ(x(i))y(i))xj(i)+λmθj]{\theta_j}:={\theta_j}-a[\dfrac{1}{m}\sum\limits_{i=1}^{m}{({h_\theta}({{x}^{(i)}})-{{y}^{(i)}})x_{j}^{\left( i \right)}}+\dfrac{\lambda }{m}{\theta_j}]
    forfor j=1,2,...nj=1,2,...n
    }
  • matlab代码
    function[jVal,gradient]=costFunction(theta)function [jVal, gradient]=costFunction(theta)
    jVal=[J];\qquad jVal=[J的函数的表达式];
    gradient=;\qquad gradient=一个初始值;
    gradient(1)=J(θ)θ0;\qquad gradient(1)=\dfrac{\partial J(\theta)}{\partial \theta_0};
     
    gradient(2)=J(θ)θ1;\qquad gradient(2)=\dfrac{\partial J(\theta)}{\partial \theta_1};
    \qquad \dots
    gradient(n+1)=J(θ)θn;\qquad gradient(n+1)=\dfrac{\partial J(\theta)}{\partial \theta_n};

相关文章: