台湾国立大学(林轩田)《机器学习基石》(第9-10讲)Linear Regression and Logistic Regression

课程地址:https://class.coursera.org/ntumlone-001/class
课件讲义:http://download.csdn.net/download/malele4th/10208897
注明:文中图片来自《机器学习基石》课程和部分博客
建议:建议读者学习林轩田老师原课程,本文对原课程有自己的改动和理解

目录

Lecture 9 Linear Regression

上节课,我们主要介绍了在有noise的情况下,VC Bound理论仍然是成立的。同时,介绍了不同的error measure方法。本节课介绍机器学习最常见的一种算法:Linear Regression.

线性回归问题

这里写图片描述
根据上图,在一维或者多维空间里,线性回归的目标是找到一条直线(对应一维)、一个平面(对应二维)或者更高维的超平面,使样本集中的点更接近它,也就是残留误差Residuals最小化。

一般最常用的错误测量方式是基于最小二乘法,其目标是计算误差的最小平方和对应的权重w,即上节课介绍的squared error

这里提一点,最小二乘法可以解决线性问题和非线性问题。线性最小二乘法的解是closed-form,即 X=(ATA)1ATy ,而非线性最小二乘法没有closed-form,通常用迭代法求解。本节课的解就是closed-form的

线性回归算法

样本数据误差Ein是权重w的函数,因为X和y都是已知的。我们的目标就是找出合适的w,使Ein能够最小。那么如何计算呢?

首先,运用矩阵转换的思想,将Ein计算转换为矩阵的形式。
这里写图片描述
两种解法:

偏导为0
梯度下降

对于此类线性回归问题,Ein(w)一般是个凸函数。凸函数的话,我们只要找到一阶导数等于零的位置,就找到了最优解。那么,我们将Ew对每个wi,i=0,1,⋯,d求偏导,偏导为零的wi,即为最优化的权重值分布。

最终,我们推导得到了权重向量 w=(XTX)1XTy ,这是上文提到的closed-form解。其中, (XTX)1XT 又称为伪逆矩阵pseudo-inverse,记为 X+ ,维度是(d+1)xN。

但是,我们注意到,伪逆矩阵中有逆矩阵的计算,逆矩阵 (XTX)1 是否一定存在?一般情况下,只要满足样本数量N远大于样本特征维度d+1,就能保证矩阵的逆是存在的,称之为非奇异矩阵。但是如果是奇异矩阵,不可逆怎么办呢?其实,大部分的计算逆矩阵的软件程序,都可以处理这个问题,也会计算出一个逆矩阵。所以,一般伪逆矩阵是可解的。

泛化问题

现在,可能有这样一个疑问,就是这种求解权重向量的方法是机器学习吗?或者说这种方法满足我们之前推导VC Bound,即是否泛化能力强Ein≈Eout?

有两种观点:

1、这不属于机器学习范畴。因为这种closed-form解的形式跟一般的机器学习算法不一样,而且在计算最小化误差的过程中没有用到迭代。
2、这属于机器学习范畴。因为从结果上看,Ein和Eout都实现了最小化,而且实际上在计算逆矩阵的过程中,也用到了迭代。

学习曲线:
这里写图片描述
当N足够大时,Ein与Eout逐渐接近,满足Ein≈Eout,且数值保持在noise level。这就类似VC理论,证明了当N足够大的时候,这种线性最小二乘法是可以进行机器学习的,算法有效!

总结

本节课,我们主要介绍了Linear Regression。首先,我们从问题出发,想要找到一条直线拟合实际数据值;然后,我们利用最小二乘法,用解析形式推导了权重w的closed-form解;接着,用图形的形式得到 EoutEin2(N+1)N ,证明了linear regression是可以进行机器学习的,;最后,我们证明linear regressin这种方法可以用在binary classification上,虽然上界变宽松了,但是仍然能得到不错的学习方法。

Lecture 10 Logistic Regression

上一节课,我们介绍了Linear Regression线性回归,以及用平方错误来寻找最佳的权重向量w,获得最好的线性预测。本节课将介绍Logistic Regression逻辑回归问题。

逻辑回归问题

一个心脏病预测的问题:根据患者的年龄、血压、体重等信息,来预测患者是否会有心脏病。很明显这是一个二分类问题,其输出y只有{-1,1}两种情况。

二元分类,一般情况下,理想的目标函数f(x)>0.5,则判断为正类1;若f(x)<0.5,则判断为负类-1。

但是,如果我们想知道的不是患者有没有心脏病,而是到底患者有多大的几率是心脏病。这表示,我们更关心的是目标函数的值(分布在0,1之间),表示是正类的概率(正类表示是心脏病)。这跟我们原来讨论的二分类问题不太一样,我们把这个问题称为软性二分类问题(’soft’ binary classification)。这个值越接近1,表示正类的可能性越大;越接近0,表示负类的可能性越大。
这里写图片描述

逻辑回归 error

现在我们将Logistic Regression与之前讲的Linear Classification、Linear Regression做个比较:
这里写图片描述
这三个线性模型都会用到线性scoring function s=wTx 。linear classification的误差使用的是0/1 err;linear regression的误差使用的是squared err。那么logistic regression的误差该如何定义呢?

我们得到logistic regression的err function,称之为cross-entropy error交叉熵误差:
这里写图片描述

梯度下降

下面讨论一下η的大小对迭代优化的影响:η如果太小的话,那么下降的速度就会很慢;η如果太大的话,那么之前利用Taylor展开的方法就不准了,造成下降很不稳定,甚至会上升。因此,η应该选择合适的值,一种方法是在梯度较小的时候,选择小的η,梯度较大的时候,选择大的η,即η正比于 ||Ein(wt)|| 。这样保证了能够快速、稳定地得到最小值Ein(w)。
这里写图片描述

总结

我们今天介绍了Logistic Regression。首先,从逻辑回归的问题出发,将P(+1|x)作为目标函数,将 θ(wTx) 作为hypothesis。接着,我们定义了logistic regression的err function,称之为cross-entropy error交叉熵误差。然后,我们计算logistic regression error的梯度,最后,通过梯度下降算法,计算 Ein(wt)0 时对应的wt值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值