9.gitchat训练营-逻辑回归

2019-03-09  本文已影响0人  风吹柳_柳随风

1.非线性逻辑函数的由来

        逻辑回归Logistic Regression(LR)是一种简单、高效的常用分类模型
        LR 的模型函数记作:y=h(x),具体形式如下:
h_\theta(x) = \frac{1}{1 + e^{-\theta^Tx }}
        对应到一元自变量的形式为:
h(x) = \frac{1}{1 + e^{-(a + bx) }}
        设z = a + bx,则:
h(z) = \frac{1}{1 + e^{-z }}
        这样的一个函数被称为逻辑函数,它在二维坐标中的表现是这样的:

逻辑回归在二维坐标表示
        因为表现为 S 形曲线,所以逻辑函数又被称为 Sigmoid 函数(S 函数)。

2.逻辑分布

        请注意,逻辑函数表示的是存量随时间增长渐增的关系。而增长率与时间的关系,是存量(逻辑函数)的微分函数:

image
        它的图形是:
image

3.逻辑函数的通用形式

        上面两幅图反映的都是x为一维的情况。当x为多维时,a+bx用两个向量相乘——\theta^T x——表示,于是逻辑函数就有了如下形式:
h_\theta(x) = \frac{1}{1 + e^{-\theta^Tx }}

4.线性 VS 非线性

        逻辑函数是非线性函数
        自变量与因变量的线性关系和非线性关系,到底到怎么理解呢?
        最直观的理解,就是将自变量和因变量带入对应维度的坐标系中,在对应值“描点”,然后看看这些点组成的图形。

5.回归模型做分类

        从前面关于分类与回归的定义来看,分类模型和回归模型似乎是泾渭分流的。输出离散结果的就是用来做分类的,而输出连续结果的,就用来做回归。
        LR却是用来做分类的。它的模型函为:
h_\theta(x) = \frac{1}{1 + e^{-\theta^Tx }}
        设z = \theta^T x,则:
h(z) = \frac{1}{1 + e^{-z }}
        在二维坐标中形成 S 形曲线:

image

        上图中,z是自变量(横轴),最终计算出的因变量y(纵轴),则是一个 [0,1] 区间之内的实数值。
        一般而言,当y>0.5时,z被归类为真(True)或阳性(Positive),否则当y<=0.5时,z被归类为假(False)或阴性(Negative)。
        所以,在模型输出预测结果时,不必输出y的具体取值,而是根据上述判别标准,输出1(真)或0(假)。
        因此,LR 典型的应用是二分类问题上,也就是说,把所有的数据只分为两个类。
注意:当然,这并不是说 LR 不能处理多分类问题,它当然可以处理,具体方法稍后讲。我们先来看 LR 本身。

6.逻辑回归的目标函数

        逻辑函数h(x)是我们要通过训练得出来的最终结果。在最开始的时候,我们不知道其中的参数\theta的取值,我们所有的只是若干的x和与其对应的y(训练集合)。训练 LR 的过程,就是求\theta的过程。
        首先要设定一个目标:我们希望这个最终得出的 \theta达到一个什么样的效果——我们当然是希望得出来的这个\theta,能够让训练数据中被归为阳性的数据预测结果都为阳,本来被分为阴性的预测结果都为阴。

        而从公式本身的角度来看,h(x)实际上是x为阳性的分布概率,所以,才会在h(x)>0.5
时将x归于阳性。也就是说 h(x) = P(y=1)。反之,样例是阴性的概率P(y=0) = 1 - h(x)
        当我们把测试数据带入其中的时候,P(y=1)P(y=0)就都有了先决条件,它们为训练数据的x所限定。因此:
P(y=1|x) = h(x); P(y=0|x) = 1- h(x)
        根据二项分布公式,可得出P(y|x) = h(x) ^y(1- h(x))^{(1-y)}
        假设我们的训练集一共有 m 个数据,那么这 m 个数据的联合概率就是:
L(\theta) = \prod_{i=1}^{m}P(y^{(i)}|x^{(i)};\theta) = \prod_{i=1}^{m}(h_\theta(x^{(i)}))^{y^{(i)}}(1-h_\theta(x^{(i)}))^{(1-y^{(i)})}
        我们求取\theta的结果,就是让这个L(\theta)达到最大。

上一篇 下一篇

猜你喜欢

热点阅读