【分类算法】学习笔记(2)——逻辑回归

Logistic regression

逻辑回归,“逻辑”之意与logistic 和 logit 的含义相差甚远,是指”对数“的意思,所以也叫**对数几率回归*;另外虽然叫” 回归 “,但实际是一种分类的方法,逻辑回归是一种线性分类器。

  • 算法思想: 根据现有数据对分类边界线建立回归公式,以此进行分类。所以,训练算法的母的就是为了找到最佳的分类回归系数。
  • 优点:算法简单,计算量小,速度快。
  • 缺点 : 容易过拟合,一般准确度不高。

Logistic 回归分类器

逻辑回归主要是假设数据服从伯努利分布,然后通过极大似然函数的方法,运用梯度下降等方式进行求解参数,来达到将数据二分类的目的。

1、假设数据服从伯努利分布,假设样本为正的概率为 p ( y = 1 ∣ x ) = h θ ( x ) = 1 1 + e − θ T x p(y=1|x)=h_\theta(x)=\frac{1}{1+e^{-\theta^Tx}} p(y=1x)=hθ(x)=1+eθTx1,则样本为负的概率为 p ( y = − 1 ∣ x ) = 1 − h θ ( x ) = e − θ T x 1 + e − θ T x p(y=-1|x)=1-h_\theta(x)=\frac{e^{-\theta^Tx}}{1+e^{-\theta^Tx}} p(y=1x)=1hθ(x)=1+eθTxeθTx,逻辑回归表达式为: (1) h θ ( x ; θ ) = 1 1 + e − θ T x h_\theta(x;\theta)=\frac{1}{1+e^{-\theta^Tx}}\tag{1} hθ(x;θ)=1+eθTx1(1)
2、使用极大似然函数作为损失函数,因为将极大似然函数取对数就等同于对数似然函数,在逻辑回归下,对数损失函数的训练求解参数的速度比较快。由于数据服从伯努利分布,所以最大化似然函数为:
(2) L θ ( x ) = ∏ i h θ ( x ) y i ( 1 − h θ ( x ) ) 1 − y i L_\theta(x)=\prod_i{h_\theta(x)^{y_i}(1-h_\theta(x))^{1-y_i}}\tag{2} Lθ(x)=ihθ(x)yi(1hθ(x))1yi(2)

对(2)式取对数为: ln ⁡ L θ ( x ) = ∑ i y i ln ⁡ h θ ( x ) + ( 1 − y i ) ln ⁡ ( 1 − h θ ( x ) ) = ∑ i y i ln ⁡ 1 1 + e − θ T x i + ( 1 − y i ) ln ⁡ e − θ T x i 1 + e − θ T x i = ∑ i y i ln ⁡ e θ T x i 1 + e θ T x i + ( 1 − y i ) ( ln ⁡ 1 1 + e θ T x i ) = ∑ i y i θ T x i + ln ⁡ 1 1 + e θ T x i \ln L_\theta(x)=\sum_i{y_i \ln h_\theta(x)+(1-y_i) \ln (1-h_\theta(x))} \\ =\sum_i{y_i \ln \frac{1}{1+e^{-\theta^Tx_i}}+(1-y_i) \ln \frac{e^{-\theta^Tx_i}}{1+e^{-\theta^Tx_i}}}\\ =\sum_i{y_i \ln \frac{e^{\theta^Tx_i}}{1+e^{\theta^Tx_i}}+(1-y_i) (\ln \frac{1}{1+e^{\theta^Tx_i}})}\\ =\sum_i{y_i \theta^Tx_i+ \ln \frac{1}{1+e^{\theta^Tx_i}}} lnLθ(x)=iyilnhθ(x)+(1yi)ln(1hθ(x))=iyiln1+eθTxi1+(1yi)ln1+eθTxieθTxi=iyiln1+eθTxieθTxi+(1yi)(ln1+eθTxi1)=iyiθTxi+ln1+eθTxi1
反之最小化如下函数: (3) L ( θ ) = ∑ i − y i θ T x i + ln ⁡ ( 1 + e θ T x i ) L(\theta)= \sum_i{-y_i \theta^Tx_i+ \ln (1+e^{\theta^Tx_i})}\tag{3} L(θ)=iyiθTxi+ln(1+eθTxi)(3)

3、用梯度下降法求解参数
再对(3)中 θ \theta θ偏导: ∂ L ( θ ) ∂ θ = ∑ i − y i x i + e θ T x i x i 1 + e θ T x i = ∑ i − y i x i + x i h θ ( x i ) = ∑ i ( y i − h θ ( x i ) ) x i \frac{\partial L(\theta)}{\partial \theta}= \sum_i{-y_i x_i+ \frac {e^{\theta^Tx_i}x_i}{1+e^{\theta^Tx_i}}}\\ = \sum_i{-y_i x_i+ x_i h_\theta(x_i)}\\ =\sum_i{(y_i-h_\theta(x_i))x_i} θL(θ)=iyixi+1+eθTxieθTxixi=iyixi+xihθ(xi)=i(yihθ(xi))xi 参数更新公式为: θ t + 1 = θ t + α [ y i − h θ ( x i ) ] x i \theta^{t+1}=\theta^t+\alpha[y_i-h_\theta(x_i)]x_i θt+1=θt+α[yihθ(xi)]xi

逻辑回归需要解决的问题

  • 易过拟合——在损失函数上加入正则项: J ( θ ) = L ( θ ) + λ ∥ w ∥ p J(\theta)=L(\theta)+\lambda \|w\|_p J(θ)=L(θ)+λwp通过惩罚较大参数从而防止过拟合。
  • 多分类问题——将sigmoid函数换成softmax函数: p ( y = i ∣ x ; θ ) = e θ i x ∑ j e θ j x p(y=i|x;\theta)=\frac{e^{\theta_i x}}{\sum_j {e^{\theta_j x}}} p(y=ix;θ)=jeθjxeθix
  • 线性不可分问题——加入核函数
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值