一、算法介绍
Logistic regression (逻辑回归)是一种非线性回归模型,特征数据可以是连续的,也可以是分类变量和哑变量,是当前业界比较常用的机器学习方法,用于估计某种事物的可能性,主要的用途:
这个世界是随机的,所以万物的发生都可以用可能性或者几率(Odds)来表达。“几率”指的是某事物发生的可能性与不发生的可能性的比值。 LR可以用来回归,也可以用来分类,主要是二分类。logistic回归模型在多分类问题上的推广是softmax regression。 二、算法原理 Regression问题的常规步骤为: 1. 寻找h函数(即hypothesis); LR在分类问题中,是经过学习得到一组权值,θ0,θ1,..,θm.当加入测试样本集的数据时,权值与测试数据线性加和,即z=θ0 θ1*x1 ... θm*xm,求出一个z值为样本的分类概率。LR分类问题主要在于得到分类的权值,权值是通过h函数求得。在实际应用中我们需要将Hypothesis的输出界定在0和1之间,既:
P(y=1|x;θ)=hθ(x) P(y=0|x;θ)=1hθ(x) 对于单个样本的后验概率可以合成表示成: 最大似然估计是求使(θ)取最大值的θ。现在我们需要得到LR算法的cost functionJ(θ),根据李航博士《统计学习方法》中对cost function说明,统计学习中常用的损失函数有以下几种: (1) 0-1损失函数(0-1 loss function):
(2) 平方损失函数(quadratic loss function) L(Y,f(x))=|Y-f(x)| (4) 对数损失函数(logarithmic loss function) 或对数似然损失函数(log-likelihood loss function) L(Y,P(Y|X))=-logP(Y|X)
因此,根据对数损失函数,可以得到损失函数如下:
三、python实现过程 实现过程:
1)第一种改进算法,随机梯度算法,加大计算每组数据的梯度。 Logistic回归优点: 1、实现简单; 2、分类时计算量非常小,速度很快,存储资源低; 缺点: 1、容易欠拟合,一般准确度不太高 2、只能处理两分类问题(在此基础上衍生出来的softmax可以用于多分类),且必须线性可分; 参考内容: Coursera公开课笔记: 斯坦福大学机器学习第六课“逻辑回归(Logistic Regression)” 李航博士《统计学习方法》 免责声明:本文系网络转载。版权归原作者所有。如涉及版权,请联系删除!
|
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|