逻辑回归
来源:互联网 发布:一洋淘宝运营助手账号 编辑:程序博客网 时间:2024/05/16 12:05
一、线性回归
回归是一种极易理解的模型,就相当于y=f(x),表明自变量x与因变量y的关系。最常见问题
如医生治病时的望、闻、问、切,之后判定病人是否生病或生了什么病,其中的望闻问切就是
获取自变量x,即特征数据,判断是否生病就相当于获取因变量y,即预测分类。
最简单的回归是线性回归,在此借用Andrew NG的讲义,有如图1.a所示,X为数据点——
肿瘤的大小,Y为观测值——是否是恶性肿瘤。通过构建线性回归模型,如hθ (x)所示,构建线
性回归模型后,即可以根据肿瘤大小,预测是否为恶性肿瘤h θ(x)≥.05为恶性,h θ (x)<0.5为良
性。
二、逻辑回归模型
然而线性回归的鲁棒性很差,例如在图1.b的数据集上建立回归,因最右边噪点的存在,
使回归模型在训练集上表现都很差。这主要是由于线性回归在整个实数域内敏感度一致,而
分类范围,需要在[0,1]。逻辑回归就是一种减小预测范围,将预测值限定为[0,1]间的一种回
归模型,其回归方程与回归曲线如图2所示。逻辑曲线在z=0时,十分敏感,在z>>0或z<<0
处,都不敏感,将预测值限定为(0,1)。
图2 逻辑方程与逻辑曲线
逻辑回归其实仅为在线性回归的基础上,套用了一个逻辑函数g(z),但也就由于这个
逻辑函数,逻辑回归成为了机器学习领域一颗耀眼的明星,更是计算广告学的核心。对于
多元逻辑回归,可用如下公式似合分类,其中公式(4)的变换,将在逻辑回归模型参数估计
时,化简公式带来很多益处,y={0,1}为分类结果。
对于训练数据集,特征数据x={x 1 , x 2 , … , x m }和对应的分类数据y={y 1 , y 2 , … ,
y m }。构建逻辑回归模型f(θ),最典型的构建方法便是应用极大似然估计。首先,对
于单个样本,其后验概率为:
那么,极大似然函数为:
log似然是:
最大似然估计就是求使取最大值时的θ,其实这里可以使用梯度上升法求解
,求得的θ就是要求的最佳参数。但是,在Andrew Ng的课程中将损失函数取为
下式,即:
由于乘了一个负的系数-1/m,所以,当损失函数最小时取得的θ是最佳参数。
三、 梯度下降法
梯度下降法是按下面的流程进行的:
1)首先对θ赋值,这个值可以是随机的,也可以让θ是一个全零的向量。
2)改变θ的值,使得按梯度下降的方向进行减少。
为了更清楚,给出下面的图:
在上面提到梯度下降法的第一步是给θ给一个初值,假设随机给的初值是在图上
的十字点。然后我们将θ按照梯度下降的方向进行调整,就会使得往更低的方向
进行变化,如图所示,算法的结束将是在θ下降到无法继续下降为止。
在实际计算中,梯度表示的是损失函数的偏导数组成的一
个方向向量,所谓梯度下降,就是指:参数沿着梯
度反方向减少,即:,其中表示学习率。
四、梯度下降法求LR参数
五、LR参数求解的向量化求解过程
向量化是使用矩阵计算来代替for循环,以简化计算过程,提高效率。下面介绍向量化的过程:
约定训练数据的矩阵形式如下,x的每一行为一条训练样本,而每一列为不同的
特称取值:
g(A)的参数A为一列向量,所以实现g函数时要支持列向量作为参数,并返回列向量。
因此,θ更新过程可以改为:
经过多次迭代,更新参数θ的值,直到θ的值收敛(变化不大)为止。可以设置
一个阈值t,当θ值的变化较小(<t)时,一般可以认为是收敛了。此时,对应的参数
θ就是我们要求的最合适的LR模型的参数。
六、模型评估
对于LR分类模型的评估,常用AUC来评估,关于AUC的更多定义与介绍,可见
参考文献2,在此只介绍一种极简单的计算与理解方法。
对于训练集的分类,训练方法1和训练方法2分类正确率都为80%,但明显可
以感觉到训练方法1要比训练方法2好。因为训练方法1中,5和6两数据分类错误,
但这两个数据位于分类面附近,而训练方法2中,将10和1两个数据分类错误,但这
两个数据均离分类面较远。
AUC正是衡量分类正确度的方法,将训练集中的label看两类{0,1}的分类问题,
分类目标是将预测结果尽量将两者分开。将每个0和1看成一个pair关系,图中的训练
集共有5*5=25个pair关系,只有将所有pair关系一至时,分类结果才是最好的,而auc
为1。在训练方法1中,与10相关的pair关系完全正确,同样9、8、7的pair关系也完全
正确,但对于6,其pair关系(6,5)关系错误,而与4、3、2、1的关系正确,故其auc
为(25-1)/25=0.96;对于分类方法2,其6、7、8、9的pair关系,均有一个错误,即(6,1)、
(7,1)、(8,1)、(9,1),对于数据点10,其正任何数据点的pair关系,都错误,即(10,1)、
(10,2)、(10,3)、(10,4)、(10,5),故方法2的auc为(25-4-5)/25=0.64,因而正如直观所见,
分类方法1要优于分类方法2。
参考文献:
1 Andrew NG. Logistic Regression Classification
2 http://www.cnblogs.com/guolei/archive/2013/05/23/3095747.html
- 逻辑回归
- 逻辑回归
- 逻辑回归
- 逻辑回归
- 逻辑回归
- 逻辑回归
- 逻辑回归
- 逻辑回归
- 逻辑回归
- 逻辑回归
- 逻辑回归
- 逻辑回归
- 逻辑回归
- 逻辑回归
- 逻辑回归
- 逻辑回归
- 逻辑回归
- 逻辑回归
- [iOS]Xcode 7中修改应用名称
- vi命令
- Struts2--拦截器详解
- 02 替换' '为"%32"
- 计算机学院大学生程序设计竞赛(2015’12)1001 The Country List
- 逻辑回归
- Atom 编辑器快捷键大全不断更新中
- 改善database schema
- Mac下MySQL的安装和使用
- adb logcat 的帮助信息
- Activity的四种启动模式简单理解
- microSD Card Installation(分区及格式化)
- Volley缓存-服务端实现_Java
- jQuery用addClass方法同时增加多个class属性