百面机器学习 #3 经典算法:02 逻辑回归

参考:
百面机器学习
西瓜书

02 逻辑回归Logistic Regression(对数机率回归)

2.1 逻辑回归和线性回归

  • 二者都使用极大似然法来对训练样本进行建模。

  • 在求解超参数的过程中,都可以使用梯度下降的方法。

  • 逻辑回归处理的是分类问题,线性回归处理的是回归问题,这是两者的最本质的区别。

    • 逻辑回归
      给定自变量和超参数后,得到因变量的期望E[yx;θ]E[y|x;\theta],并基于此期望来处理预测分类问题;
    • 线性回归
    • 求解y=θTx+by=\theta^T x +b是真实线性关系的近似,用近似关系来处理回归问题。
    • 特别地,广义线性模型(Generalized Linear Models)中,输入空间到输出空间是非线性函数映射可以表示为g(y)=θTx+by=g1(θTx+b)=f(θTx+b)g(y)=\theta^T x +b\Rightarrow y=g^{-1}(\theta^T x +b)=f(\theta^T x +b),故这里函数gg要求是单调可微的。
  • 逻辑回归可以看成广义线性模型,因为只需找一个单调可微函数gg,将分类任务的真实标记yy与线性回归模型的预测值联系起来,就可以将回归转换成分类。

2.2 二分类逻辑回归

从线性回归到逻辑回归,可以理解成要找一个映射ff,将连续区间的值映射到有限值的区间,特定的值对应特定的类别。

  • 单位阶跃函数是很好的选择,大于0的预测为一类,小于0的为另一类,等于0随意分。但是它不连续,因此构建模型后无法用作f=g1()f=g^{-1}(\cdot)
  • 因此用接近单位阶跃函数的可微函数——对数机率函数(logistic function,是sigmoid函数,即S型函数的一种)来代替
    f(z)=11+ez f(z)=\frac{1}{1+e^{-z}}
    可对逻辑回归进行化简
    y=f(θTx+b)=11+e(θTx+b))1yy=e(θTx+b))lny1y=θTx+b y=f(\theta^T x +b)=\frac{1}{1+e^{-(\theta^T x +b))}}\\ \frac{1-y}{y}=e^{-(\theta^T x +b))}\\ \ln\frac{y}{1-y}=\theta^T x +b
    若将y视为样本作为正例的可能性P[y=1x;θ,b]P[y=1|x;\theta, b],或说似然;称y1y\frac{y}{1-y}机率 (odds) ,对数机率 (log odds ,亦称logit)为
    lny1y \ln\frac{y}{1-y}
  • 可用极大似然法最大化对数似然对参数进行求解
    (θ,b)=i=1mlnp(yixi;θ,b)\ell({\theta}, b)=\sum_{i=1}^{m} \ln p\left(y_{i}\mid{x}_{i} ; \theta, b\right)
    其中
    p(y=1x)=eθTx+b1+eθTx+bp(y=0x)=11+eθTx+b \begin{array}{l} p(y=1 \mid {x})=\frac{e^{{\theta}^{\mathrm{T}} {x}+b}}{1+e^{{\theta}^{\mathrm{T}} {x}+b}} \\ p(y=0 \mid {x})=\frac{1}{1+e^{{\theta}^{\mathrm{T}} {x}+b}} \end{array}

2.3 多项逻辑回归Softmax regression

当使用逻辑回归处理多标签分类问题时:

2.3.1 基本形式

假设每个样本属于kk个不同类别的概率服从几何分布,则对每一类的分类预测概率可以表示为
hθ(x)=[p(y=1x;θ)p(y=2x;θ)p(y=kx;θ)]=1j=1keθjx[eexeθ2Txeqjx] h_{\theta}(x)=\left[\begin{array}{c} p(y=1 \mid x ; \theta) \\ p(y=2 \mid x ; \theta) \\ \vdots \\ p(y=k \mid x ; \theta) \end{array}\right]=\frac{1}{\sum_{j=1}^{k} \mathrm{e}^{\theta_{j}^{\top} x}}\left[\begin{array}{c} \mathrm{e}^{\mathrm{e}^{\top} x} \\ \mathrm{e}^{\theta_{2}^{\mathrm{T} x}} \\ \vdots \\ \mathrm{e}^{q_{j} x} \end{array}\right]

2.3.2 多项逻辑回归是二分类逻辑回归在多标签分类下的一种拓展

用多分类的形式写出二分类逻辑回归:
hθ(x)=1eθ1Tx+eθ2Tx[eθ1Txeθ2Tx] h_{\theta}(x)=\frac{1}{\mathrm{e}^{\theta_{1}^{\mathrm{T}} x}+\mathrm{e}^{\theta_{2}^{\mathrm{T}} x}}\left[\begin{array}{l} \mathrm{e}^{\theta_{1}^{\mathrm{T}} x} \\ \mathrm{e}^{\theta_{2}^{\mathrm{T}} x} \end{array}\right]
进行一下变化,消除参数θ\theta们的冗余性
hθ(x)=1e0x+e(θ2Tθ1T)x[e0xe(θ2Tθ1T)x]=[11+eθTx111+eθTx]\begin{aligned} h_{\theta}(x)=& \frac{1}{\mathrm{e}^{0 \cdot x}+\mathrm{e}^{\left(\theta_{2}^{\mathrm{T}}-\theta_{1}^{\mathrm{T}}\right) x}}\left[\begin{array}{c} \mathrm{e}^{0 \cdot x} \\ \mathrm{e}^{\left(\theta_{2}^{\mathrm{T}}-\theta_{1}^{\mathrm{T}}\right) x} \end{array}\right] \\ &=\left[\begin{array}{c} \frac{1}{1+\mathrm{e}^{\theta^{\mathrm{T}} x}} \\ 1-\frac{1}{1+\mathrm{e}^{\theta^{\mathrm{T}} x}} \end{array}\right] \end{aligned}
这和二分类逻辑回归的式子就一样了。

2.3.3 当存在样本可能属于多个类别的情况时

  • kk个类别,训练kk二分类的逻辑回归分类器
  • 对每个类别,第ii个分类器用以区分样本可不可以归为第i类,即“第i类”与“非第i类”两类
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章