logistic回归算法原理,logistic回归原理及公式推导

  logistic回归算法原理,logistic回归原理及公式推导

  本文主要介绍python机器学习中逻辑回归原理的推导。有需要的朋友可以借鉴一下,希望能有所帮助。祝大家进步很大,早日升职加薪。

  00-1010前言Logistic回归原理及推导sigmoid函数目标函数梯度上升法Logistic回归实践数据训练算法优缺点

  

目录

 

  逻辑回归涉及高等数学、线性代数、概率论和最优化问题。本文试图用最简单易懂的叙述方式向读者解释Logistic回归,少强调公式原理,多强调可视化案例。如果你对数学公式过敏,你会感到不适,后果自负。

  

前言

 

  虽然逻辑回归中有“回归”一词,但算法是分类算法。如图所示,有两种类型的数据(红点和绿点)分布如下。如果需要对两类数据进行分类,可以用一条直线(w0 * x0 w1 * x1 w2 * x2)来划分。当需要预测新样本(x1,x2)时,将其带入线性函数。如果函数值大于0,则为绿色样本(正样本),否则为红色样本(负样本)。

  推广到高维空间,我们需要得到一个超平面(2D中的直线,3D中的平面,N维中n-1的超平面)来分割我们的样本数据,实际上就是求超平面的W参数。这和回归很像,所以命名为Logistic回归。

  

Logistic回归原理与推导

 

  当然,我们不直接使用Z函数。我们需要将Z值转换为区间[0-1]。转换后的Z值是判断新样本属于正样本的概率。我们用sigmoid函数来完成这个转换过程,公式如下。通过观察sigmoid函数图,如图所示,z值大于0时,值大于0.5,z值小于0时,值小于0.5。使用sigmoid函数,逻辑回归本质上是基于条件概率的判别模型。

  

sigmoid函数

 

  其实我们现在在求W,怎么才能找到W呢?我们先来看下图,大家都可以看到第二个图形的直线最好。换句话说,最好让这些样本点离直线越远越好,这样新样本的到来就可以很好的划分。如何用公式来表达和计算这个目标函数呢?

  这时候就需要最大化这个目标函数值来求。

  

目标函数

 

  在介绍梯度法之前,我们先来看一个中学知识:求下列函数在x=时的最大值。

  解法:求f(x): 2x的导数,使之为0。当x=0时,取最大值为0。但当函数比较复杂时,通过求导数很难计算出函数的极值。这时候就需要用梯度上升法,通过迭代逐步逼近极值。公式如下。我们沿着导数方向(梯度)一步步逼近极值。

  使用梯度算法计算该函数的x值:

  定义f(x_old):

  返回-2 * x _旧

  定义校准():

  x_old=0

  x_new=-6

  每股收益=0.01

  精度=0.00001

  而ABS(x _ new-x _ old)gt;presision:

  x _旧=x _新

  x_new=x_old eps*f(x_old)

  返回x_new

  -0.0004892181072978443

  

梯度上升法

 

  

Logistic回归实践

 

  读入数据,并绘制和显示:

  定义loadDataSet():

  dataMat=[];labelMat=[]

  fr=open( data/Logistic/testset . txt )

  对于fr.readlines():中的行

  lineArr=line.strip()。拆分()

  dataMat.append([1.0,float(lineArr[0])),float(lineArr[1])])

  labelMat.append(int(lineArr[2]))

  返回数据Mat,标签Mat

  

数据情况

 

  使用梯度迭代公式计算w:

  定义乙状结肠(英寸):

  return 1.0/(1 np.exp(-inX))

  def gradAscent(数据马丁,标签马丁):

  dataMatrix=np.mat(dataMatIn)

  labelMat=np.mat(labelMatIn)。转置()

  m,n=np.shape(数据矩阵)

  阿尔法=0.001

  最大周期数=500

  权重=np.ones((n,1))

  对于范围内的k(最大周期数):

  h=sigmoid(数据矩阵*权重)

  错误=labelMat - h

  权重=权重alpha * dataMatrix.transpose() *误差

  返回重量

  通过计算重量图查看分类结果。

  

训练算法

 

  优点:易于理解和计算缺点:以上精度不高,是python机器学习Logistic回归原理推导的详细内容。更多关于python机器学习Logistic回归的信息,请关注盛行IT软件开发工作室的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: