逻辑回归(吴恩达机器学习笔记)

1.分类问题

 在分类问题中,要预测的变量y是一个离散的值,尝试预测的结果是否属于某一个类,如:判断一封电子邮件是否是垃圾邮箱,区分一个肿瘤是恶性的还是良性的。
 我们将因变量可能属于的两个类分别称为负向类和正向类,则因变量y∈0,1,其中0表示负向类,1表示正向类。

2.假说表示

 ,在逻辑回归中我们引入一个新的模型,该模型的输出变量范围始终在0和1之间。逻辑回归的假设是: h θ ( x ) = g ( θ T X ) h_{\theta}(x)=g(\theta^{T}X) hθ(x)=g(θTX),其中x代表特征向量,g代表逻辑函数(常用的一个逻辑函数为s型函数(Sigmoid function)),公式为: g ( z ) = 1 1 + e − z g(z)=\frac{1}{1+e^{-z}} g(z)=1+ez1.该函数图形为:逻辑回归(吴恩达机器学习笔记)_第1张图片
h θ ( x ) h_{\theta}(x) hθ(x)表示根据选择的参数模型计算出输出值为1的概率,即 h θ ( x ) = P ( y = 1 ∣ x ; θ ) h_{\theta}(x)=P(y=1|x;\theta) hθ(x)=P(y=1x;θ)

3.判定边界

 在逻辑回归中,我们预测:
h θ ( x ) > = 0.5 h_{\theta}(x)>=0.5 hθ(x)>=0.5时,预测y=1.
h θ ( x ) < 0.5 h_{\theta}(x)<0.5 hθ(x)<0.5时,预测y=0.
根据S型函数的图像可知:
z=0,g(z)=0.5;
当z>0,g(z)>0.5,
当z<0,g(z)<0.5;
由于z= θ T X \theta^{T}X θTX,所以当 θ T X > = 0 \theta^{T}X>=0 θTX>=0时,y=1,当 θ T X < 0 \theta^{T}X<0 θTX<0时,y=0;
假设有一个模型: h θ ( x ) = g ( θ 0 + θ 1 x 1 + θ 2 x 2 ) h_{\theta}(x)=g(\theta_{0}+\theta_{1}x_{1}+\theta_{2}x_{2}) hθ(x)=g(θ0+θ1x1+θ2x2),我们假设 θ 0 = − 3 \theta_{0}=-3 θ0=3,则 h θ ( x ) > 0.5 , 只 需 h_{\theta}(x)>0.5,只需 hθ(x)>0.5,x_{1}+x_{2}>3$。则在图中画出该线,这条线便是我们的模型的分界线,称为判断边界。
逻辑回归(吴恩达机器学习笔记)_第2张图片

4.代价函数

 在线性回归中,使用了均方误差作为代价函数,理论来说可以在此处也使用该模型。但是由于 h θ ( x ) = 1 1 + e − θ T x h_{\theta}(x)=\frac{1}{1+e^{-\theta^{T}x}} hθ(x)=1+eθTx1,该函数不是一个凸函数,则会有许多局部最小值,会影响梯度下降法寻找全局最小值。
逻辑回归(吴恩达机器学习笔记)_第3张图片
 所以我们重新定义逻辑回归的代价函数:
J ( θ ) = 1 m ∑ i = 1 m 1 2 C o s t ( h θ ( x ( i ) ) , y ( i ) ) J(\theta)=\frac{1}{m}\sum_{i=1}^{m}\frac{1}{2}Cost(h_{\theta}(x^{(i)}),y^{(i)}) J(θ)=m1i=1m21Cost(hθ(x(i)),y(i))其中:
逻辑回归(吴恩达机器学习笔记)_第4张图片
h θ ( x ) h_{\theta(x)} hθ(x)与Cost ( h θ ( x ) , y ) (h_{\theta(x)},y) (hθ(x),y)之间的函数关系为:逻辑回归(吴恩达机器学习笔记)_第5张图片
逻辑回归(吴恩达机器学习笔记)_第6张图片
由于y为离散型变量,故Cost可化简为:
在这里插入图片描述
将其带入到代价函数中得:
逻辑回归(吴恩达机器学习笔记)_第7张图片

5.应用梯度下降法

 在找出代价函数后,需要找出 J ( θ ) J(\theta) J(θ)的最小值,此时的参数 θ \theta θ就是要拟合出的合适的参数。于是我们可以使用梯度下降法来最小化代价函数。
 首先对代价函数求偏导:
∂ ∂ J ( θ ) = 1 m ∑ i = 1 m ( h θ ( x ( i ) − y ( i ) ) x j ( i ) \frac{\partial}{\partial J(\theta)}=\frac{1}{m}\sum_{i=1}^{m}{(h_{\theta}(x^{(i)}-y^{(i)})}x_{j}^{(i)} J(θ)=m1i=1m(hθ(x(i)y(i))xj(i)
 运用梯度下降法,同时更新各参数 θ \theta θ的值:
θ j = θ j − α 1 m ∑ i = 1 m ( h θ ( x ( i ) − y ( i ) ) x j ( i ) \theta_{j}= \theta_{j}-\alpha\frac{1}{m}\sum_{i=1}^{m}{(h_{\theta}(x^{(i)}-y^{(i)})}x_{j}^{(i)} θj=θjαm1i=1m(hθ(x(i)y(i))xj(i)
θ = [ θ 0 θ 1 . . . θ n ] \theta=\left[\begin{matrix}\theta_{0}\\\theta_{1}\\...\\\theta_{n}\end{matrix}\right] θ=θ0θ1...θn

6.多类别分类:一对多

逻辑回归(吴恩达机器学习笔记)_第8张图片
 3 种不同的符号来代表 3 个类别,对于多个类别分类问题,可以将其转换为二分类问题。首先从三角形的类别开始,可以创建一个新的为训练集,将类别2和类别3定位负向类,类别1定义为正向类,则可以拟合出一个合适的模型。对于类别2和类别3同样如此操作,则最终可以得到三个分类模型。对于同一个输入,其输出结果就是三种模型中概率值最高的那个。

你可能感兴趣的:(机器学习,逻辑回归,机器学习,算法)