第三周 逻辑回归

https://www.coursera.org/learn/machine-learning/home/week/3

Logistic Regression 介绍

逻辑回归在线性回归的基础上添加了一个 函数 $g$

函数 $g$ 是为了让最终的结果映射到 $[-1,1]$

$h_{\theta}(x)$ 的含义就是 $P(y=1|x;\theta)$,即样本结果为1的概率。对于二分类则有

$g$ 函数被称为 Logistic function 或者 Sigmoid function

所以

根据 Sigmoid function 图像可知 $z\ge0,h_{\theta}(x)\ge 0.5; z<0,h_{\theta}(x)< 0.5;$

所以等价于

Decision Boundary

类似线性回归的假设函数,逻辑回归的假设为

其中,$\theta_0 + \theta_1x_1 + \cdots + \theta_nx_n=0$ 称为决策边界(Decision Boundary),等于0 时,Sigmoid function 函数的概率值是 0.5

Non-linear Decision Boundaries

非线性时,则可以添加多项式来拟合

与线性回归时提到的一样,实际项目中,可以从 $x_1^2,x_2^2$ 是否有具体的含义入手。

Logistic Regression Model

基本概念

Tranning Set (m个):

n 个 feature, $x_0$ 为补充的列

y 的取值

假设函数

cost function

梯度(导数)

cost function 的由来

首先,机器学习的损失函数是人为设计的,用于评判模型好坏(对未知的预测能力)的一个标准、尺子,就像去评判任何一件事物一样,从不同角度看往往存在不同的评判标准,不同的标准往往各有优劣,并不冲突。唯一需要注意的就是最好选一个容易测量的标准,不然就难以评判了。其次,既然不同标准并不冲突,那使用最小二乘作为逻辑回归的损失函数当然是可以,那这里为什么不用最小二乘而用最大似然呢?请看一下最小二乘作为损失函数的函数曲线:

以及最大似然作为损失函数的函数曲线(最大似然损失函数后面给出):

很显然,图2比图1展现的函数要简单多了,很容易求到参数的最优解(凸函数),而图1很容易陷入局部最优解(非凸函数)。这就是前面说的选取的标准要容易测量,这就是逻辑回归损失函数为什么使用最大似然而不用最小二乘的原因了。

最大似然函数即为联合概率,实际含义为找到一个$\theta$,使得联合概率最大,即模型参数使得假设函数对所有样本的预测概率都接近正确。而最小二乘是所有样本的偏差距离和最小,两者目标本质是一致的,都是求所有样本的误差和尽可能小,而非评价单个样本的误差。

对于二分类问题,有分段函数($h_{\theta}(x)$ 始终代表样本结果为1的概率)

写成一个函数

则联合概率密度函数(等于似然函数)

则对数释然函数为

注意,对数释然函数的最大值就是最优参数,为了使用梯度下降,我们令 cost function 为

转换为求最小值的问题,同时增加一个$\frac{1}{m}$,变成本平均误差。

或者也可以使用梯度上升 $\theta=\theta+\alpha\frac{\partial J(\theta)}{\partial \theta}$ (不用对对数似然函数取负)

cost function 求导

Multiclass Classification

对于 k>2 种分类任务来说,需要分别训练 k 个二分类器,然后取最大的值

转换到高维空间

从sigmoid函数看出当$x\theta>0$时,$y=1$;否则$y=0$。$x\theta=0$是模型隐含的分类平面(在高维空间中,我们说是超平面)。所以说逻辑回归本质上是一个线性模型,但是,这不意味着只有线性可分的数据能通过LR求解,实际上,我们可以通过特征变换的方式把低维空间转换到高维空间,而在低维空间不可分的数据,到高维空间中线性可分的几率会高一些。下面两个图的对比说明了线性分类曲线和非线性分类曲线(通过特征映射)。

左图是一个线性可分的数据集,右图在原始空间中线性不可分,但是在特征转换 $[x_1,x_2]=>[x_1,x_2,x_1^2,x_2^2,x_1x_2]$后的空间是线性可分的,对应的原始空间中分类边界为一条类椭圆曲线。

Over Fitting

解决过拟合的办法:

当模型的参数过多时,很容易遇到过拟合的问题。这时就需要有一种方法来控制模型的复杂度,典型的做法在优化目标中加入正则项,通过惩罚过大的参数来防止过拟合

  • 减少 feature 数量
    • 人工选择出重要的特征
    • 使用一些算法选择出重要的特征
  • 加正则化项

L2 正则化

我们并不对$\theta_0$进行惩罚,$\lambda$表示惩罚程度,$2m$ 中的 2 是为了求导计算方便,m 是为了平衡与n(特征数)之前的关系。当m远大于n时,则正则项的影响很小(特征个数在效率足够时不需要考虑)。当 m 小于 n,或者不是远大于n时,则正则项的影响很大(施加惩罚),即样本不足时,不应该使用过多的特征。

则梯度变为(不带下标的$\theta,x$表示向量,带下标的$\theta,x$,表示第j个分量)


- - - - - - - - End Thank For Your Reading - - - - - - - -
0%