文章目录



六、逻辑回归(Logistic Regression)


6.1 分类问题


  • 逻辑回归算法的性质是:它的输出值永远在0到 1 之间。
  • 逻辑回归算法实际上是一种分类算法,它适用于标签(吴恩达)3.逻辑回归、正则化_分类算法取值离散的情况

6.2 假说陈述


引入一个新的模型,逻辑回归,该模型的输出变量范围始终在0和1之间。
逻辑回归模型的假设是: (吴恩达)3.逻辑回归、正则化_机器学习_02
其中:

  • (吴恩达)3.逻辑回归、正则化_逻辑回归_03
  • (吴恩达)3.逻辑回归、正则化_人工智能_04代表逻辑函数(logistic function)是一个常用的逻辑函数为S形函数(Sigmoid function),公式为:(吴恩达)3.逻辑回归、正则化_逻辑回归_05

该函数的图像为:

(吴恩达)3.逻辑回归、正则化_分类算法_06

对模型的理解: (吴恩达)3.逻辑回归、正则化_人工智能_07

(吴恩达)3.逻辑回归、正则化_分类算法_08的作用是,对于给定的输入变量,根据选择的参数计算输出变量=1的可能性(estimated probablity)即(吴恩达)3.逻辑回归、正则化_机器学习_09


6.3 决策界限


现在假设有一个模型:

(吴恩达)3.逻辑回归、正则化_逻辑回归_10

并且参数(吴恩达)3.逻辑回归、正则化_正则化_11 是向量[-3 1 1]。 则当(吴恩达)3.逻辑回归、正则化_正则化_12,即(吴恩达)3.逻辑回归、正则化_逻辑回归_13时,模型将预测 (吴恩达)3.逻辑回归、正则化_人工智能_14
可以绘制直线(吴恩达)3.逻辑回归、正则化_分类算法_15,这条线便是我们模型的分界线,将预测为1的区域和预测为 0的区域分隔开。


6.4 代价函数


逻辑回归的代价函数为:(吴恩达)3.逻辑回归、正则化_人工智能_16,其中

(吴恩达)3.逻辑回归、正则化_人工智能_17

(吴恩达)3.逻辑回归、正则化_人工智能_18(吴恩达)3.逻辑回归、正则化_逻辑回归_19之间的关系如下图所示:

(吴恩达)3.逻辑回归、正则化_逻辑回归_20

构建的(吴恩达)3.逻辑回归、正则化_逻辑回归_21函数的特点是:当实际的 (吴恩达)3.逻辑回归、正则化_正则化_22(吴恩达)3.逻辑回归、正则化_分类算法_23也为 1 时误差为 0,当 (吴恩达)3.逻辑回归、正则化_正则化_22(吴恩达)3.逻辑回归、正则化_分类算法_23不为1时误差随着(吴恩达)3.逻辑回归、正则化_分类算法_23变小而变大;当实际的 (吴恩达)3.逻辑回归、正则化_分类算法_27(吴恩达)3.逻辑回归、正则化_分类算法_23也为 0 时代价为 0,当(吴恩达)3.逻辑回归、正则化_分类算法_27(吴恩达)3.逻辑回归、正则化_分类算法_23不为 0时误差随着 (吴恩达)3.逻辑回归、正则化_分类算法_23的变大而变大。

将构建的 (吴恩达)3.逻辑回归、正则化_逻辑回归_19简化
(吴恩达)3.逻辑回归、正则化_分类算法_33

带入代价函数得到:
(吴恩达)3.逻辑回归、正则化_机器学习_34
即:(吴恩达)3.逻辑回归、正则化_人工智能_35

在得到这样一个代价函数以后,可以用梯度下降算法来求得能使代价函数最小的参数了。算法为:

Repeat {
(吴恩达)3.逻辑回归、正则化_人工智能_36
(simultaneously update all )
}

求导后得到:

Repeat {
(吴恩达)3.逻辑回归、正则化_逻辑回归_37
(simultaneously update all )
}

推导过程:

(吴恩达)3.逻辑回归、正则化_人工智能_35
考虑:
(吴恩达)3.逻辑回归、正则化_分类算法_39
则:
(吴恩达)3.逻辑回归、正则化_正则化_40
(吴恩达)3.逻辑回归、正则化_人工智能_41
(吴恩达)3.逻辑回归、正则化_机器学习_42

所以:
(吴恩达)3.逻辑回归、正则化_分类算法_43
(吴恩达)3.逻辑回归、正则化_机器学习_44
(吴恩达)3.逻辑回归、正则化_人工智能_45
(吴恩达)3.逻辑回归、正则化_正则化_46
(吴恩达)3.逻辑回归、正则化_分类算法_47
(吴恩达)3.逻辑回归、正则化_人工智能_48
(吴恩达)3.逻辑回归、正则化_正则化_49
(吴恩达)3.逻辑回归、正则化_逻辑回归_50
(吴恩达)3.逻辑回归、正则化_正则化_51

注:虽然得到的梯度下降算法表面上看上去与线性回归的梯度下降算法一样,但是这里的(吴恩达)3.逻辑回归、正则化_正则化_52与线性回归中不同,所以实际上是不一样的。另外,在运行梯度下降算法之前,进行特征缩放依旧是非常必要的。


6.5 多元分类:一对多


(吴恩达)3.逻辑回归、正则化_机器学习_53

(吴恩达)3.逻辑回归、正则化_机器学习_54

(吴恩达)3.逻辑回归、正则化_正则化_55


(吴恩达)3.逻辑回归、正则化_逻辑回归_56

(吴恩达)3.逻辑回归、正则化_机器学习_57


七、正则化(Regularization)


7.1 过拟合问题


  • 过度拟合问题:通过学习得到的假设可能能够非常好地适应训练集(代价函数可能几乎为0),但是可能会不能推广到新的数据。
  • 发现了过拟合问题,应该如何处理?
  1. 丢弃一些不能帮助我们正确预测的特征。可以是手工选择保留哪些特征,或者使用一些模型选择的算法来帮忙(例如PCA
  2. 正则化。 保留所有的特征,但是减少参数的大小(magnitude)。

7.2 代价函数


能防止过拟合问题的假设:(吴恩达)3.逻辑回归、正则化_机器学习_58

其中(吴恩达)3.逻辑回归、正则化_正则化_59又称为正则化参数(Regularization Parameter)。

如果选择的正则化参数(吴恩达)3.逻辑回归、正则化_分类算法_60 过大,则会把所有的参数都最小化了,导致模型变成 (吴恩达)3.逻辑回归、正则化_逻辑回归_61,也就是上图中红色直线所示的情况,造成欠拟合。
那为什么增加的一项(吴恩达)3.逻辑回归、正则化_机器学习_62 可以使$\theta $的值减小呢?
因为如果令 (吴恩达)3.逻辑回归、正则化_分类算法_60 的值很大的话,为了使Cost Function 尽可能的小,所有的 (吴恩达)3.逻辑回归、正则化_正则化_64 的值(不包括(吴恩达)3.逻辑回归、正则化_正则化_65)都会在一定程度上减小。
但若(吴恩达)3.逻辑回归、正则化_分类算法_60 的值太大了,那么(吴恩达)3.逻辑回归、正则化_正则化_64(不包括(吴恩达)3.逻辑回归、正则化_正则化_65)都会趋近于0,这样所得到的只能是一条平行于(吴恩达)3.逻辑回归、正则化_机器学习_69轴的直线。


7.3 线性回归的正则化


  • 正则化线性回归的代价函数为:
    (吴恩达)3.逻辑回归、正则化_人工智能_70
    如果要使用梯度下降法令这个代价函数最小化,因为我们未对(吴恩达)3.逻辑回归、正则化_机器学习_71进行正则化,所以梯度下降算法将分两种情形:
    (吴恩达)3.逻辑回归、正则化_逻辑回归_72 (吴恩达)3.逻辑回归、正则化_正则化_73 (吴恩达)3.逻辑回归、正则化_人工智能_74{
    (吴恩达)3.逻辑回归、正则化_分类算法_75
    (吴恩达)3.逻辑回归、正则化_正则化_76
    (吴恩达)3.逻辑回归、正则化_分类算法_77 (吴恩达)3.逻辑回归、正则化_人工智能_78
    }
    对上面的算法中(吴恩达)3.逻辑回归、正则化_正则化_79
    (吴恩达)3.逻辑回归、正则化_分类算法_80
    可以看出,正则化线性回归的梯度下降算法的变化在于,每次都在原有算法更新规则的基础上令(吴恩达)3.逻辑回归、正则化_逻辑回归_81值减少了一个额外的值。
  • 利用正规方程来求解正则化线性回归模型
    (吴恩达)3.逻辑回归、正则化_正则化_82
    矩阵尺寸为(吴恩达)3.逻辑回归、正则化_逻辑回归_83

7.4 正则化的逻辑回归模型


  • 逻辑回归
    给代价函数增加一个正则化的表达式,得到代价函数:
    (吴恩达)3.逻辑回归、正则化_机器学习_84
    要最小化该代价函数,通过求导,得出梯度下降算法为:
    (吴恩达)3.逻辑回归、正则化_逻辑回归_72 (吴恩达)3.逻辑回归、正则化_正则化_73 (吴恩达)3.逻辑回归、正则化_人工智能_74{
    (吴恩达)3.逻辑回归、正则化_分类算法_75
    (吴恩达)3.逻辑回归、正则化_人工智能_89
    (吴恩达)3.逻辑回归、正则化_分类算法_77 (吴恩达)3.逻辑回归、正则化_人工智能_78
    }

注:看上去同线性回归一样,但是知道 (吴恩达)3.逻辑回归、正则化_正则化_92,所以与线性回归不同。