其中,为位置参数,为形状参数。
曲线在中心附近增长得更快,值越小,曲线在中心附近增长得越快。
特别地,当=0且=1时,它是sigmoid函数。
二、 二项Logistic回归原理
二项式逻辑回归模型是一种分类模型,用条件概率分布P(Y|X)表示,随机变量Y为0或1。
定义二项式逻辑回归模型的条件分布如下:
其中xRn是输入,Y{0,1}是输出,WRn和bR是参数,w称为权重,b称为偏差。
有时为了方便起见,权重向量和输入向量会被扩展:
w=(w1, w2, …, wn, b)T, x=(x1, x2, …, xn, 1)T
因此,逻辑回归模型变为:
得到概率后,我们可以通过设置阈值将样本分为两类。例如:阈值为0.5时,大于0.5时为一类,小于0.5时为另一类。
三、 参数估计
有了上面的模型,我们需要找到模型中的参数w。我们可以使用最大似然估计来估计模型的参数。
设置:
似然函数为:
对数似然函数:
找到L(w)的最大值并获得w的估计值。求解参数w通常采用梯度下降法或拟牛顿法。
四、 Logistic回归的正则化
正则化是为了解决过拟合问题。分为L1和L2正则化。在目标函数中加入正则化,即加入模型复杂度的评估。正则化遵循奥卡姆剃刀原理,即在所有可能的模型中,最好的模型是能够很好地解释已知数据并且非常简单的模型。
添加正则化后,模型的目标函数变为:
P表示范数,p=1是L1正则化,p=2是L2正则化
L1正则化:向量中每个元素的绝对值之和。关键是能够自动选择特征,稀疏参数可以减少不必要的特征引入的噪声。
L2正则化:向量中元素的平方和,L2将使每个元素尽可能小,但不为零。
左边是L1正则化,右边是L2正则化。假设权重参数w只有两个维度w1和w2。 L1为各元素绝对值之和,即|w1|+|w2|=C,则所得形状为棱柱,L2为(w1)^2+(w2)^2=C,则所得形状为圆形。容易发现L1在顶点相切的可能性较大,而L2在顶点相切的可能性较小。在顶点处,其中一个参数为0,这就是L1使参数稀疏的原因。
五、 Logistic回归和线性回归区别
1. Logistic回归在线性回归的实际输出范围中添加了sigmoid函数,使输出值收敛在0和1之间。目标函数因此从差分平方和函数变为对数损失函数。
2.逻辑回归和线性回归都是广义线性回归。线性回归使用最小二乘法来优化目标函数,而逻辑回归则使用梯度下降或拟牛顿法。
3. 线性回归在整个实数域内进行预测,灵敏度一致,分类范围需要为[0,1]。逻辑回归是一种缩小预测范围并将预测值限制在[0,1]范围内的回归模型。因此,对于二分类问题,逻辑回归更加稳健。
4、Logistic回归理论上有线性回归的支持,但线性回归模型无法实现sigmoid的非线性形式。 Sigmoid可以轻松处理0/1分类问题。
六、 为什么Logistic回归的输入特征一般都是离散化而不是连续的
1.离散特征易于增减,使得模型易于迭代。
2.离散特征的内积运算速度快,计算结果易于存储。
3. 对异常值不敏感。例如,如果某个特征的年龄为30 岁,则该特征为1,否则如果该特征未离散化,则为0。 300年前的异常数据会给模型带来很大的干扰。
4.逻辑回归是一种广义线性模型,表达能力有限。将单个变量离散化为N个后,每个变量都有独立的权重,相当于在模型中引入了非线性,可以提高模型的表达能力,增加拟合度。
5、特征离散化后,可以进行特征交集,从M+N变量变为M*N变量,进一步引入非线性,提高表达能力。
6.特征离散化后,模型会更加稳定。例如,要离散化用户年龄,可以使用20到30作为区间。这样,用户就不会因为长大一岁而变成完全不同的人。当然,与区间相邻的样本会完全相反,所以如何划分区间是我们的学问。
7.特征离散化后,简化了逻辑回归模型,降低了模型过拟合的风险。
七、 Logistic回归和SVM的关系
1.LR和SVM都可以处理分类问题,一般都处理线性二分类问题。
2.LR是参数模型,SVM是非参数模型。
3、LR的目标函数是对数似然函数,SVM的目标函数是铰链损失函数。这两个函数都会增加对分类结果影响较大的数据点的权重,并减少影响较小的数据点的权重。
4、SVM的处理方式是只考虑支持向量,即与分类最相关的几个点,来学习分类器。逻辑回归通过非线性映射,大大降低了远离分类平面的点的权重,相对增加了与分类最相关的数据点的权重。
5.逻辑回归模型相对简单,更容易理解,尤其是在大规模线性分类时。 SVM的理解和优化相对复杂。 SVM转换为对偶问题后,分类只需要计算与少数支持向量的距离。这在计算复杂核函数时具有明显的优势,可以大大简化模型和计算。
用户评论
念安я
终于开始看机器学习算法了!
有18位网友表示赞同!
箜明
logistic回归作为基础算法太重要,要好好理解!
有19位网友表示赞同!
醉红颜
想学习如何把分类问题交给机器学习解决嘛? 这篇博客适合我!
有16位网友表示赞同!
刺心爱人i
简单易懂的讲解很适合入门的人学习
有5位网友表示赞同!
素颜倾城
期待后续的机器学习算法介绍!
有7位网友表示赞同!
陌颜幽梦
对Logistic回归一直不太理解,这篇博客希望能给我一些启发。
有8位网友表示赞同!
厌归人
logistic回归应用场景很多,比如预测用户点击广告等等,很有实用性!
有14位网友表示赞同!
凉凉凉”凉但是人心
感觉这篇文章写的很全面,从原理到应用都讲了
有10位网友表示赞同!
哭花了素颜
机器学习算法越来越重要了,要好好研究一下Logistic回归!
有14位网友表示赞同!
信仰
感谢博主分享这个讲解 Logistic Regression 的文章!
有15位网友表示赞同!
失心疯i
logistic模型的推导和解释非常清晰易懂!
有16位网友表示赞同!
将妓就计
想尝试自己用python实现 logistic 回归算法!
有8位网友表示赞同!
安陌醉生
这篇文章让我对分类问题的解决方案有了更清晰的了解!
有16位网友表示赞同!
沐晴つ
机器学习入门必备的内容,希望后面的文章也能深入讲解其他算法!
有6位网友表示赞同!
苍白的笑〃
Logistic回归在实际应用中效果怎么样呢? 文章可以补充一些案例分析。
有14位网友表示赞同!
你很爱吃凉皮
学习了logistic回归之后,对其他的分类算法更容易理解!
有9位网友表示赞同!
聽風
希望能看到更多关于机器学习算法的介绍,比如决策树、支持向量机等等!
有5位网友表示赞同!
嘲笑!
文章中提到的梯度下降算法,我还不太了解,希望能有更多讲解!
有13位网友表示赞同!
墨染殇雪
logistic 回归是一个非常重要的机器学习算法,掌握它可以帮助我在很多领域进行分析
有11位网友表示赞同!