美文网首页
机器学习笔记(9):Logistic回归

机器学习笔记(9):Logistic回归

作者: 链原力 | 来源:发表于2020-03-02 00:01 被阅读0次

    本文来自之前在Udacity上自学机器学习的系列笔记。这是第9篇,介绍了监督学习中的Logistic回归。

    Logistic回归
    Logistic回归虽然带有回归两字,但它和之前介绍的线性回归模型不一样,因为它主要解决分类问题。它可以解决只有标签为0或者1的分类问题,也可以解决多分类问题。

    Logistic回归模型定义为:
    h_\theta(x)=g(z)
    g(z)=\frac{1}{1+e^{-z}}
    其中
    z=\theta^Tx

    给定训练集,计算出参数\theta

    模型解读
    h_\theta(x)可以认为是在给定x情况下概率预估,比如说x表示肿瘤的大小。如果y=1,表示肿瘤是良性的。那么

    h_\theta(x)=0.7, y=1
    这个结果就表示,当给定肿瘤大小为x的情况下,判断其为良性的概率为0.7.

    所以
    h_\theta(x)=P(y=1 | x; \theta)
    即为函数h_\theta在给定x, \thetay=1的概率。

    由此还可以得到
    P(y=0 |x;\theta) = 1-P(y=1|x;\theta)
    P(y=1|x;\theta)=P(y=1|x;\theta)^y(1-P(y=1|x;\theta))^{(1-y)}

    决策边界
    Logistic回归模型
    h_\theta(x)=g(\theta^Tx)=P(y=1|x;\theta)
    g(z)=\frac{1}{1+e^{-z}}
    可以得到g(z)的函数图像为:

    image.png

    设定:
    h_\theta(x) \geq 0.5时,那么y=1
    h_\theta(x) <0.5时,那么y=0

    根据上面的设定,我们来看看下面两种情况的数据集。
    第一个例子如下图所示,可以假设h_\theta(x)=g(\theta_0+\theta_1x_1+\theta_2x_2)
    \theta_0=-3, \theta_1=1, \theta_2=1
    那么
    如果-3+x_1+x_2 \geq 0,可以得到h_\theta(x) \geq 0.5y=1
    如果-3+x_1+x_2 < 0,可以得到h_\theta < 0.5y=0

    所以x_1+x_2=3直线可以将数据集完美地进行分类。我们称x_1+x_2=3为数据集的决策边界。

    image.png

    下面的数据集,可以假设h_\theta(x)=g(\theta_0+\theta_1x_1+\theta_2x_2+\theta_3x_1^2+\theta_4x_2^2)
    如果-1+x_1^2+x_2^2\geq 0,可以得到h_\theta(x) \geq 0.5y=1
    如果-1+x_2^2+x_2^2<0,可以得到h_\theta < 0.5y=0

    所以,数据集的决策边界为x_1^2+x_2^2=1

    image.png

    损失函数
    在上面的决策边界例子中,我们直接设置了\theta值,但我们希望的是给定训练集的情况下,使用算法自动地找到合适的\theta值将数据集正确地分类,得到决策边界。

    样本数据一共有m个:(x^{(1)}, y^{(1)}), (x^{(2)}, y^{(2)}), \ldots, (x^{(m)}, y^{(m)})x \in R^{n+1},其中x_0=1, x(n+1) \times 1的矩阵,y \in {0,1}
    对于h_\theta=\frac{1}{1+e^{-\theta^Tx}},如何选择\theta值呢?
    定义损失函数

    image.png

    这个式子可以简化为
    Cost(h_\theta(x), y)=-ylog(h_\theta(x))-(1-y)log(1-h_\theta(x))
    使用梯度下降法就可以求得使损失函数为最小的\theta的值了。

    通过对Cost(h_\theta(x),y)进行求导,可以得到
    \frac{\partial Cost}{\partial \omega_i} = (a-y)x_i
    其中
    a=g(z)=\frac{1}{1+e^{-z}}
    代入到\omega的更新式子中,那么有
    \omega_i:=\omega_i-\alpha \frac{\partial Cost}{\partial \omega_i}
    \omega_i:=\omega_i+\alpha (y-a)x_i

    相关文章

      网友评论

          本文标题:机器学习笔记(9):Logistic回归

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