Logistic Regression 原理及推导 python实现

本文详细介绍了Logistic回归的基本概念,包括其作为二分类模型的作用,以及如何通过极大似然估计法和梯度下降法求解参数。文中还探讨了在面对线性不可分数据时的处理策略,并给出了使用Python实现Logistic回归的示例。
摘要由CSDN通过智能技术生成

一、问题引入

首先,Logistic回归是一种广义的线性回归模型,主要用于解决二分类问题。比如,现在我们有N个样本点,每个样本点有两维特征x1和x2,在直角坐标系中画出这N个样本的散点图如下图所示,
1
蓝色和红色分别代表两类样本。现在我们的目标是,根据这N个样本所表现出的特征以及他们各自对应的标签,拟合出一条直线对两类样本进行分类,直线的上侧属于第一类,直线的下侧属于第二类。那么我们如何寻找这条直线呢?我们知道,二维空间的一条直线可以用简单的公式表示
y = b + θ 1 x 1 + θ 2 x 2 = θ T x + b y= b+\theta_{1}x_{1}+\theta_{2}x_{2}= \theta ^{T}x+b y=b+θ1x1+θ2x2=θTx+b
参数 θ T \theta^{T} θT b b b的选择决定了直线的位置,如果我们选取了一组参数 θ \theta θ b b b导致直线的位置是这样的
2

那肯定不合理,因为两类样本完全没有被分开,而如果我们得到了这样一条直线
3

两类样本虽然存在一些小错误,但是基本上被分开了,所以决定这条直线位置的参数和 θ \theta θ b b b就是我们想要的答案。由此,我们可以看到,Logistic Regression问题最终变成了求解参数 θ \theta θ的问题。
二、原理

总的来说,Logistic回归的过程就是根据样本求解分类直线(或者超平面)的参数的过程,求解的方法是极大似然估计法,但是因为似然方程最后求导无法得到解析解,所以用了梯度下降法去逐步优化得到极值。
为什么要用极大似然估计法来求解参数呢?
首先,假设样本有k维特征, x = { x 1 , x 2 , . . . , x k } x=\left \{ x_{1},x_{2},...,x_{k} \right \} x={ x1,x2,...,xk}, y ∈ { 0 , 1 } y\in \left \{ 0,1 \right \} y{ 0,1},用极大似然估计就是在求解怎样的 θ \theta θ b b b可以使得出现了某个x时,出现对应的y的概率最大。
然后,假设这个概率服从的是Sigmoid分布(如下图所示)。样本的每一维特征的取值在经过参数 θ \theta θ线性组合之后取值范围是实数集(-

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值