Machine Learning--分类问题

  在机器学习中,分类问题又被称为逻辑回归问题(Logistic Regression)。那么什么叫做回归呢?其实回归在数学上来说是给定一个点集,能够用一条曲线去拟合之,如果这个曲线是一条直线,那就被称为线性回归,如果曲线是一条二次曲线,就被称为二次回归,回归还有很多的变种,比如这里提到的逻辑回归等等。。。

  逻辑回归不同于之前提到的线性回归问题--比如根据房子的大小去预测房价。这种线性回归问题,一般是对于连续值结果进行预测,给定一个房子大小总有一个房价与其对应。现实生活中也有很多问题不符合线性模型,也就是说其值并不连续,例如分类问题。这种问题的特点是结果只有两个:要么是1(是/有/能)要么是0(否/没有/不能)。比较常见的分类问题有:OutLook对新收到的邮件进行判断是否为垃圾邮件;医学上,根据某些现象判断病人是否患有疾病;入学时,根据学生之前的考试结果判断能否被某个学校录取等等。显然用线性回归算法来解决分类问题就不是很合理了。下面我们看个例子。

  我们就以判断病人是否患有恶性肿瘤为例,这个例子中影响肿瘤为恶性还是良性的唯一一个特征值就是肿瘤大小。假设我们有一系列的数据集,很多病人的肿瘤大小以及肿瘤是良性还是恶性。我们以1为恶性,0为良性,将数据集中的肿瘤大小放到坐标系的横坐标,并以数据集中该肿瘤是恶性还是良性作为纵坐标,得到的结果如下图所示:

  我们可以看到最左侧的四个红叉表明这几个病人的肿瘤为良性,右侧四个红叉表明这几个病人的肿瘤为恶性。如果我们还使用线性回归算法来做,我们可以用一条直线去拟合图中的八个点,根据之前讲的线性回归的算法,我们可以使用最小二乘法使得这条直线离所有这八个红叉的方差最近。如下图所示:

 

 

  我们假设这条蓝色的线能够满足我们的需求,那么我们可以取y轴的中点,也就是0.5作为一个判断肿瘤是恶性还是良性的标准。即如果y的值大于0.5,则认为肿瘤为恶性,小于0.5则认为肿瘤为良性。这意味着所有使得满足y大于0.5的x的取值也就是大于某个肿瘤大小的肿瘤都为恶性,如下图所示肿瘤大小小于x的都为良性,大于x的都为恶性。

    

  但是这个结果合理吗?假设我们再多加一个病人的肿瘤大小和状况,如下图所示:

我们看到新加入的数据在最右侧,这时候原来的模型已经不适合这个新加入的点了,怎么办呢?我们继续移动图中的直线,让它满足新加入的数据吗?如果我们这么做了,我们会发现原来的x值已经变了(往右移动),整个模型也随之改变了,可以发现通过线性回归得到的模型并不能很好的解决我们这个问题。分类问题中,y有可能是1或者0,但是使用线性回归的话,y有可能远大于1 或者远小于0,这就不是很合理了。所以线性回归算法在该类问题中并不是很适用,但逻辑回归算法可以保证y的取值在01之间。所以,我们引入了逻辑回归算法,对这种分类问题进行处理。

我们希望y的值在01之间。S型函数(或者叫逻辑函数表示函数g)就可以满足我们的需求。S型函数的值在01之间,假设函数就是图中的红色曲线的样子,至于为什么是这个样子的,是通过最大似然法推到出来的。有兴趣的同学可以去查下资料。我们这里只需要知道假设函数是什么样子,怎么使用逻辑回归解决分类问题就好。

  

  在逻辑回归中有一个概念叫做:决策边界(Decision Boundary)。 决策边界是假设函数的一个属性。给定参数theta的值,代入到yx)中,可以计算出什么情况下y=1。发现x1+x2=3这条直线的上边是y=1,下面是y=0的情况。x1+x2=3 就是决策边界。只要有参数就能完全确定决策边界。我们不是使用训练集来确定决策边界,而是通过训练集去拟合参数,通过参数来确定决策边界。

 

 

未完待续。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值