来源:原始 Jupyter Notebook。内容已转换为网页阅读格式;下载原文件。
线性回归总结#
我们先回顾一下线性回归问题,线性模型一般表示成:
h(x)=hθ(x)=θ0+θ1x1+...+θdxd也可以写成向量表示:
hθ(x)=θTX最常用的求解方法是 最小二乘法,它采用 平方损失 作为损失函数:
J(θ)=i=1∑m(hθ(x(i))−y(i))2要求解的模型参数就是损失函数取最小值时参数取值:
θ=θminJθ最小二乘法有两种常见的求解思路,一种使用正规方程:
θ=(XTX)−1XTy另一种使用优化算法梯度下降:
θj:=θj+α(y(i)−hθ(x(i)))xj(i)逻辑回归总结#
逻辑回归模型一般表示成:
hθ(x)=g(θTx)=1+e−θTx1其中,g(z)=1+e−z1,假设预测分类的概率满足伯努利分布:
P(y=1∣x;θ)P(y=0∣x;θ)=hθ(x)=1−hθ(x)我们把上面两个式子合在一起,有:
P(y ∣x;θ)=hθy(x)(1−hθ(x))1−y根据 极大似然估计 我们有:
L(θ)=i=1∏mhθy(i)(x(i))(1−hθ(x(i)))1−y(i)对其取对数得到逻辑回归的损失函数:
ℓ(θ)=logL(θ)=i=1∑my(i)loghθ(x(i)))+(1−y(i))(1−hθ(x(i)))和线性回归一样,可以使用梯度下降法求 ℓ(θ) 的最小值:
θj:=θj+α(y(i)−hθ(x(i)))xj(i)可以看到梯度下降公式和线性回归是一样的,差别在于 hθ(⋅),线性回归的 hθ(x)=θTX,而逻辑回归的 hθ(x)=g(θTx),这个 g(⋅) 通常称为连接函数(link function,或称为联系函数),它必须是单调可微的,通过连接函数得到的模型称为广义线性模型(generalized linear model)。
线性回归和逻辑回归的比较#
回归问题中经常使用基于欧式距离的损失函数,而分类问题中,损失函数是基于概率分布,学术上被称为 交叉熵(Cross Entropy)。虽然两种损失函数的形式不同,但是它们的值都对应着模型的预测误差,因此这个值越小越好,这也是损失函数参数估计的基本原则。