Machine Learning-Andrew Ng 课程第三周——Logistic Regression

本文深入探讨Logistic Regression的基础,包括其作为分类方法的原因、Sigmoid函数的意义以及梯度下降的推导。同时,讨论了正则化的初衷和影响,以及在Logistic Regression中正则化成本函数的细节,强调了θ0不参与正则化的要点。
摘要由CSDN通过智能技术生成

1.关于Logistic Regression的一些基本问题

(1) Logistic Regression的名字

虽然字面上Logistic Regression是一种回归方法,但实际上,它是一种分类(Classification) 方法。

(2) 假设 h θ ( x ) h_\theta(\mathbf{x}) hθ(x)的内在含义

在Logistic Regression回归中,假设函数的形式如下:
h θ ( x ) = 1 1 + e − θ T x h_\theta(\mathbf{x})=\frac{1}{1+e^{-\theta^T\mathbf{x}}} hθ(x)=1+eθTx1
这就是所谓的Logistic函数或者Sigmoid函数。
在这里插入图片描述
该函数的值域是(0,1),可以将其输出解释为:对于输入 x \mathbf{x} x h θ ( x ) h_\theta(\mathbf{x}) hθ(x)是该输入所对应输出 y = 1 y=1 y=1的概率

(3) Logistic Regression的梯度下降推导

先说结论:Logistic Regression的参数更新表达式在形式上和线性回归是一样的,只不过假设 h θ ( x ) h_\theta(x) hθ(x)的形式不同,接下来是推导过程:
θ j : = θ j − α ∂ J ( θ ) ∂ θ j \theta_j:=\theta_j-\alpha\frac{\partial J(\theta)}{\partial \theta_j} θj:=θjαθjJ(θ)
J ( θ ) = − 1 m ∑ i = 1 m [ y ( i ) log ⁡ ( h θ ( x ( i ) ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − h θ ( x ( i ) ) ) ] J(\theta)=-\frac{1}{m}\sum_{i=1}^m{[y^{(i)}\log(h_\theta(x^{(i)}))+(1-y^{(i)})\log(1-h_\theta(x^{(i)}))]} J(θ)=m1i=1m[y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i)))] # 关于为什么 J ( θ ) J(\theta) J(θ)这样表示,这里就不赘述了,详情参见吴恩达的机器学习课程。
∴ ∂ J ( θ ) ∂ θ j = − 1 m ∑ i = 1 m [ y ( i ) 1 h θ ( x ( i ) ) ∂ h θ ( x ( i ) ) ∂ θ j − ( 1 − y ( i ) ) 1 1 − h θ ( x i ) ∂ h θ ( x ( i ) ) ∂ θ j ] = − 1 m ∑ i = 1 m [ y ( i ) ( 1 − e − θ T x ( i ) ) ( − x j ( i ) e − θ T x ( i ) ( 1 − e − θ T x ( i ) ) 2 ) − ( 1 − y ( i ) ) 1 − e − θ T x ( i ) − e − θ T x ( i ) ( ( − x j ( i ) e − θ T x ( i ) ( 1 − e − θ T x ( i ) ) 2 ) ) ] = − 1 m ∑ i = 1 m [ − y ( i ) x j ( i ) e − θ T x ( i ) 1 − e − θ T x ( i ) − ( 1 − y ( i ) ) x j ( i ) 1 − e − θ T x ( i ) ] = − 1 m ∑ i = 1 m x j ( i ) ( y ( i ) ( 1 − e θ T x ( i ) ) − 1 ) 1 − e θ T x ( i ) = 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i ) \therefore \frac{\partial J(\theta)}{\partial \theta_j}=-\frac{1}{m}\sum_{i=1}^m{[y^{(i)}\frac{1}{h_\theta(x^{(i)})}\frac{\partial h_\theta(x^{(i)})}{\partial \theta_j}-(1-y^{(i)})\frac{1}{1-h_\theta(x^{i})}\frac{\partial h_\theta(x^{(i)})}{\partial \theta_j}]} \\=-\frac{1}{m}\sum_{i=1}^m{[y^{(i)}(1-e^{-\theta^Tx^{(i)}})(-\frac{x^{(i)}_je^{-\theta^Tx^{(i)}}}{(1-e^{-\theta^Tx^{(i)}})^2})-(1-y^{(i)})\frac{1-e^{-\theta^Tx^{(i)}}}{-e^{-\theta^Tx^{(i)}}}((-\frac{x^{(i)}_je^{-\theta^Tx^{(i)}}}{(1-e^{-\theta^Tx^{(i)}})^2}))]} \\=-\frac{1}{m}\sum_{i=1}^m{[\frac{-y^{(i)}x^{(i)}_je^{-\theta^Tx^{(i)}}}{1-e^{-\theta^Tx^{(i)}}}-\frac{(1-y^{(i)})x_j^{(i)}}{1-e^{-\theta^Tx^{(i)}}}]} \\=-\frac{1}{m}\sum_{i=1}^m{\frac{x_j^{(i)}(y^{(i)}(1-e^{\theta^Tx^{(i)}})-1)}{1-e^{\theta^Tx^{(i)}}}} \\=\frac{1}{m}\sum_{i=1}^m{(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}} θjJ(θ)=m1i=1m[y(i)hθ(x(i))1θjhθ(x(i))(1y(i))1hθ(xi)1θjhθ(x(i))]=m1i=1m[y(i)(1eθTx(i))((1eθTx(i))2xj(i)eθTx(i))(1y(i))eθTx(i)1eθTx(i)(((1eθTx(i))2xj(i)eθTx(i)))]=m1i=1m[1eθTx(i)y(i)xj(i)eθTx(i)1eθTx(i)(1y(i))xj(i)]=m1i=1m1eθTx(i)xj(i)(y(i)(1eθTx(i))1)=m1i=1m(hθ(x(i))y(i))xj(i)
可以看出,Logistic Regression的参数更新表达式在形式上和线性回归是一样的。

2.关于正则化的一些基本问题

(1) 正则化的初衷

我的理解是:因为不知道哪些项会导致过拟合,所以干脆将所有系数变小。(虽然这样的方法比较粗暴,但是管用啊!)(当然,正则化系数也不能太大,否则反而会造成欠拟合)

(2) 关于添加特征和运用正则化后的模型预测效果

这一点是从课程测验里总结出来的:

  • 添加一个新特征, h θ ( x ) h_\theta(\mathbf{x}) hθ(x)在训练集数据上会表现得更好(这个很好理解,添加特征能使模型更加拟合训练集数据,但是对于新数据会导致更加严重的过拟合)
  • 运用正则化后, h θ ( x ) h_\theta(\mathbf{x}) hθ(x)在预测新数据时表现得不一定更好(说不定本来就拟合得很好,结果用了正则化,所有系数变小,反而不如正则化之前的表现了)

(3) 关于Logistic Regression的cost function正则化表达式

这一条是在我做完本章作业之后加上的,因为自己忘记了一个很重要的细节:
Logistic Regression的正则化cost function如下:
J ( θ ) = − 1 m ∑ i = 1 m [ y ( i ) log ⁡ ( h θ ( x ( i ) ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − h θ ( x ( i ) ) ) ] + λ 2 m ∑ j = 1 n θ j 2 J(\theta)=-\frac{1}{m}\sum_{i=1}^m{[y^{(i)}\log(h_\theta(x^{(i)}))+(1-y^{(i)})\log(1-h_\theta(x^{(i)}))]}+\frac{\lambda}{2m}\sum_{j=1}^{n}{\theta_j^2} J(θ)=m1i=1m[y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i)))]+2mλj=1nθj2
重点就在于后面的正则项!!! θ 0 \theta_0 θ0不进行正则化所以正则项里并没有包含 θ 0 \theta_0 θ0。但是在matlab的矩阵中是从theta(1)开始的,所以我在参照公式编程的时候忘记正则项里并没有包含 θ 0 \theta_0 θ0 这一点!!!浪费了我好长时间。

一定要记住这个教训!

机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值