五、逻辑回归(Logistic Regression)
5.1 分类问题
在接下来的几节里,我想讨论要预测的变量\(y\)是一个离散值的分类问题.接下来就是讨论逻辑回归算法.
在分类问题中,我们尝试预测的是结果是否属于某一个类(例如正确或错误).分类问题的例子有:判断一封电子邮件是否是垃圾邮件;判断一次金融交易是否是欺诈;之前我们也谈到了肿瘤分类问题的例子,区别一个肿瘤是恶性的还是良性的.
我们从二元的分类问题开始讨论:
我们将\(y\)的范围确定是属于{0,1}
两个数.我们常常用0
表示没有某种属性,而1表示有我们要寻找的属性.
我们将因变量(dependent variable)
可能属于的两个类分别称为负向类(negative class)
和正向类(positive class)
,则因变量\(y \in 0,1\).其中0
表示负向类,1
表示正向类.
如果我们要用线性回归算法来解决一个分类问题,我们会想到用一条直线取拟合数据.如果想要作出预测,一个做法是设置一个阈值,如果>
阈值,我们设置为正类(如下所示),小于阈值设置为反类.
在上图预测肿瘤性质的例子里,线性回归的预测效果似乎还可以.但如果我们把横轴延长一点,假设有另一个训练样本位于右方远处,如果在此样本运行线性回归,就会得到另外一条直线(蓝色)去拟合数据.如果阈值没有改变(仍为$ h_{\theta}(x) = 0.5$),这样的拟合效果就比较差劲.在右方远处的样本没有提供什么有用的信息,但它使得拟合效果不佳.所以考虑到上述问题,将线性回归用于分类问题,通常不是一个好主意.
接下来再思考一个问题,如果我们将线性回归用于分类问题会怎么样?对于分类,y取值0或1.但如果你使用的是线性回归,那么假设函数的输出值可能远大于1,或者远小于0.即使所有训练样本的标签y都等于0或等于1.尽管我们知道y
应该取值0 或者1,但是如果算法得到的值远大于1或者远小于0的话,就会感觉很奇怪.在后面几节,我们将介绍逻辑回归算法,这个算法的性质是:它的输出值永远在0到1之间.
5.2 假设陈述
在本节,我要给你展示假设函数的表达式,也就是说,在分类问题中,要用什么样的函数来表示我们的假设.此前我们说过,希望我们的分类器的输出值在0和1之间.因此,我们希望想出一个满足某个性质的假设函数,这个性质是它的预测值要在0和1之间.
当我们使用线性回归时,假设看起来是这样:
这里我们打算修改一点来获得逻辑回归函数,也就是把\(\theta^Tx\)当作g函数(逻辑函数 logistic function)的参数.即:
\[h_{\theta}(x) = g(\theta^TX) \]逻辑函数也称为\(S\)形函数(Sigmoid function
),如果我们将\(z = \theta^TX\),那么:
如果我们将上面两式联立的话,就会得到:
\[h_{\theta}(x) = \frac{1}{1+e^{-\theta^TX}} \]科普一下:sigmoid函数可以将一个实数映射到[0,1]的区间,可以用来做二分类.
该函数的图像为:
我们需要用参数\(\theta\)来拟合我们的数据.所以拿到训练集时,我们需要给参数\(\theta\)设定一个值.
稍后我们会学习一个方法,帮助我们拟合参数\(\theta\).但现在我们先讨论对这个模型的解释:
当我们的假设\(h_{\theta}(x)\)输出一个数,我们会把它当作,对于一个输入\(x\),y输出1的概率估计.
例如,如果对于给定的\(x\),通过已经确定的参数计算得出$ h_{\theta}(x) = 0.7$.则表示有70%
的几率,y
为正向类.相应地,y为负向类的几率为1-0.7=0.3.
用数学的方法表示就是
这里解释一下\(P(y=1|x;\theta)\)是什么意思.我们可以参考正态分布的概率密度函数..这个函数里有两个参数,均值\(\mu\)和方差\(\sigma\).通过调节这两个参数的取值,我们可以得到不一样的正态分布.以这个概率密度函数也可以用\(f_x(x; \mu , \sigma )\)表示.
6.3 决策界限
本节我们来讲述一下决策界限(decision boundary)的概念:
标签:吴恩达,函数,回归,分类,笔记,第五章,拟合,theta,我们 From: https://www.cnblogs.com/newblg/p/17042637.html