机器学习(三):逻辑回归
前面讲了 线性回归 和 梯度下降 我们已经能简单的解决一些 回归 问题了。
这一次我们就来聊聊 逻辑回归吧。
可能有人已经发现了 线性回归 和 逻辑回归 都带有 回归 两个字,想想之前所说的 回归 意味着模型最后返回一个 “值” ,但是在这边需要提醒一下我们要区分开 逻辑回归 和 线性回归。
线性回归:是一个典型的 回归 模型。
逻辑回归:是一个经典的 分类 模型。
那么为什么一个 分类 模型会取名为 回归 呢?
那么等到你理解了 逻辑回归 怎么来的以后你就会发现,其实逻辑回归是来源于线性回归的,只不过 逻辑回归 是将 线性回归 的回归问题转换为分类问题,这就是比较有意思的啦(还是那句话:计算机是门玄学)。
那么说了那么多,我们开始学习吧(开心点啦)
逻辑回归的引入
首先我们知道了线性回归返回的值范围在 ( − ∞ , + ∞ ) (-\infty,+\infty) (−∞,+∞) 内,而二分类算法结果我们可以简单看为 0或1
那么我们就可一想像将一个在 ( − ∞ , + ∞ ) (-\infty,+\infty) (−∞,+∞) 范围的值映射到 [0,1]
在此我们引入了 sigmod 函数
公式:
S i g m o i d ( Z ) = 1 1 + e − z Sigmoid(Z) = \frac 1{1+e^{-z}} Sigmoid(Z)=1+e−z1
我简单地去了解了下 sigmoid 函数的来源
首先统计学中有 比对比值(机会比,优势比,交叉乘积比,相对比值,赔率等)
公式: p 1 − p \frac p{1-p} 1−pp 范围 [ 0 , + ∞ ] [0,+\infty] [0,+∞]
当给 比对比值 取对数时
公式: l n ( p 1 − p ) ln(\frac p{1-p}) ln(1−pp)
那么对于函数
y = l n ( p 1 − p ) y = ln(\frac {p}{1-p}) y=ln(1−pp)
就完成了将 p 映射到 y
我们可以化简一下就能得到 y 到 p 的映射了
化简:
e y = p 1 − p e^y = \frac p{1-p} ey=1−pp
e − y = 1 − p p e^{-y} = \frac {1-p}{p} e−y=p1−p
e − y + 1 = 1 p e^{-y} + 1 = \frac {1}{p} e−y+1=p1
p = 1 1 + e − y p = \frac {1}{1+e^{-y}} p=1+e−y1
写到这就可以看出我们化简得到的函数就是前面所说的 sigmoid 函数
这边还需要注意一点,有关于 sigmoid 函数的性质
s ′ ( x ) = s ( x ) ( 1 − s ( x ) ) s'(x) = s(x)(1-s(x)) s′(x)=s(x)(1−s(x))
s ′ ( x ) = ( 1 1 + e − x ) ′ s'(x) = (\frac {1}{1+e^{-x}})' s′(x)=(1+e−x1)′
= e − x ( 1 + e − x ) 2 = \frac {e^{-x}}{(1+e^{-x})^2} =(1+e−x)2e−x
= ( 1 1 + e − x ) ( 1 − 1 1 + e − x ) = (\frac {1}{1+e^{-x}})(1- \frac {1}{1+e^{-x}}) =(1