炼数成金 门户 科学探索 算法 查看内容

逻辑回归(LR)算法

2017-5-1 14:34| 发布者: 炼数成金_小数| 查看: 15100| 评论: 0|来自: 智能算法

摘要: Logistic regression (逻辑回归)是一种非线性回归模型,特征数据可以是连续的,也可以是分类变量和哑变量,是当前业界比较常用的机器学习方法,用于估计某种事物的可能性,主要的用途:分类问题:如,反垃圾系统判 ...

tm 算法 测试 统计学 超级计算 函数

一、算法介绍
Logistic regression (逻辑回归)是一种非线性回归模型,特征数据可以是连续的,也可以是分类变量和哑变量,是当前业界比较常用的机器学习方法,用于估计某种事物的可能性,主要的用途:
分类问题:如,反垃圾系统判别,通过计算被标注为垃圾邮件的概率和非垃圾邮件的概率判定;
排序问题:如,推荐系统中的排序,根据转换预估值进行排序;
预测问题:如,广告系统中CTR预估,根据CTR预估值预测广告收益;

这个世界是随机的,所以万物的发生都可以用可能性或者几率(Odds)来表达。“几率”指的是某事物发生的可能性与不发生的可能性的比值。

LR可以用来回归,也可以用来分类,主要是二分类。logistic回归模型在多分类问题上的推广是softmax regression。

二、算法原理
Regression问题的常规步骤为:
1. 寻找h函数(即hypothesis);
2. 构造J函数(损失函数);
3. 想办法使得J函数最小并求得回归参数(θ)

LR在分类问题中,是经过学习得到一组权值,θ0,θ1,..,θm.当加入测试样本集的数据时,权值与测试数据线性加和,即z=θ0+θ1*x1+...+θm*xm,求出一个z值为样本的分类概率。LR分类问题主要在于得到分类的权值,权值是通过h函数求得。在实际应用中我们需要将Hypothesis的输出界定在0和1之间,既:
 

对Sigmoid函数求导数形式为:
对分类结果取1和0的概率假定为如下:


较大似然估计是求使ℓ(θ)取较大值的θ。现在我们需要得到LR算法的cost functionJ(θ),根据李航博士《统计学习方法》中对cost function说明,统计学习中常用的损失函数有以下几种:

对损失函数求最小值,相当于对ℓ(θ)求较大值,式中m为了推导方便引入的,并无实际意义。我们在这里用的是梯度上升算法求解,即θ := θ + α∇ℓ(θ),我们以一个训练实例(x,y)为例,利用偏导求每次一个梯度方向上损失函数较大值,通过梯度上升达到局部最优解。下图为梯度下降方法示意图。

通过上式可以得到权值进行预测。

三、python实现过程
实现过程:

改进算法,随机梯度上升算法:

 1)第一种改进算法,随机梯度算法,加大计算每组数据的梯度。
Logistic回归优点:
1、实现简单;
2、分类时计算量非常小,速度很快,存储资源低;

缺点:
1、容易欠拟合,一般准确度不太高
2、只能处理两分类问题(在此基础上衍生出来的softmax可以用于多分类),且必须线性可分;

参考内容:
Coursera公开课笔记: 斯坦福大学机器学习第六课“逻辑回归(Logistic Regression)”
李航博士《统计学习方法》

欢迎加入本站公开兴趣群
高性能计算群
兴趣范围包括:并行计算,GPU计算,CUDA,MPI,OpenMP等各种流行计算框架,超级计算机,超级计算在气象,军事,航空,汽车设计,科学探索,生物,医药等各个领域里的应用
QQ群:326600878

鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

热门频道

  • 大数据
  • 商业智能
  • 量化投资
  • 科学探索
  • 创业

即将开课

 

GMT+8, 2018-7-23 23:20 , Processed in 0.170522 second(s), 24 queries .