美文网首页
LR: 用来分类的逻辑回归

LR: 用来分类的逻辑回归

作者: doraTrager | 来源:发表于2019-12-16 22:33 被阅读0次

    学习笔记,可能有些谬误,请批判性阅读。

    我理解的名称来由

    逻辑回归,为啥要叫逻辑回归,其实就是在线性回归的基础上,加了个logistic函数,进行了值域归一化。但这个值已经与线性回归的预测值没什么关系了,是一个表示概率的值,只适用于二分类。假设阈值是0.5,预测结果更靠近0还是更靠近1,就可以用于二分类了。

    目标函数公式推导

    我们先看一个顺利成章的思路。

    1、先看逻辑回归模型

    对于样本x_i,其预测值:

    h(x)=logistic(w^Tx+b)

    其中,logistic(z)=\frac{1}{1+e^{-z}}

    logistic函数是sigmoid函数的一种,也就是单调递增的S曲线。tanh、softmax都是常见的sigmoid函数。

    在神经网络里来看,这是一个前向传导。

    2、理解模型预测值

    在二分类问题中,样本x_i的真实值的取值范围是\{0,1\}

    那么预测样本x_i为1(二分类中的其中一个类别)的概率,就是前向传导的结果,即h(x)

    p(y_i=1\vert x_i)=h(x_i),[公式1]

    那么预测样本x_i为0(二分类中的另外一个类别)的概率为:

    p(y_i=0\vert x_i)=1-h(x_i),[公式2]

    3、如何训练模型?

    LR使用的是交叉熵代价函数

    loss=-\sum_{j=1}^cq_jlogp_j

    这是针对单个样本。其中,q_j为真实分布,p_j为预测分布。可以看到,预测分布与真实分布越接近,代价函数值越小

    c=2时,只有两个类别,也就是q_j\in \{0,1\}

    q_j=y,j=1,此时p_j=h(x)

    那么q_j=1-y,j=2,此时p_j=1-h(x)

    于是loss=-[ylogh(x)+(1-y)log(1-h(x))]

    这样,在全部n个样本上,

    loss=-\sum_{i=1}^n[y_ilogh(x_i)+(1-y_i)log(1-h(x_i))]

    试着从另一个角度解释

    公式1和公式2可以合并表达为

    p(y_i\vert x_i)=h(x_i)^{y_i}(1-h(x_i))^{1-y_i},y_i\in \{0, 1\}

    可以看到,y_i取0或1时,上式回归到公式2、公式1。

    假设训练样本相互独立,将n个样本的预测结果连乘,得到似然函数:

    \prod_{i=1}^n h(x_i)^{y_i}(1-h(x_i))^{1-y_i}

    取对数,并不改变函数单调性(另一种说法:LR代价函数为对数代价函数):

    \sum_{i=1}^n[y_ilogh(x_i)+(1-y_i)log(1-h(x_i))]

    训练目标即为,使似然极大化。

    但这个,就是实际分布与预测分布的交叉熵。似然取反,即为第3节的交叉熵代价函数。

    参考

    [1] https://yq.aliyun.com/articles/668056

    [2] https://www.cnblogs.com/BYRans/p/4713624.html

    [3] https://blog.csdn.net/zengxiantao1994/article/details/72787849

    相关文章

      网友评论

          本文标题:LR: 用来分类的逻辑回归

          本文链接:https://www.haomeiwen.com/subject/dujdnctx.html