1.名为“回归”的分类器
逻辑回归,是一种名为
“
回归
”
的线性分类器,其本质是由线性回 归变化而来的,一种广泛使用于分类问题中的广义回归算法。要理解逻辑回归从何而来,得要先理解线性回归。线 性回归是机器学习中最简单的的回归算法,它写作一个几乎人人熟悉的方程:
![](https://i-blog.csdnimg.cn/blog_migrate/c80ee9d24e8173911e0c92e4c938e4ff.png)
被统称为模型的参数,其中θ被称为截距(intercept)
,
~
被称为系数
(coeffiffifficient),这个表达式,其实就和我们小学时就无比熟悉的y=ax+b是同样的性质。
线性回归的任务,就是构造一个预测函数 来映射输入的特征矩阵
x
和标签值
y
的线性关系,而
构造预测函数的核心
就是找出模型的参数:
和
0
,著名的最小二乘法就是用来求解线性回归中参数的数学方法。
面试高危问题:
Sigmoid
函数的公式和性质
Sigmoid函数是一个S型的函数,当自变量z趋近正无穷时,因变量g(z)趋近于1,而当z趋近负无穷时,g(z)趋近 于0,它能够将任何实数映射到(0,1)区间,使其可用于将任意值函数转换为更适合二分类的函数。因为这个性质,Sigmoid函数也被当作是归一化的一种方法,与我们之前学过的MinMaxSclaer同理,是属于数据预处理中的“缩放”功能,可以将数据压缩到[0,1]之内。区别在于,MinMaxScaler归一化之后,是可以取到0和1的(最大值归一化后就是1,最小值归一化后就是0),但Sigmoid函数只是无限趋近于0和1。
为什么需要逻辑回归?
线性回归对数据的要求很严格,比如标签必须满足正态分布,特征之间的多重共线性需要消除等等,而现实中很多 真实情景的数据无法满足这些要求,因此线性回归在很多现实情境的应用效果有限。逻辑回归是由线性回归变化而来,因此它对数据也有一些要求,而我们之前已经学过了强大的分类模型决策树和随机森林,它们的分类效力很强,并且不需要对数据做任何预处理。何况,逻辑回归的原理其实并不简单。一个人要理解逻辑回归,必须要有一定的数学基础,必须理解损失函数,正 则化,梯度下降,海森矩阵等等这些复杂的概念,才能够对逻辑回归进行调优。其涉及到的数学理念,不比支持向量机少多少。况且,要计算概率,朴素贝叶斯可以计算出真正意义上的概率,要进行分类,机器学习中能够完成二 分类功能的模型简直多如牛毛。因此,在数据挖掘,人工智能所涉及到的医疗,教育,人脸识别,语音识别这些领 域,逻辑回归没有太多的出场机会。但是,无论机器学习领域如何折腾,逻辑回归依然是一个受工业商业热爱,使用广泛的模型,因为它有着不可替代 的优点:1.逻辑回归对线性关系的拟合效果好到丧心病狂 2.逻辑回归计算快 3.逻辑回归返回的分类结果不是固定的0和1,而是以小数形式呈现的类概率数字。
另外,逻辑回归还有抗噪能力强的优点。福布斯杂志在讨论逻辑回归的优点时,甚至有着“技术上来说,最佳模型的AUC面积低于0.8时,逻辑回归非常明显优于树模型”的说法。并且,逻辑回归在小数据集上表现更好,在大型的 数据集上,树模型有着更好的表现。
2.二元逻辑回归的损失函数
损失函数的概念与解惑
我们使用”
损失函数
“
这个评估指标,来
衡量参数为
的模型拟合训练集时产生的信息损失的大小,并以此衡
量参数的优劣。
衡量参数的优劣的评估指标,用来求解最优参数的工具损失函数小;模型在训练集上表现优异,拟合充分,参数优秀;损失函数大,模型在训练集上表现差劲,拟合不足,参数糟糕 ,我们追求,能够让损失函数最小化的参数组合 ,注意:没有”求解参数“需求的模型没有损失函数,比如KNN,决策树
逻辑回归的损失函数是由极大似然估计推导出来的,具体结果可以写作:
![](https://i-blog.csdnimg.cn/blog_migrate/b660f406f1bb739a2bd5aedfbc8bee28.png)
由于我们追求损失函数的最小值,让模型在训练集上表现最优,可能会引发另一个问题:如果模型在训练集上表示优秀,却在测试集上表现糟糕,模型就会过拟合。虽然逻辑回归和线性回归是天生欠拟合的模型,但我们还是需要控制过拟合的技术来帮助我们调整模型,对逻辑回归中过拟合的控制,通过正则化来实现
。
正则化
正则化是用来防止模型过拟合的过程,常用的有
L1
正则化和
L2
正则化两种选项,分别通过在损失函数后加上参数向量 的L1
范式和
L2
范式的倍数来实现。这个增加的范式,被称为
“
正则项
”
,也被称为
"
惩罚项
"
。损失函数改变,基于损失函数的最优化来求解的参数取值必然改变,我们以此来调节模型拟合的程度。其中L1
范式表现为参数向量中的每个参数的绝对值之和,L2
范数表现为参数向量中的每个参数的平方和的开方值。
![](https://i-blog.csdnimg.cn/blog_migrate/21e63bf75ba3b90173cab6eeff4d6757.png)
L1
正则化和
L2
正则化虽然都可以控制过拟合,但它们的效果并不相同。当正则化强度逐渐增大(即
C
逐渐变小), 参数的取值会逐渐变小,但L1
正则化会将参数压缩为
0
,
L2
正则化只会让参数尽量小,不会取到
0
。 在L1
正则化在逐渐加强的过程中,携带信息量小的、对模型贡献不大的特征的参数,会比携带大量信息的、对模型有巨大贡献的特征的参数更快地变成0
,所以
L1
正则化本质是一个特征选择的过程,掌管了参数的
“
稀疏性
”
。
L1
正则化越强,参数向量中就越多的参数为0
,参数就越稀疏,选出来的特征就越少,以此来防止过拟合。因此,如果特征量很大,数据维度很高,我们会倾向于使用L1
正则化。由于
L1
正则化的这个性质,逻辑回归的特征选择可以由
Embedded嵌入法来完成。
相对的,
L2
正则化在加强的过程中,会尽量让每个特征对模型都有一些小的贡献,但携带信息少,对模型贡献不大的特征的参数会非常接近于0
。通常来说,如果我们的主要目的只是为了防止过拟合,选择
L2
正则化就足够了。但是如果选择L2
正则化后还是过拟合,模型在未知数据集上的效果表现很差,就可以考虑
L1
正则化。