• 机器学习总结之逻辑回归Logistic Regression


     

    机器学习总结之逻辑回归Logistic Regression

    逻辑回归logistic regression,虽然名字是回归,但是实际上它是处理分类问题的算法。简单的说回归问题和分类问题如下:

    回归问题:预测一个连续的输出。

    分类问题:离散输出,比如二分类问题输出01.

    逻辑回归常用于垃圾邮件分类,天气预测、疾病判断和广告投放。

    一、假设函数

        因为是一个分类问题,所以我们希望有一个假设函数clip_image002[10],使得:

    clip_image004[4]

    sigmoid 函数可以很好的满足这个性质:

    clip_image006[4]

    故假设函数:

    clip_image007[4]

    其实逻辑回归为什么要用sigmoid函数而不用其他是因为逻辑回归是采用的伯努利分布,伯努利分布的概率可以表示成

         clip_image008[4]

         其中

         clip_image009[4]

         得到

         clip_image010[4]

     

      这就解释了logistic回归时为了要用这个函数。

     

    二、代价函数

    好了,现在我们确定了假设函数,输入clip_image012[10],如果我们依旧用线性回归的代价函数:

    clip_image014[4]

    其中:

    clip_image016[4]

    这样的话代价函数clip_image018[4]将会非常复杂,有多个局部最小值,也就是非凸的,如下所示:

    clip_image020[4]

    然而这并不是我们想要的,我们想要代价函数是凸函数如下:这样我们就可以很容易的找出全局最优解。

    clip_image022[4]

    我们回过头来看clip_image002[11]

    clip_image024[4]

    由上式我们可得:

    clip_image026[4]

     

    如果我们将clip_image002[12]视为样本clip_image012[11]作为正例的可能性,clip_image030[4]则为反例的可能性,

    两者的比值对数称为对数几率:

    clip_image032[4]

     

    这也就是逻辑回归为什么也称作对数几率回归的原因,我们可以将clip_image002[13]视为类后验概率:clip_image034[4],则由:

    clip_image036[4]

    可得:

    clip_image038[4]

     

     

     

     

    我们用“最大似然估计”来估计clip_image040[4],逻辑回归模型的似然函数如下:

    clip_image042[4]

    对数似然函数如下:

    clip_image044[4]

    clip_image046[4]

     

    即令每个样本属于其真实标记的概率越大越好,clip_image048[4]是高阶连续可导的凸函数,由凸优化理论可以根据梯度下降法、牛顿法等求最优解clip_image050[4]

    实际上,上式即为逻辑回归的代价函数:

    clip_image052[4]

    它是由极大似然得来的。

     

    三、逻辑回归的优点

    1、它是直接对分类可能性建模,无需事先假设数据分布,这样就避免了假设分布不准确问题。

    2、它不仅预测类别,而且可以得到近似概率预测,这对许多概率辅助决策的任务很有用。

    3、对率函数是任意阶可导凸函数,有很好的数学性质,现有许多的数值优化算法都可以直接用于求解。

     

    四、多分类问题

    对于多分类问题常用的做法是分解为多个二分类问题,例如:

    clip_image054[4]

    分解为下面三个二分类逻辑回归问题:

    clip_image056[4] clip_image058[4] clip_image060[4]

    对于一个新的样本clip_image012[12],如果第i类使得clip_image063[4]最大,我们认为clip_image012[13]属于i类。

  • 相关阅读:
    C#异步编程由浅入深(一)
    基于Jira的运维发布平台的设计与实现
    kubeadm部署K8S并使用containerd做运行时
    代码阅读
    黑客攻防 1
    Linux 常用指令篇1
    期刊管理系统总结
    docker安装RabbitMQ
    Centos7安装mysql8.0教程
    java动态编译
  • 原文地址:https://www.cnblogs.com/hustlx/p/5391772.html
Copyright © 2020-2023  润新知