Press "Enter" to skip to content

09.逻辑回归

一、分类与回归介绍

监督机器学习问题 主要有两种,分别叫做分类与回归
分类问题 使用 逻辑回归 解决; 回归问题 使用 线性回归 解决
区别分类任务和回归任务的简单方法:就是 看输出是否具有某种连续性

1.1 分类

分类问题 的目标是预测类别标签,这些标签来自预定义的可选列表
分类问题可分为二分类和多分类

二分类 :在两个类别之间进行区分的一种特殊情况
多分类 :在两个以上的类别之间进行区分

在二分类问题中,通常将其中一个类别称为 正类 ,另一个类别称为 负类 ,

这里的正并不是代表好的方面或正数,而是代表研究对象
将两个类别中的哪一个作为正类,往往是主观判断,与具体的领域有关

1.2 回归

回归任务 的目标是预测一个连续值,编程术语叫做浮点数,数学术语叫做实数

二、逻辑回归(Logistic Regression)—二分类问题

 

2.1 逻辑回归的介绍

逻辑回归 用于解决分类问题
Logistic Regression里面含有回归regression,但 它其实是分类算法,而不是回归算法。
分类问题中最经典的就是二分类问题,即每个数据的标签仅有 0和1,多分类问题也可以在二分类的基础上解决
在二分类问题中,有一个作为正类,一个作为负类,一般将负类代表为没有XX属性的那一类,如在判断是否有恶性肿瘤问题中,通常把没有恶性肿瘤作为负类

2.2 激活sigmoid函数

 

 

我们预测的 hθ(x)的值应该在 [0,1] 之间,

 

观察下图激活函数 g(z)的图像,发现它的值域正好为(0,1),单点递增,与y轴交于(0,0.5)

 

激活函数的y值分布在[0,1]内,对于分类问题,我们可以使用假设函数hθ(x)的值来表示满足特征的概率。

 

2.3 决策边界

 

决策边界:将不同类型的数据用决策边界分开

 

决策边界不是数据集的属性,而是假设本身的及其参数的一个属性

 

只要有确定的参数值(θ向量)我们就可以直接得到决策边界,并不需要通过绘制训练集来确定决策边界

 

假设函数的预测思路:

当 hθ(x) >= 0.5(也即 g(z) >=0.5 // z >=0)时,预测为 y= 1 ;
当 hθ(x) < 0.5(也即 g(z) <0.5 // z <0)时 ,预测 y = 0

 

讨论下面的这个假设函数

在这个例子中,假设每个参数θ的值分别为 [-3;1;1]
决策边界即为 x1 + x2 = 3 这条直线,在此边界上的 hθ(x) = 0.5
这条直线将整个平面分成了两部分,其中一部分区域假设函数预测 y =1 ;另一部分区域假设函数预测 y =0 ;

2.4 代价函数

 

目标:如何获得逻辑回归中的参数θ向量(如何拟合参数θ)

 

由于预测函数hθ(x)为复杂的非线性函数,所以代价函数J(θ)不一定是凸函数convex。如果使用梯度下降法,将会出现许多局部最优点,那幺可能不会收敛到全局最优解处

 

所以需要修改代价函数为凸函数,使代价函数所代表的意思不变,然后仍然使用梯度下降算法来解决问题

 

逻辑回归中使用对数函数来作为代价函数,能够保证是凸函数,我们分别绘制出 y=1 与 y =0 情况下的 cost 函数图像:

 

由于y的取值只有0、1,可以将上面两个函数合成一个,得到**代价函数J(θ)**为:

 

2.5 梯度下降算法在逻辑回归中的使用

 

代价函数对模型参数θ得偏导与前面线性回归表达式相同,但这并不能说线性回归和逻辑回归是相同的算法,它们表达式看似相同,其实假设预测函数的表达式是不同的,所以他们是两个完全不一样的东西。
注意: 在线性回归中的学习率和特征缩放同样使用于逻辑会的梯度下降算法中

三、高级优化算法

 

高级优化算法与梯度下降算法相比,能大大提高逻辑回归运行的速度,也能使得算法更加适合解决大型的机械学习问题

 

我们可以使用下面这几种更高级的算法来求 代价函数以及其导数项

 

gradient descent

 

conjugate gradient

 

BFGS

 

L-BFGS

 

这些高级优化算法中内置了一个智能内循环(称为线搜索算法),它可以自动尝试不同的学习率并自动选择一个好的学习率,甚至可以为每次迭代选择不同的学习率,

 

高级优化算法的优点:(相比与梯度算法)

无需手动选择学习率
比梯度下降收敛的快很多

高级优化算法的优点:(相比与梯度算法)

比梯度算法更复杂

 

四、多元分类

 

多元分类问题:也叫做“一对多” 的分类问题,

 

一对多分类的原理:(也可称为“一对余”方法)

 

讨论下面的例子:对下面的图形进行分类

 

 

如上图所示,我们可以把它看成三个独立的委员分类问题,

 

针对每一个独立的二元分类问题可以创建不同的新的“伪”训练集,如右图所示(将其他的两类都设为负类)

 

对每个特征单独训练,分别拟合出一个逻辑回归分类器,得到判断边界,

 

拟合出三个分类器,h1(x)、h2(x)、h3(x),得到拟合分类器 h_θ^(i)(x) ;来尝试估计出:给定 x 和 θ 时,y = i 的概率

 

在三个分类器上运行输入 x ,然后选择 h 值最大的类别,也就是要选择分类器,选择出三个中可信度最高、效果最好的那个分类器,无论 i的值为多少,都能能到一个最高的概率值,则预测 y 就是那个值

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注