首页 > 代码库 > Logistic Regression & Classification (1)
Logistic Regression & Classification (1)
一、为什么不使用Linear Regression
一个简单的例子:如果训练集出现跨度很大的情况,容易造成误分类。如图所示,图中洋红色的直线为我们的假设函数
。我们假定,当该直线纵轴取值大于等于0.5时,判定Malignant为真,即y=1,恶性肿瘤;而当纵轴取值小于0.5时,判定为良性肿瘤,即y=0。
就洋红色直线而言,是在没有最右面的"×"的训练集,通过线性回归而产生的。因而这看上去做了很好的分类处理,但是,当训练集中加入了右侧的"×"之后,导致整个线性回归的结果变成了蓝色的直线,这样导致本来应该在恶性肿瘤的分类,变成了在良性肿瘤中的分类,产生了误分类。因而使用线性回归来实现这一分类问题,往往是会导致错误的,或者说不能很好地得到拟合效果。
二、什么是Logistic Regression
在上述例子中,我们想把肿瘤的样式分为良性和恶性两种,分别用0和1来表示,所以,我们希望我们的假设函数
能够在[0,1]这个范围之内,因而,我们需要一个函数,对我们的假设函数进行变换,那么这个函数就是Logistic函数,或者叫sigmoid函数。
- sigmoid函数
那么现在我们的假设函数变成了
其中g(δ)即为sigmoid函数。
- sigmoid变换后的等价
当sigmoid变换之后,从图像中可以看出,当我们原先的假设函数大于0的时候,sigmoid变换后的假设函数即为分类1;当我们原先的假设函数小于0的时候,sigmoid变换后的假设函数即为分类0。
三、什么是Decision boundary
Decision boundary 顾名思义,就是决策边界。那么什么是决策边界呢。
举个例子,比如,现在我们的假设函数长这样
可以看到,我们有一个θ向量,和两个x变量,我们的训练集如图所示,训练集指的是图中的xxoo。
将θ向量赋值为[-3, 1, 1](这里表示向量,由于编辑公式太繁琐,没有将其转置),那么想要得到假设函数为分类y = 1,
(这里y = h(x)), 那么条件就是,这里是将θ向量带入到g函数的参数列表中。 因而,这个条件对应的线性规划图像,
即为图中的洋红色直线,那么这条直线就称为是决策边界。
ok,我们再举一个复杂的例子。
比如,现在我们的假设函数长这样
训练集如图所示:
将θ向量赋值为[-1, 0 ,0,1, 1],那么想要得到分类y=1,这里就是"×"所在的分类,需要满足的条件就是。
这样一来,决策边界便是这个单位圆。
那么说了这么两个例子,我们很清楚的看到,决策边界是由θ向量所决定的,所以我们要做的事情就是来确定我们的θ向量。
四、Cost Function
既然我们知道了决策边界是由向量θ所决定的,那么我们如何通过算法来确定我们的θ向量呢。像之前的线性回归算法一样,我们
通过一个损失函数来衡量向量θ的好坏。有关于Cost Function,我们在下一篇文章中进行详述。
null
Logistic Regression & Classification (1)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。