美文网首页
吴恩达机器学习-logistic回归

吴恩达机器学习-logistic回归

作者: 魏清宇 | 来源:发表于2019-01-21 16:08 被阅读0次

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

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

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

    线性回归拟合而分类问题

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

    线性回归进行二分类问题预测

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

    logistic function

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

    对于假说的输出结果的解释

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

    决策边界

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

    假设函数与sigmoid function

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

    线性决策边界

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

    非线性决策边界

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

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

    参数求解问题中的变量 线性回归中的cost function

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

    logistic回归找中的cost function

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

    当y=0时的损失函数图

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

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

    简化的logistic回归损失函数

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

    简化后的损失函数 参数求解

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

    梯度下降法用于logistic回归

    logistic回归的高级优化

    几种高级优化算法

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

    logistic多元分类:一对多

    多分类问题的引例

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

    logistic回归用于多分类问题

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

    相关文章

      网友评论

          本文标题:吴恩达机器学习-logistic回归

          本文链接:https://www.haomeiwen.com/subject/tweqdqtx.html