上一讲介绍了多变量的线性回归,其实接着介绍一下对应的代价函数以及相应的优化方法,但是这些东西在讲梯度下降的时候都已经完成了,感兴趣的读者可往前查阅梯度下降那几篇。
本讲来学习逻辑回归模型。
逻辑回归其实是一个分类算法,它可以处理二元分类以及多元分类。虽然它名字里面有“回归”两个字,却不是一个回归算法。那为什么有“回归”这个误导性的词呢?个人认为,虽然逻辑回归是分类模型,但是它的原理里面却残留着回归模型的影子,本讲对逻辑回归原理进行分析。
我们知道,线性回归的模型是求出输出特征向量Y和输入样本矩阵X之间的线性关系参数θ,满足Y=Xθ。此时我们的Y是连续的,所以是回归模型。如果我们想要Y是离散的话,怎么办呢?
一个可以想到的办法是,我们对于这个Y再做一次函数转换,变为g(Y)。如果我们令g(Y)的值在某个实数区间的时候是类别A,在另一个实数区间的时候是类别B,以此类推,就得到了一个分类模型。如果结果的类别只有两种,那么就是一个二元分类模型了。逻辑回归的出发点就是从这来的。
回忆一下在讲无监督学习时,提到了分类问题,其中有个肿瘤预测问题,针对这个问题我们当然可以用线性回归的方法求出适合数据的一条直线,如下图的粉色直线:
我们可以这样假设:
当hθ大于等于0.5时,预测y=1。
当hθ小于0.5时,预测y=0对于上图所示的数据,按照这样的想法,上述的线性模型似乎能很好地完成分类任务。
但是现实中的数据可能没有这么理想,我们又观测到一个非常大尺寸的恶性肿瘤,于是将其作为实例加入到训练集中来,我们又获得一条新的直线,如下图中的蓝色:
这时,再使用0.5作为阀值来预测肿瘤是良性还是恶性便不合适了,于是我们引入一个新的模型,逻辑回归,该模型的输出变量范围始终在和1之间。 逻辑回归模型的假设是:hθ(x)=g(θTX)
其中:
X代表特征向量
g代表逻辑函数(logistic function)是一个常用的逻辑函数为S形函数(Sigmoid function),公式为:
该函数的图像为:
合起来,我们得到逻辑回归模型的假设:
hθ(x)的作用是,对于给定的输入变量,根据选择的参数计算输出变量等于1的可能性即
例如,如果对于给定的x,通过已经确定的参数计算得出hθ(x)=0.7,则表示有70%的几率y为正向类,相应地y为负向类的几率为1-0.7=0.3。
祝您的机器学习之旅愉快!
本文参考资料:斯坦福吴恩达老师的机器学习讲义,图片直接来自讲义;
领取专属 10元无门槛券
私享最新 技术干货