乐趣区

关于机器学习:MindSpore跟着小Mi一起机器学习吧逻辑回归一

小 Mi 学习,向上踊跃!在后面几周的学习中,小 Mi 终于带着大家完完整整学完了线性回归,同时小 Mi 也收到了大家的很多反馈,在后续的学习中,小 Mi 会一一改良的!明天咱们就开启新的章节学习—logistic 回归(Logistic Regression) 算法吧(冲鸭)!

1 分类问题
在 logistic 回归算法中,咱们通常遇到的是所需预测的变量 y 是一个离散值这种状况下的分类问题,在介绍篇中,小 Mi 就曾经带着大家略微理解了哪些问题是分类问题,比方垃圾邮件分类问题,还有就是对肿瘤进行分类的例子,确定其是恶性癌症还是良性肿瘤。在所有的这些问题中,咱们尝试预测的变量 y,都只有两个取值的变量,0 或 1,垃圾邮件或者非垃圾邮件,恶性或良性。咱们将因变量 (dependent variable) 可能属于的两个类别离称为负向类(negative class)和正向类(positive class),则因变量,其中 0 示意负向类,1 示意正向类。两个类别中,例如垃圾邮件或非垃圾邮件,到底哪个是正类 /1,哪个是负类 /0,这都是任意的,并没有什么区别。但通常来说,咱们默认负类示意没有某样货色,例如没有恶性肿瘤,而 1 即正类,示意具备咱们要寻找的货色。当然啦,这都不重要,重要的是如何解决分类问题,对不对!当然还会有多分类问题,例如变量 y 能够选取 0,1,2,3 这几个值,这就是多分类问题,当初咱们就先从二分类问题开始理解吧!

说到这小 Mi 不由得眉头一皱; 计上心来,话说之前学习的线性回归是否实用于分类问题呢?废话不多说,咱们一起来验证一下!假如下图中的数据集,是对肿瘤进行恶性或良性分类,失去的数据只有两个值,0/ 否或者 1 / 是,依据线性回归算法用直线对数据进行拟合。最终失去的假如为:,而分类器输入的阈值设为 0.5,即纵坐标值如果大于等于 0.5,预测 y 为 1;如果小于 0.5,预测 y 等于为 0。

在这个例子中,仿佛线性回归拟合的成果还不错,然而,尝试减少些难度,如果咱们还有另一个训练样本,位于左边最远边,如果仍旧运行线性回归,咱们会失去另一条蓝色的直线。

如果还跟之前一样将阈值设为 0.5,这时候就能显著看进去是一个相当差劲的线性回归了。毫无疑问,学习算法会将这个样本断定为恶性,但加了这个样本后,使得线性回归对数据的拟合直线从红色变成蓝色这条直线,变成了一个更坏的假如。因而,把线性回归利用于分类问题,通常并不是一个好主见。在这个例子中,在额定加这个样本之前,之前的线性回归运气很好,咱们失去了一个假如,成果不错。但通常对数据集进行线性回归,只是偶然成果会很好,所以并不举荐将线性回归用于分类问题。

总的来说,如果咱们要用线性回归算法来解决一个分类问题,首先分类问题中,取值只有 0 或者 1,但如果假如函数的输入值远大于 1,或者远小于 0,就无奈解决这种状况了。所以咱们的逻辑回归算法就闪亮退场啦!这个算法的性质是:它的输入值永远在 0 到 1 之间,即。

BTW,咱们把 logistic 回归视为一种分类算法,因为名字中有“回归”,有些时候可能会让你产生误解,但 logistic 回归实际上是一种分类算法,用在标签 y 为离散值 0 或 1 的状况下,实用于标签取值离散的状况,如:1 0 0 1。

2 假说示意
那么在 logistic 回归中,咱们要应用哪个方程来示意咱们的假如呢?此前,咱们提到心愿咱们分类器的输入值在 0 和 1 之间,另外,当咱们应用线性回归的时候,假如模式为,当初咱们能够稍作批改,假如,sigmoid/logistic 函数,z 是一个实数,将这两个函数联合起来,得出的后果为:,的图像如下图所示,介于 0~1 之间。当初须要做的就是用参数来拟合咱们的数据。因而,拿到一个数据集,咱们须要给参数选定一个值,假如函数会帮忙咱们做出预测。

python 代码实现:

import numpy as np

def sigmoid(z):

return 1 / (1 + np.exp(-z))
在这里,假如函数的输入,假若输入某个数字,能够把这个数字当作对一个输出,y= 1 的概率预计。

举例:

咱们应用肿瘤分类的例子,可能有一个特征向量,同样,,而后咱们的一个特色是肿瘤的大小,假如有一个病人,他的肿瘤大小确定,把他的特征向量带入咱们的假如中,并且假如输入为 0.7,阐明对于一个特色为的患者,y= 1 的概率是 0.7,也就是说,该病人有 70% 的可能性是恶性肿瘤,能够更加正式地写成数学表达式,假如函数的输入等于(知识点:示意在给定 x 的条件下 y = 1 的概率,即病人的特色为 x 的状况下,病人的特色也就是代表肿瘤的大小,这个概率的参数是),所以基本上依赖假如函数来预计 y = 1 的概率是多少,因为这是一个分类工作,y 必须是 0 或 1,无论是在训练集中还是将来可能走进医生办公室的新患者,同时也能够计算 y = 0 的概率,另外,还有个表达式须要理解一下:(能够参照来了解),给定参数,对具有特征 x 的病人,y= 0 的概率与同样给定参数,对具有特征 x 的病人,y= 1 的概率相加和为 1。

本节介绍的是 logistic 回归中假如函数的示意办法,上面将更直观地意识假如函数是什么样子的,会波及到决定边界这个概念,也会有一些可视化的展示帮忙大家更好地了解。

3 断定边界
当初讲下决策边界 (decision boundary) 的概念。这个概念能更好地帮忙咱们了解逻辑回归的假如函数在计算什么。

Logistic 回归的表达式能够写成:,(sigmoid 函数),g(z)图像如下图所示,从零开始缓缓减少至 1,并逐步迫近 1。当初能够进一步了解,这个假如函数何时会将 y 预测为 1,什么时候又将 y 预测为 0,并且能够更好地了解这个假如函数的形态,特地是当咱们的数据有多个特色的时候。

那么什么时候将大于或等于 0.5 呢?咱们最终预测 y =1,看 sigmoid 函数的曲线图,只有 z 大于或等于 0,g(z)就大于等于 0.5,因为 logistic 回归的假如函数,只有大于等于 0,就大于或等于 0.5,所以这里取代了 z 的地位,所以,咱们的假如函数将会预测 y =1,只有大于或等于 0。假如函数预测 y = 0 的状况,相似地,将会小于 0.5,只有 g(z)小于 0.5,这是因为 z 的取值,使得 g(z)小于 0.5 的局部,是 z 小于 0 的局部,当 g(z)小于 0.5 时,咱们的假如函数将会预测 y =0,依据与之前相似的起因,,因而,只有小于 0,咱们就能预测 y 等于 0。总体来说,如果咱们决定要预测 y = 1 或 y =0,取决于估值概率是大于等于 0.5 还是小于 0.5,换句话说,咱们将预测 y = 1 的话,只须要大于或等于 0,另外,咱们将预测 y =0,只须要小于 0。通过这些,咱们能更好地了解 logistic 回归的假如函数是如何做出预测的。

当初,咱们假如有一个训练集,假设假如函数是(如何模仿此模型中的参数后续将会探讨,目前假如咱们曾经拟合好了参数),目前咱们抉择为 3,和均为 1,这意味着我的参数向量,这样咱们就有了这样的一个参数抉择,而后开始试着找出假如函数何时将预测 y =1/0,应用公式,咱们会发现 y 更有可能是 1,或者说 y = 1 的概率大于等于 0.5,只有满足大于 0,即大于 0。转换一下,对于任何样本和,只须要满足即可。而在图片中也能够间接显示进去,画出这条直线,直线的右半局部将预测 y =1,左半局部将预测 y =0。因而,这条直线就被成为决策边界,在该实例中就是这条直线对应的一系列的点,也恰好对应正好等于 0.5 的区域,将整个立体分成了两局部。决策边界是假如函数的一个属性,包含参数、和,决定于其参数。预先,咱们将探讨如何拟合参数,将应用训练集联合咱们的数据来确定参数的取值,然而,一旦咱们有确定的参数取值,如参数、和,咱们就能够齐全确定决策边界。咱们实际上并不需要通过绘制训练集来确定决策边界。

当初咱们看一个更加简单的例子,和平常一样,应用 x 示意咱们的正样本,圆圈示意咱们的负样本,给定一个这样的数据集,出现这样的散布状况,怎样才能应用 logistic 回归来拟合这些数据呢?

之前咱们提到过多项式回归或线性回归时,谈到能够在特色中增加额定的高阶多项式项,咱们也能够对 logistic 回归应用雷同的办法,具体地说,假如函数为:,增加了两个额定的特色和,所以咱们当初有五个参数(如何抉择,,…,的取值),倘若咱们曾经确定,为 -1,和均为 0,和取值为 1,这意味着在这个参数的抉择下,失去的参数向量是。也就是说,预测 y = 1 时,只须要即可,更为简略地说也就是只有就行。从而能够晓得决策边界是,这是以原点为核心半径为 1 的圆,只有在圆里面,都将预测 y =1,而在圆内的话,都将预测 y =0。通过在特色中减少这些简单的多项式,还能够失去更为简单的决策边界,并不全是以直线划分正负样本。再次强调,决策边界并不是训练集的属性,而是假如自身及其参数的属性,只有给定了参数向量,决定边界就确定了,并不是用训练集来确定决策边界,而是用训练集来拟合参数。

还有比这更为简单的决策边界吗?,比方咱们有更高阶的多项式:,这种就能够失去更为简单的决策边界,而 logistic 回归能够用于寻找决策边界,例如这样一个椭圆,参数不同,兴许会失去另一个不同的决策边界,还有一些其余乏味的形态。因而,这些高阶多项式特色能够让咱们失去非常复杂的决策边界。从而能够让咱们更加清晰地意识到,什么样的假如函数,咱们能够应用 logistic 回归来示意。

当初咱们晓得了,接下来将学习如何主动抉择参数,使咱们能在给定一个训练集时,依据数据主动拟合参数。

好啦,明天小 Mi 率领大家全新意识了逻辑回归的根本函数示意,下期咱们还将进一步学习其代价函数、梯度降落法以及多类别的分类问题。咱们,下期再见呦~

退出移动版