Machine Learning_Ng 第6讲 逻辑回归

1.什么是逻辑回归

线性回归中,输入和输出呈线性关系,且输出连续。可表示为:$$h_\theta(x)=\theta_0+\theta_1x$$

而逻辑回归,输出值离散,且永远在0到1之间。可表示为$$h_\theta(x)=g(\theta^TX)=\frac{1}{1+e^{-\theta^TX}}$$其中X代表特征向量,g代表逻辑函数(logistic function),常采用S形函数(Sigmoid function),公式为$g(z)=\frac{1}{1+e^{-z}}$

$h_\theta(x)$的作用是,对于给定的输入变量,根据选择的参数计算输出变量=1 的可能性(estimated probablity)即$h_\theta(x)=P(y|x;\theta)$。例如,如果对于给定的x,通过已经确定的参数计算得出hθ(x)=0.7,则表示有70%的几率y为正向类,有30%的几率y为负向类。

image

逻辑回归的假设函数$h_\theta(x)$,可用于决策边界(Decision Boundary),如采用上述S形图像可知:

(1)z≥0时,g(z)≥0.5,此时$h_\theta(x)$≥0.5,预测y=1;

(2)z<0时,g(z)<0.5,此时$h_\theta(x)$<0.5,预测y=0。

imageimage

 

2.逻辑回归的代价函数

线性回归中,我们定义代价函数为所有模型误差的平方和,即$$J(\theta)=\frac{1}{m}\sum_{i=1}^{m}((h_\theta(x^{(i)})-y^{(i)})^2$$如果我们直接沿用这个定义,并将$h_\theta(x)=g(\theta^TX)=\frac{1}{1+e^{-\theta^TX}}$带入,得到的代价函数是一个非凸函数(non-convex function),存在很多局部最小值,利用梯度下降法寻找局部最小值时特别困难。

imageimage

因此,我们重新定义逻辑回归代价函数为$$J(\theta)=\frac{1}{m}\sum_{i=1}^{m}Cost(h_\theta(x^{(i)}),y^{(i)})$$$$Cost(h_\theta(x^{(i)}),y^{(i)})=\begin{cases}-log(h_\theta(x)) &if \quad y=1\\-log(1-h_\theta(x)) & if \quad y=0\\
\end{cases}=-y*log(h_\theta(x))-(1-y)*log(1-h_\theta(x))$$$$因此,逻辑回归代价函数为 \quad J(\theta)=\frac{1}{m}\sum_{i=1}^{m}Cost(h_\theta(x^{(i)}),y^{(i)})=-\frac{1}{m}[\sum_{i=1}^{m}-y*log(h_\theta(x^{(i)}))-(1-y^{(i)})*log(1-h_\theta(x^{(i)}))]$$Python实现代码为:

1 Import numpy as np
2 def cost(theta, X, y):
3     theta = np.matrix(theta)
4     X = np.matrix(X)
5     y = np.matrix(y)
6     first = np.multiply(-y, np.log(sigmoid(X * theta.T)))
7     second = np.multiply((1 - y), np.log(1 - sigmoid(X * theta.T)))
8     return np.sum(first - second) / (len(X))

最小化代价函数的方法,一般使用梯度下降法。即

imageimage

image

(注:$\alpha$后面少了个$\frac{1}{m}$吧??)

特征缩放既适用于线性回归,也适用于逻辑回归。当特征范围较大时,应用特征缩放,可以加快梯度收敛速度

 

3.分类问题

(1)二元分类问题(Binary Classification)

image

(2)多元分类问题(Multiclass classification)

多元分类,即一对多/一对余分类问题(One-vs-all/One-vs-rest),解决方法为:将多元分类拆解为多个二元分类问题,创建伪训练集,为每一类训练一个逻辑回归分类器,得到一系列模型$h_\theta^{(i)}(x)=P(y=i|x;\theta)$。当我们需要预测时,我们将所有的分类器运行一遍,然后对每一个输入变量,都选择最高可能性的输出变量,即选择使$h_\theta^{(i)}(x)$最大的i

imageimage

posted @ 2019-01-02 21:20  清风与归_G  阅读(419)  评论(0编辑  收藏  举报