吴恩达机器学习-logistic回归

logistic回归—离散变量的分类问题

15572624-7a37eac10aca0e97.png
(0,1)分类,通常0表示“没有某样东西”,1表示“有某样东西”如有癌症,是垃圾软件等

上图所示是一个(0,1)分类问题,当y的取值为{0,1,2,3}时,就变成一个多分类问题


15572624-e671f7a6c43111ff.png
线性回归拟合而分类问题

上述问题是一个肿瘤预测问题,根据肿瘤的大小判断肿瘤是良性还是恶性的,当数据显示如图时,使用线性回归似乎是合理的肿瘤大小小于0.5对应的那个值时肿瘤为良性,大于时为恶性,但是,当多了一个数据点,如下图所示时,回归线可能会发生变化。

15572624-491bfa063c548984.png
线性回归进行二分类问题预测

在这种情况下,阈值变成了蓝色圆点,此时蓝点左边的数据会被判断为良性,右边被判断为恶性。分类效果差。线性回归问题不适合于分类问题。分类问题的结果通常是0或1,但是根据线性回归问题求出的结果通常会大于一或小于零。而logistic回归得到的结果或分类会在(0,1)之间。logistic是一个用于输出为离散值0或1的分类问题,尽管他的名字是回归,但实际是用于分类。

15572624-0c89bb2a8f81a1ba.png
logistic function

在进行分类问题的时候,我们希望标签范围在0~1的范围内,此时,我们就可以用到sigmoid function 即logistic function。我们原来的模型假设,形式为,此时我们将等式右边变换成,g函数表示为一个sigmoid函数的形式,则原假设模型变为,这样就保证输出值在(0,1)的范围内,要做的还是求解参数。

15572624-1ef3a7060d235abc.png
对于假说的输出结果的解释

输出结果表示,给定x的特征,则结果y=1的可能性有多大。如上例所示,0.7表示在x属于恶性肿瘤的可能性为70%数学表示为:

决策边界

sigmoid function什么时候会将y预测为0,什么时候会预测为1。假设函数的形状是什么样。

15572624-c2907254d34cd0ea.png
假设函数与sigmoid function

我们已知表示y=I的概率,当概率大于等于0.5时,我们将其分类为1,当小于0.5时,我们将其分类为0。由右边的sigmoid函数图象可知,当z=0时,g(z)=0.5,则当时,y分类为1,时,y分类为0。在假说模型中,。因此,对于假说模型来说,当时,y=1;当时,y=0。

15572624-015e0a634870de6b.png
线性决策边界

上图中的边界即为决策边界,在计算出参数的值以后,根据模型可以对模型进行分类,用于分类的平面即为决策边界,决策边界是假说模型的性质,与数据无关。

15572624-93344fbcbc4d9593.png
非线性决策边界

我们可以根据需要构造特征,在上例中,我们构造了两个二次特征,根据训练数据得到参数值以后,根据模型可以对数据进行分类,在上例中,我们得到一个非线性的决策边界,在外围y=1,在边界内y=0。当特征变量变得更多更复杂的时候,决策边界会变的更加复杂,形状也会更加不同。

logistic 回归中参数的拟合——优化模型,损失函数

15572624-2e7829c522605e90.png
参数求解问题中的变量
15572624-d8a7cdc6992e52f0.png
线性回归中的cost function

在logistics回归中沿用线性回归中的损失函数,会产生非凸函数,存在很多局部最优,无法求解全局最优,因而,在logistic回归中,我们使用如下损失函数。

15572624-7ddd333ef1429261.png
logistic回归找中的cost function

上式将非凸优化问题转化为凸优化问题,坐标图表示在y=1的情况下,随着取值的不同,损失函数的变化。当y=1时,若=0,则损失函数趋向于无穷,其意义为,若病人确实患有恶性肿瘤,你的预测却是非恶性的,则惩罚是很大的,趋向于无穷。若,y=1,则损失函数值为0,如图所示。

15572624-ce12c57b56a4c917.png
当y=0时的损失函数图

当y=0时,损失函数如图,当时,损失函数趋向于无穷,表示,如果最后的结果表明y=0,但是我们却几乎非常肯定的预测其为1,则带来的损失值是很大的。

为了方便的根据损失函数利用梯度下降法求解参数值,我们要将上述logistic回归的损失函数简化。简化结果如下图所示。

15572624-1664b6c501933059.png
简化的logistic回归损失函数

由于y的取值只有0或1,当分别取0或1时,上述简化的损失函数与原损失函数相同。

15572624-e41284ff77ac4e03.png
简化后的损失函数
15572624-82ffc35b1967e7da.png
参数求解

在简化损失函数之后,我们要做的就是讲最小化损失函数,从而求出参数值。然后根据求出的参数值找到测试集中的数据的输出。注意,这里的输出值的意义都是概率。

15572624-bfeba6c435ea6d74.png
梯度下降法用于logistic回归

logistic回归的高级优化

15572624-78130424684e8782.png
几种高级优化算法

在进行优化计算时,除了梯度下降法,还有很多高级优化算法,如上述三种,他们的优点是不需要手动设定学习率,他们有嵌入的内循环,自动选择不同的学习率,从而找到最优的学习率。共同的缺点就是更为复杂,在利用这些算法时吗,最好直接调用算法库。使用高级算法时,首先要给定损失函数和梯度。

logistic多元分类:一对多

15572624-67c1c65ea7743e21.png
多分类问题的引例

当分类输出不止一种结果时,就产生了多分类问题,如邮件的分类等。logistic分类也可以用于多分类问题,如下图所示:

15572624-8ceda90032c09ce0.png
logistic回归用于多分类问题

对于多分类问题,logistic回归相当于进行了多了二分类问题,如上图所示,区分三个类别,相当于进行了三次二分类问题,每次都把其中的一个类看成是正样例,其他所有类别看成是负样例。

猜你喜欢

转载自blog.csdn.net/weixin_33862188/article/details/87475880
今日推荐