[2019计算机视觉]——贪心学院 学习笔记 2. 统计学基础 {逻辑回归}

文章目录

  • 1. 逻辑回归(Logistic)
    • 1. 介绍
      • 1. 逻辑函数/模型(logit model)
      • 2. Logit与二元回归
      • 3. 使用逻辑回归解决二元分类问题
    • 2. 使用Logit进行预测的模型解释
      • 1. 损失函数定义
      • 2. 损失函数的解释
      • 3. 损失函数的特点
      • 4. 计算方式
      • 5. Logit函数求梯度

1. 逻辑回归(Logistic)

用于解决二元分类问题

1. 介绍

从两个备选类中,将给定数据分到这两个类之中的一个类去。[2019计算机视觉]——贪心学院 学习笔记 2. 统计学基础 {逻辑回归}_第1张图片

1. 逻辑函数/模型(logit model)

Logit函数 F ( x ) = 1 1 + e − x F(x) = \frac{1}{1+e^{-x}} F(x)=1+ex1
[2019计算机视觉]——贪心学院 学习笔记 2. 统计学基础 {逻辑回归}_第2张图片
取值:当f(x)≥0.5,取y = 1,否则取y = 0
注意观察Logit函数导数的样子

2. Logit与二元回归

我们可以将f(x)看作是“在给定输入x下,y=1的概率”即 P ( y = 1 ∣ x ) P(y = 1 | x) P(y=1x)
于是, 可以得到 P ( y = 1 ∣ x ) = f ( x ) = 1 1 + e − ( θ 0 + θ 1 x ) P(y = 1 | x) = f( x ) = \frac{1}{1+e^{-(\theta_{0}+\theta_{1}x)}} P(y=1x)=f(x)=1+e(θ0+θ1x)1

3. 使用逻辑回归解决二元分类问题

P ( y = 1 ∣ x ; θ ) = f ( x ; θ ) = 1 1 + e − θ T x P(y = 1 | x; \theta) = f(x; \theta) = \frac{1}{1+e^{-\theta^{T}x}} P(y=1x;θ)=f(x;θ)=1+eθTx1
解释:求训练得到的系数 θ \theta θ,给定x下y=1的概率。也就等于后面的 1 1 + e − θ T x \frac{1}{1+e^{-\theta^{T}x}} 1+eθTx1
θ \theta θ为向量, θ = [ θ 0 , θ 1 , θ 2 , . . . ] \theta = [\theta_{0}, \theta_{1},\theta_{2},...] θ=[θ0,θ1,θ2,...]
x x x也向量, x = [ 1 , x 1 , x 2 , . . . ] x = [1, x{1},x{2},...] x=[1,x1,x2,...] [^2]:X从1开始的原因是:线性拟合的的一个参数是 1 ∗ θ 1*\theta 1θ
θ T x = ∑ i = 0 θ i x i \theta^{T}x = \sum_{i=0}\theta_{i}x_{i} θTx=i=0θixi (x0=1)

【实验】2.1 使用逻辑函数 完成对购车的预测

2. 使用Logit进行预测的模型解释

1. 损失函数定义

P ( y = 1 ∣ x ; θ ) = f ( x ; θ ) = 1 1 + e − θ T x P(y = 1 | x; \theta) = f(x; \theta) = \frac{1}{1+e^{-\theta^{T}x}} P(y=1x;θ)=f(x;θ)=1+eθTx1
损失函数: J ( θ ) = p = − ∑ n = 1 N [ y ( i ) l n ( P ( Y = 1 ∣ X = x ( i ) ; θ ) + ( 1 − y ( i ) ) l n ( 1 − P ( Y = 1 ∣ X = x ( i ) ; θ ) ) ] J(\theta) = p = -\sum\limits_{n=1}^N[y^{(i)}ln(P(Y = 1|X = x^{(i)}; \theta)+(1-y^{(i)})ln(1-P(Y=1|X=x^{(i)};\theta))] J(θ)=p=n=1N[y(i)ln(P(Y=1X=x(i);θ)+(1y(i))ln(1P(Y=1X=x(i);θ))]

2. 损失函数的解释

对于给定第i个模型的概率, y i y^{i} yi表示第i个数据为1,它乘以 l n ( P ( Y = 1 ∣ X = x i ; θ ) ln(P(Y = 1|X = x^{i}; \theta) ln(P(Y=1X=xi;θ)表示乘以在参数 θ \theta θ x = x ( i ) x = x^{(i)} x=x(i)的条件下 y为1的概率,如果猜测符合实际,这个值将会=0。同理,右边 ( 1 − y ( i ) ) l n ( 1 − P ( Y = 1 ∣ X = x ( i ) ; θ ) ) ] (1-y^{(i)})ln(1-P(Y=1|X=x^{(i)};\theta))] (1y(i))ln(1P(Y=1X=x(i);θ))]在预测正确的情况下也会趋于0。故此,损失函数 J ( θ ) J(\theta) J(θ)较好的表示了预测值和真值的相差程度,因此将至用于度量模型的损失值。

3. 损失函数的特点

损失函数是凸函数,可导
▽ θ J ( θ ) = ∑ i x ( i ) ( f ( x ( i ) ; θ ) − y ( i ) ) \triangledown_{\theta}J(\theta) = \sum\limits_{i}x^{(i)}(f(x^{(i)};\theta)-y^{(i)}) θJ(θ)=ix(i)(f(x(i);θ)y(i))

4. 计算方式

  1. 随机初始化
  2. 计算梯度
  3. 梯度下降

5. Logit函数求梯度

(过程略)关键结论如下

  1. f ( Z ) ′ = ( 1 1 + e Z ) ′ = . . . = f ( Z ) [ 1 − f ( Z ) ] f(Z)' = (\frac{1}{1+e^{Z}})' = ...= f(Z)[ 1 - f(Z)] f(Z)=(1+eZ1)=...=f(Z)[1f(Z)]
  2. l ( θ ) = l o g L ( θ ) = l o g ( ∏ i = 0 n y i P i ∗ ∏ i = 0 ≡ 0 n ( 1 − y i ) ( 1 − P i ) ) l(\theta)=logL(\theta) = log(\prod\limits_{i=0}^ny_{i}P_{i}*\prod\limits_{i=0\equiv0}^n(1-y_{i})(1-P_{i})) l(θ)=logL(θ)=log(i=0nyiPii=00n(1yi)(1Pi))
  3. d l n ( θ ) d θ = ∑ i = 1 N ( y i − P i ) x i \frac{dln(\theta)}{d\theta}=\sum\limits_{i=1}^N(y_i - P_i)x_i dθdln(θ)=i=1N(yiPi)xi
  4. l o g ( L ( θ ) ) log(L(\theta)) log(L(θ))为期望,我们需要最大化期望,这需要梯度上升法。为满足一般使用梯度下降法的习惯,故取 l o s s ( θ ) = − l ( θ ) loss(\theta)=-l(\theta) loss(θ)=l(θ)。由此,对loss求 θ \theta θ求导就为 ∂ l o s s ( θ ) ) ∂ θ = ∑ i = 1 N ( P i − y i ) x \frac{\partial loss(\theta))}{\partial \theta} = \sum\limits_{i=1}^N(P_i-y_i)x θloss(θ))=i=1N(Piyi)x
    [2019计算机视觉]——贪心学院 学习笔记 2. 统计学基础 {逻辑回归}_第3张图片【实验2.2 使用Logit模型来对垃圾短信进行分类】

你可能感兴趣的:(人工智能,算法,计算机视觉)