超级计算机 求导,逻辑回归(LR)算法

一、算法介绍

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之间,既:

9ebbe3253c18ae2c287259c86e9dbbcf.png

对Sigmoid函数求导数形式为:

对分类结果取1和0的概率假定为如下:

6a2c540a1d782658149e94e5924d83c1.png

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

44debd322f16257dc3208305779f4b6a.png

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

971aba8ef0e4eea6babcde3a7b23404f.png

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

三、python实现过程

实现过程:

88c2a8721a87d85522ab249e63040f91.png

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

aa640dc08744dd27c0526a12a2864297.png

1)第一种改进算法,随机梯度算法,加大计算每组数据的梯度。

Logistic回归优点:

1、实现简单;

2、分类时计算量非常小,速度很快,存储资源低;

缺点:

1、容易欠拟合,一般准确度不太高

2、只能处理两分类问题(在此基础上衍生出来的softmax可以用于多分类),且必须线性可分;

参考内容:

Coursera公开课笔记: 斯坦福大学机器学习第六课“逻辑回归(Logistic Regression)”

李航博士《统计学习方法》

欢迎加入本站公开兴趣群

高性能计算群

兴趣范围包括:并行计算,GPU计算,CUDA,MPI,OpenMP等各种流行计算框架,超级计算机,超级计算在气象,军事,航空,汽车设计,科学探索,生物,医药等各个领域里的应用

QQ群:326600878

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值