逻辑回归可能是世界上使用最广泛的单一分类算法
以判断肿瘤类型为例,在线性回归模型当中
对于正常数据集来说,会出现蓝色的线性回归,在标准0.5处做垂线,左侧为良性,右侧恶性
但如果有些数据过大,则会导致出现绿色的线性回归,将直线的斜率降低
这样做会使得本来应该诊断为恶性的肿瘤因为低于标准0.5,误诊为良性
所以,线性回归未必是一个好的分类方法
相比之下,我们做的逻辑回归会为这个数据集拟合出一条看起来像S型的曲线
如果患者被判断为0.7,但输出的标签只有0或1
为了构建逻辑回归算法,我们要描述一个重要的数学函数,即逻辑函数,如下右图
逻辑函数的关键是z的取值,因为是指数且为-z
当z为负很小的数时,负负得正,使得分母很大,g(z)接近于0,反之g(z)接近于1
构建逻辑回归算法分两步
第一步,先通过一个类似线性回归的函数来计算z
第二步,将第一步的z传入逻辑函数,然后由逻辑函数计算,最后的值将介于0和1之间
下一步是解释逻辑回归函数给出值的含义
仍然以肿瘤分类为例,读者应该看得懂英文吧,我就不翻译了
下面看一下决策边界,以便更好了解逻辑回归是如何计算这些预测的
通常设标准为0.5,为了得到0.5我们需要对逻辑函数进行计算
进一步的使得我们需要对输入的z有要求,通常是Z=0,这也是关键所在
不同的参数设置会有不同的边界
本例中,设置参数值如图所示,当x1+x2=3时,才能满足z=0
所以x1+x2=3这条线为边界
本例中,x1^2+x2^2=1为边界,才能满足z=0
实际应用中的边界曲线千变万化
逻辑回归的损失函数如下,假设只有真假 (二分类)
但我们实际上可以将他写成如下式子
将不同的y代入是等效的
过拟合与欠拟合
有三种情况,老师列举了三种例子
欠拟合,在训练集上表现就不好
正常情况,大致契合训练集中的数据
过拟合,完美契合训练集中的数据 ,但也因此对新的数据不能做很好的预测,不适合推广
我们希望我们的模型是一个没有高偏差也没有高方差的模型
解决过拟合有以下几个方法
第一个,选择合适的特征
虽然我们可以有很多的特征,但如果数据量不足那么会出现左侧情况
适当选择合适的特征,会解决此类问题,但又会产生丢失特征的情况
第二个,收集更多的数据
第三个,正则化
正则化的作用是可以保留所有特征,但他们只是防止产生过大的影响,通常做法是减少参数的大小
它鼓励学习算法缩小参数值,而不要求参数正好设置为0
本例中,参数设置很大时,在乘以本来就很大的系数1000,结果会更大
正则化时我们将参数赋予一个很小的值,结果会有显著不同
但实际应用中,正则化往往有很多参数,我们不知道哪些是最重要的特征,哪些是要惩罚的
因此,正则化的典型方式是惩罚(老师是这么说的)所有的特征
本例中,我们设置了100个特征,因为我们不知道哪些是重要的
所以我们稍微惩罚一下他们,并通过添加一个新项λ
乘以1到n的平方总和来缩小他们,本例中n为100,这里的λ也称之为正则化参数
我们通常会忽略对b的处理,因为做与不做对结果影响不大
新生成的成本函数会权衡我们可能拥有的两个目标
尝试最小化第一项会鼓励算法通过最小化预测值和实际值的平方差来很好的拟合训练数据
并尽量减少第二项,试图使参数Wj保持较小,减少过拟合
这里λ的取值要适当