李宏毅机器学习 Logistic Regression

逻辑回归的流程

1. 定义函数集合

李宏毅机器学习 Logistic Regression_第1张图片

李宏毅机器学习 Logistic Regression_第2张图片
函数集合示意图如下所示:

李宏毅机器学习 Logistic Regression_第3张图片

1.1 逻辑回归和线性回归的区别

逻辑回归相比线性回归而言,多了一个sigmoid函数,导致值域也会发生变化。
李宏毅机器学习 Logistic Regression_第4张图片

2. 定义损失函数

  给定数据以及 w w w b b b f ( x ) = P ( C 1 ∣ x ) f(x)=P(C_1|x) f(x)=P(C1x),生成数据的概率是:
L ( w , b ) = f ( x 1 ) f ( x 2 ) ( 1 − f ( x 3 ) ) … f ( x N ) L(w,b)=f(x^1)f(x^2)(1-f(x^3))\dots f(x^N) L(w,b)=f(x1)f(x2)(1f(x3))f(xN)

  根据极大似然估计,可以得到估计值 w ∗ w^* w b ∗ b^* b
李宏毅机器学习 Logistic Regression_第5张图片
  根据公式进行推导:

  1. 将求最大值通过加符号和log,转变为求最小值。
  2. L ( w , b ) L(w,b) L(w,b)进行展开。
  3. 由于0和1存在一定关系,将不同类别转变为同一个表达式,即
    y ∗ l o g ( f ( x ) ) + ( 1 − y ) ∗ l o g ( 1 − f ( x ) ) y*log(f(x))+(1-y)*log(1-f(x)) ylog(f(x))+(1y)log(1f(x))

  当y=1的时候,加号右边为0,当y=0的时候,加号左边为0,右边为 l o g ( 1 − f ( x ) ) log(1-f(x)) log(1f(x))。其中 f ( x ) f(x) f(x)对应的是 P ( C 1 ∣ x ) P(C_1|x) P(C1x),其中 1 − f ( x ) 1-f(x) 1f(x)对应的是 P ( C 0 ∣ x ) P(C_0|x) P(C0x)。显而易见的是由于 f ( x ) f(x) f(x) 1 − f ( x ) 1-f(x) 1f(x)的存在,所以只能针对二分类。
李宏毅机器学习 Logistic Regression_第6张图片

2.1 交叉熵

针对两个伯努利分布的交叉熵:
李宏毅机器学习 Logistic Regression_第7张图片

3. 寻找最优函数

李宏毅机器学习 Logistic Regression_第8张图片

3.1 逻辑回归

李宏毅机器学习 Logistic Regression_第9张图片
  在下图的公式推导中,注意的是对右边的求偏导的结果:
李宏毅机器学习 Logistic Regression_第10张图片

李宏毅机器学习 Logistic Regression_第11张图片

李宏毅机器学习 Logistic Regression_第12张图片

3.2 为什么不使用MSE

  对于类别为1的样本,无论是远离目标还是和目标很接近,计算出来的梯度都很小。
李宏毅机器学习 Logistic Regression_第13张图片
  对于类别为0的样本,无论是远离目标还是和目标很接近,计算出来的梯度都很小。

李宏毅机器学习 Logistic Regression_第14张图片
李宏毅机器学习 Logistic Regression_第15张图片

4. 生成式和判别式的区别

李宏毅机器学习 Logistic Regression_第16张图片
一般来说,判别式的效果会优化生成式:
李宏毅机器学习 Logistic Regression_第17张图片
生成式误判的具体例子:
李宏毅机器学习 Logistic Regression_第18张图片
李宏毅机器学习 Logistic Regression_第19张图片
  最终求得的[1, 1]所属Class 1的概率小于0.5
李宏毅机器学习 Logistic Regression_第20张图片
生成式的优势之处:

  1. 如果训练数据比较少,则使用生成式可能效果更好。
  2. 噪声对生成式的影响比较小。
  3. 先验概率和条件概率可以从不同的源进行评估。
    李宏毅机器学习 Logistic Regression_第21张图片

5. 多分类

softmax
李宏毅机器学习 Logistic Regression_第22张图片
多分类使用的损失函数依然是交叉熵,但标签y用的是one-hot向量。
李宏毅机器学习 Logistic Regression_第23张图片

6. 逻辑回归的缺陷

  无法直接对异或数据进行划分:
李宏毅机器学习 Logistic Regression_第24张图片

李宏毅机器学习 Logistic Regression_第25张图片
  通过核函数对输入数据进行转换,这里是把第一个特征转换为和(0, 0)点的距离,把第二个特征转换为和(1, 1)点的距离。然后就可以使用线性边界进行区分了。
李宏毅机器学习 Logistic Regression_第26张图片
  特征转换可以看作是多个逻辑回归的级联。Feature Transformation里面包含了两个逻辑回归,而classification包含了一个逻辑回归。
李宏毅机器学习 Logistic Regression_第27张图片
其中 x 1 x_1 x1指的是第一个特征,这张图里面的第一个 x 2 x_2 x2 z 2 z_2 z2应该是 x 1 x_1 x1 z 1 z_1 z1,写错了。

sigmoid = lambda x:1/(1+math.exp(-x))
sigmoid(-1) = 0.27

李宏毅机器学习 Logistic Regression_第28张图片
这个图整体有些问题,第一个 x 2 x_2 x2应该是 x 1 x_1 x1,参数应该也是一致的。即[-2, 2]、bias -1和[2, -2]、bias -1。
李宏毅机器学习 Logistic Regression_第29张图片

李宏毅机器学习 Logistic Regression_第30张图片
  逻辑回归串联起来可以解决非线性问题。
李宏毅机器学习 Logistic Regression_第31张图片
  每个小的单元可以看作是一个神经元:
李宏毅机器学习 Logistic Regression_第32张图片
补充:逻辑回归(二分类)推导:http://cs229.stanford.edu/notes/cs229-notes1.pdf,其中损失函数就是极大似然估计(MLE)的目标函数。

你可能感兴趣的:(李宏毅机器学习,逻辑回归)