zoukankan      html  css  js  c++  java
  • 机器学习中的逻辑回归方法

    首先逻辑回归解决的是分类的问题。

    它的线性模型可以表达为

    $$h_{ heta}=g( heta^{T}*x)$$

    其中g函数为sigmod函数,也叫对数函数,主要作用是把一个变量平滑地映射到(0,1)区间,具体的形式为

    $$g(z) = frac{1}{1+e^{-z}}$$

    那么我们把$h_{ heta}$作为,在样本x情况下,y = 1的概率的一个估计,这个是模型的核心。

    为什么做这样的估计是可行的,假设我们的判别是这样的,

    当$h_{ heta}$ >= 0.5时,判别为正类,即y=1,

    当$h_{ heta}$ < 0.5时,判别为负类,即y=0

    这等价于

    当$ heta^{T}*x$ >= 0时,判别为正类,即y=1,

    当$ heta^{T}*x$ < 0时,判别为负类,即y=0

    问题可以看做为线性回归问题,即通过线性回归获得$y= heta^{T}*x$的参数$ heta$。

    我们也可以通过引入代价函数来求解模型, 下面为对于y为1的样本的代价函数

    $-log(h_{ heta}) \, \, \, when \, y = 1$

    这是对数的代价函数,对y为1的样本,如果$h_{ heta}$也为1时,代价为0,如果$h_{ heta}$趋向于0,代价趋向于无穷大。

    对于y为0的样本,代价函数如下

    $-log(1-h_{ heta}) \, \, \, when \, y = 0$

    整合在一起的代价函数为

    $J( heta)=-sum_{i=1}^{m}y^{i}*log(h_{ heta}(x^{i})) +(1-y^{i})*log(1-h_{ heta}(x^{i}))$

    这个代价函数是一个凸函数,用梯度下降法可以求得最小值。简单推导梯度下降过程

    $frac{partial J}{partial { heta}} = - (frac{y}{h_{ heta}}frac{partial h_{ heta}}{partial { heta}} - frac{1-y}{1-h_{ heta}}frac{partial h_{ heta}}{partial { heta}})$

    $frac{partial J}{partial { heta}} = - (frac{partial h_{ heta}}{partial { heta}}(frac{y-h_{ heta}}{h_{ heta}*(1-h_{ heta})})))$

    $h_{ heta}$是sigmod函数,sigmod函数的求导公式为g'(z) = g(z)*(1-g(z)),所以

    $frac{partial J}{partial { heta}} = sum_{i=1}^{m} x*(h_{ heta} - y)$

    于是$ heta$的迭代更新为

    $ heta_{j} := heta_{j} - alphasum_{i=1}^{m}{(h_{ heta}(x^{i}) - y^{i})*x^{i}}$

  • 相关阅读:
    美联储主席和欧洲央行说了什么
    12月CPI,PPI有哪些变化
    中国人民银行行长易纲就贯彻落实中央经济工作会议精神接受采访谈
    2018年个人的一些简单预测
    从首套房利率走势看市场
    百城价格房价周期和郑州、武汉房价比较分析
    国际非农超预期美联储主席态度软化,国内适度宽松货币+积极财政仍是主基调
    三大经济体年2018年末形势一览
    从房地产住宅销售面积增速看房地产行业
    枚举类
  • 原文地址:https://www.cnblogs.com/learninglife/p/9921781.html
Copyright © 2011-2022 走看看