博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
大白话5分钟带你走进人工智能-第十六节逻辑回归之分类的原因(1)
阅读量:4706 次
发布时间:2019-06-10

本文共 1937 字,大约阅读时间需要 6 分钟。

                                                                                                                                 第十六节逻辑回归做分类的原因(1)

从本节开始,我们讲解一个新的算法,逻辑回归。多元性回归是做回归的,它真的是回归这个领域里面的一个算法。对于有监督机器学习来说,除了做回归还可以做分类。逻辑回归是一个分类的算法。回归跟分类它俩都是有监督的机器学习,有什么区别呢?区别在于y。回归的y是负无穷到正无穷之间的如果是分类,我们的这个地方的y就得是,一般从0开始,0是第1个分类,1是第2个分类,2是第3个分类,3是第4个分类,它是一个离散的。所以首先你拿了一份数据,得问自己这份数据是做什么的,如果是做回归,就得问谁是y,谁是目标。发现y之后,如果是回归,它必须得是连续的;如果是分类,如果y不是零散的,应该把它变成零散的。

logistic regression,逻辑回归,有些书上也会叫做罗基斯特回归,虽然它叫回归,但它是做分类的,它跟我们的回归有什么关系呢?我们从简单开始来说,二分类,二分类的y分类号只有两个,一个是0,还有一个是1,通常0称为叫负例,1称为叫正例。也就是说y这一列,它要么就是0,要么就是1。y=W^T*X,用前面的多元线性回归,能不能去做分类?

比如下面这张图:

横轴Tumor Size,肿瘤的大小,纵轴,Malignant,恶性的意思。 y要么是0,要么就是1,每个红色的x是每个样本,每个点相当于样本点位置。如果我们用多元线回归,就是用一条直线尽可能穿过一个个的点,就是去拟合,使得mse变小。图中粉色的线是我们拟合的曲线。怎么样把数据点分开?如果是一维的(一维就是一根直线一个轴),切成两半,只需要找一个点就可以切开。如果这条直线的区间是负无穷到正无穷,那么这个点是零。   如果升高维度是二维的,有两个轴,要把一个平面切成两半,你需要一个直线,但直线的位置就要根据已有的点来定了。区间为正无穷到负无穷的一维直线可以用0的位置来区分。因为我们拟合的直线y=W^T*X也是一条一维的直线,我们要把这条直线且分开,只需要找到一个X去乘以已有的w模型,可以使W^T*X=0,相当于这根线的这个区分点就找到了。此时这个分界点所对应的横轴的X值就是W^T*X里面的X。我们就可以用它做分类,可以这样表述,肿瘤的大小,小于一定的值的时候,我们就可以标签y赋值为0,说明它没有坏。如果肿瘤大小,大于一定值的时候,我们就就可以标签y赋值为1,说明这个地方有病变。所以如果用多元线性回归做分类的话,我们的步骤是拟合现在已有的点,找到一条拟合的直线,然后我们找到一个X可以使得W^T*X=0的时候,这个X就可以作为拟合直线的一个分界点。未来来一条新的数据X的时候,跟已有的x比较,看它是大于还是小于分界点X来做分类。

所以说多元线性回归,也能做分类。但是为什么在众多的算法当中,人们没有把多元线性回归变成一个分类的算法去应用?原因就因为下面这张图。

这张图就说出了一个它没有做一个分类算法的本质原因,因为它特别容易受到一个离群值的影响。如果已有的数据点是这张图里面所有的X。异常值这个点就会把我们的整个的拟合的直线给它拉过去。这个时候如果我们要找到一个W^T*X=0的情况,我们找的X就是上图中这个分界点X了,对于原来的数据来看,就会有两个数据点分错了,在图中已经标明出来。

对于一维来说,我们找的是分界点去分类;对于二维数据来说,我们找的是一条直线去区分。所以对二维数据来说,如果有一个异常点,这个直线就不太满足了。我们应该怎么去办?实际上第一张图,分界点X对应的绿色的分界线是挺好的,能区分正确的数据分类。当多了异常值之后,分界点X对应的绿色的分界线是不太好。所以我们的想法是找到一个好的分界线。

当多了异常值之后。如果下图中原本正确的分界点的位置来一条分界线(绿色虚线分界线),其对应的这个分界点会和之前一样也能将数据分开。

怎么才能让你原来的线性拟合可以变成分界点在这?去掉离群值肯定可以,是对数据进行变化。如果是算法变化,假如我们不用直线去拟合,我们用曲线去拟合,用什么样的曲线可以解决这个问题?如果是上图中S形的曲线,这个时候分界点是W^T*X=0,这个值就可以把你的负例和正例很好的分开。

所以就会发现,你的模型来拟合已有数据的时候,不能全都用直线,对于这个例子来说是S形的曲线比较好,于是乎人们就琢磨出了另外一个曲线,sigmoid曲线,用曲线去拟合已有点,然后找到分界的位置去分类。 因此S曲线就是逻辑回归。为什么叫回归?因为是用S曲线去拟合原来的点,但它的目标是找到一个分界点,对一维来说去做分类而已,所以它叫逻辑回归,是去做分类的。

转载于:https://www.cnblogs.com/LHWorldBlog/p/10788891.html

你可能感兴趣的文章
雷林鹏分享:jQuery Mobile 列表内容
查看>>
雷林鹏分享:MySQL PHP 语法
查看>>
Java学习笔记(9)
查看>>
LVM逻辑卷管理
查看>>
zabbix 分布式zabbix_proxy
查看>>
spring 时间格式化注解@DateTimeFormat和 @JsonFormat
查看>>
C语言第二次实验报告
查看>>
Go语言学习笔记(七)
查看>>
Linux查找疑似被挂木马文件方法以及Nginx根据不同IP做不同反向代理
查看>>
phpstorm 2018.1.6 和谐版安装方法
查看>>
NFS应用场景及环境搭建
查看>>
让xamarin的Entry绑定时,支持Nullable类型
查看>>
kivy学习三:打包成window可执行文件
查看>>
兄弟连PHP培训教你提升效率的20个要点
查看>>
【快报】基于K2 BPM的新一代协同办公门户实践交流会
查看>>
关于MySQL的行转列的简单应用
查看>>
Queue 队列的用法
查看>>
CDM常用命令
查看>>
游戏开发中常用的设计模式
查看>>
Linux 中/etc/profile、~/.bash_profile 环境变量配置及执行过程
查看>>