逻辑回归算法-通俗易懂易实现

Posted zhwa1314

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了逻辑回归算法-通俗易懂易实现相关的知识,希望对你有一定的参考价值。

转自https://www.cnblogs.com/hum0ro/p/9652674.html,看到介绍的逻辑回归很容易理解算法原理及实现,拿来存档做记录

一直做图像处理算法和视频方面的嵌入式应用软件,早起研究和应用过神经网络算法,一直没有了解其他分类的机器学习算法,这段时间用空学习研究这些算法,如k-means,em聚类算法,查阅了许多资料,算法推倒的,结合举例说明有个直观印象,这样可以更好地理解算法,方便实现

1.什么是逻辑回归

在前面讲述的回归模型中,处理的因变量都是数值型区间变量,建立的模型描述是因变量的期望与自变量之间的线性关系。比如常见的线性回归模型: 

                技术图片

而在采用回归模型分析实际问题中,所研究的变量往往不全是区间变量而是顺序变量或属性变量,比如二项分布问题。通过分析年龄、性别、体质指数、平均血压、疾病指数等指标,判断一个人是否换糖尿病,Y=0表示未患病,Y=1表示患病,这里的响应变量是一个两点(0-1)分布变量,它就不能用h函数连续的值来预测因变量Y(只能取0或1)。
总之,线性回归模型通常是处理因变量是连续变量的问题,如果因变量是定性变量,线性回归模型就不再适用了,需采用逻辑回归模型解决。

逻辑回归(Logistic Regression)是用于处理因变量为分类变量的回归问题,常见的是二分类或二项分布问题,也可以处理多分类问题,它实际上是属于一种分类方法

2.逻辑回归的推导

  1.Sigmoid 函数:(z值就是预测值)

    Logistic Regression虽然名字里带“回归”,但是它实际上是一种分类方法,用于两分类问题(即输出只有两种)。根据第二章中的步骤,需要先找到一个预测函数(h),显然,该函数的输出必须是两个值(分别代表两个类别)

    所以利用了Logistic函数(或称为Sigmoid函数),函数形式为:

            技术图片

   二分类问题的概率与自变量之间的关系图形往往是一个S型曲线,如图所示,采用的Sigmoid函数实现:

        技术图片技术图片

  

  2.推导

    技术图片

  3.得到似然函数,和对数似:

  技术图片

  4.求导计算

  技术图片

  5.求解(通过参数的变化得到最优解):参数说明,yi为样本i的标签(逻辑回归算法是监督学习,所以样本有对应的分类标签),h(xi)通过 技术图片

 

 

  技术图片

  6. 实现步骤如下:

           1.随机一组W.

                2.将W带入交叉熵损失函数技术图片

 

 

 

      更新参数,

                3.循环第二步.知道当前值和上一个参数的误差在期望的范围类,停止迭代,得到的参数即为要求的多项式系数,即得到了分类函数

3.自我总结:

      逻辑回归就是一个分类的算法,常见用在二分类当中,就是把我们的输入值在线性回归中转化为预测值,然后映射到Sigmoid 函数中,讲值作为x轴的变量,y轴作为一个概率,预测值对应的Y值越接近于1说明完全符合预测结果。但是拟合的越好,不代表效果就越好,有可能拟合过度。

      注:拟合的越好的意思是,测试集的测试效果符合训练集的训练效果。在我看来训练集就是真实值的集合,测试集就是预测值的集合。

以上是关于逻辑回归算法-通俗易懂易实现的主要内容,如果未能解决你的问题,请参考以下文章

机器学习-对数几率回归(逻辑回归)算法

通俗地说逻辑回归Logistic regression算法

机器学习基础09DAY

常见机器学习算法原理+实践系列1(逻辑回归)

逻辑回归算法实现_基于R语言

逻辑回归 算法推导与基于Python的实现详解