美文网首页
Logistic Regression part 2

Logistic Regression part 2

作者: 小光_499f | 来源:发表于2018-08-17 04:12 被阅读0次

    ML 的第一个步骤:

    Step 1: Function Set for Posterior Probability

    上一章我们已经设置了函数,就是寻找机率的问题,
    如果机率大于0.5,我们就说该点在C1, 如果机率小于0.5, 该点就在C2。
    如果机率函数是高斯分布的,我们就用sigmoid方程,如下图

    其中 w是Vector,方程中每个xi 都有一个 wi,然后带入方程,就可以求出sigmoid方程的机率。


    step1 .png

    基本上整个模型就是下图形式,这个就是 Logistic Regression 方程的model


    sigmoid.png

    Logistic Regression 和 Linear Regression

    sigmoid 方程的 output 肯定是介于(0,1),而 Linear Regression output 可以是任何值,这就是两个model的区别 different.png

    接下来Step 2,评价函数好坏。对训练数据(x1,C1)(x2,C1)(x3,C2)……用y^=1 表示C1,用y^=0 表示C2。那么似然函数可以表示为


    交叉熵.png

    交叉熵代表两个机率函数p,q有多接近。若两个分布完全一样则交叉熵等于0。

    这样就得到了逻辑回归Logistic Regression与线性回归Linear Regression在Step 2(评价函数好坏)时的区别 step2.png

    Step3:找出最好的function,我们用 Gradient Descent,首先求偏导数,然后用Gradient Descent 来update。得出如下图中参数公式


    step3.png

    为什么Logistic Regression 不能用 Square Error?

    如果用平方误差损失,在计算损失函数对参数的微分时会出现如下情况 20170408151302743.png

    说明,在结果 far from target 时,微分很小。 需要update很多很多次才可以到 target,或者直接卡住。
    为了更形象的说明问题,将交叉熵损失/平方误差损失与参数之间的关系画出


    20170408151625544.png

    判别方法 v.s. 生成方法 Discriminative vs Generative
    两个函数的表达形式是一样的,但是判别方法的直接找到 w 和 b 与生产方法的 先求 u 和 E 然后再求出 w 和 b, 两组的 w 和 b 会一样吗?是不一样的,而且判别方法比较好,因为生成方法对概率分布做了假设。


    accuracy.png
    20170408153606883.png

    朴素贝叶斯的结果是Class 2。

    生成模型在一些情况下相对判别模型是有优势的:
    1、训练数据较少时。判别模型的表现受数据量影响较大,而生成模型受数据量影响较小。
    2、label有噪声时。生成模型的假设(“脑补”)反而可以把数据中的问题忽视掉。
    3、判别模型直接求后验概率,而生成模型将后验概率拆成先验和似然,而先验和似然可能来自不同来源。以语音识别(生成模型)为例,DNN只是其中一部分,还需要从大量文本(不需要语音)中计算一句话说出来的先验概率。

    Multi-class Classification

    在做Multi-class Classification时,需要softmax。原因可参考Bishop P209-210,或Google “maximum entropy”。
    最小化交叉熵,等价于最大化似然函数


    20170408155736195.png

    Limitation of Logistic Regression 局限性

    如果feature如下图所示,那么很难找到一条直线才分类他们。 limit.png

    那我们怎么做呢?

    我们做Feature Transformation 如下图, transform.png

    但是这样做就不是机器学习了,所以我们还有其它的办法,就是我们可以多设置几个feature transformation model,然后得到另外的一组feature,然后在分类


    add feature.png
    一个Logistic Regression的input可以是其它Logistic Regression的output;一个Logistic Regression的output可以是其它Logistic Regression的input。这样,我们就得到了Neural Network,其中每个Logistic Regression叫做一个Neuron. Neural.png

    相关文章

      网友评论

          本文标题:Logistic Regression part 2

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