# 线性回归
# 概念
线性回归 (Linear Regression, LR) 是最基础的回归问题。
给定一组数据集 D={(xi,yi)}i=1m. 其中,xi=(xi1,xi2,…,xid)⊤ 是一个 d 维向量,yi∈R 是在条件 xi 下对应的真实数据 (ground truth). 线性回归即假设 x 中诸因素对 y 的影响是(近似)线性的,因此构造预测模型
h(xi)=j=1∑dwixij+b
为简化形式,记
xi=(1,xi1,xi2,…,xid)∈Rd+1w=(b,w1,w2,…,wd)∈Rd+1
那么得到
h(xi)=w⊤xi
!!!warning
在大多数时候,我们的训练集不是全体真实数据,因而其不一定能反映数据的真实分布,我们称训练集的分布为经验分布 (empirical distribution),这与采用真实数据之间存在一个误差,称为经验误差 (empirical error).
!!!
# 优化目标
在线性回归中,机器学习的过程就是将 h(x) 最优化的过程。一般采用残差平方和 (Mean Square Error, MSE) 衡量 h(x) 的优劣。因此,最小化的目标函数是
mins.t.E(w)=i∑(h(xi)−yi)2h(xi)=w⊤xi
其中对全体 i 求和即对全体训练样本点求和。
注意到,
E(w)=i∑(h(xi)−yi)2=i∑(w⊤xi−yi)2=i∑(xi⊤w−yi)2=∥Xw−y∥2
因此,上式采用矩阵形式,可以表示为
E(w)=∥Xw−y∥2
此处的范数是 l2 范数,E(w) 的含义是一个关于 w 的能量函数。一般情况下,最终的损失函数还需要加入 λ∥w∥2 项防止过拟合。
采用矩阵形式,结合矩阵求导公式得到
∇E(w)=2(X⊤Xw−X⊤y)
于是极值点(最优解)为使得 E(w⋆)=0 的点 w⋆. 容易解得,
w⋆=(X⊤X)−1X⊤y
称 X†:=(X⊤X)−1X⊤ 为矩阵 X 的伪逆 (pseudo-inverse). 于是
w⋆=X†y
关于矩阵伪逆的具体求解和更多知识,可以参考矩阵伪逆 & 摄动法。
# 求解线性回归
除了采用矩阵伪逆直接求解线性回归之外,我们还有更一般的参数求解方法。主要包括梯度下降法和牛顿法等。
# 逻辑回归
逻辑回归基于线性回归解决二分类问题的方法,即对样本点 x, 给出该样本点为正类的概率 h(x)=p(+1∣x). 其中,h(x) 来自于 hypothesis, 表示一个假设的模型。
在这里,实际上是使用了 sigmoid 函数将线性回归的输出重映射到 (0,1), 使得线性回归模型可以解决二分类问题,即将分类问题转化为回归问题。
# sigmoid 函数
# 缘起
对于一个线性模型 y=w⊤x, 逻辑回归的创举在于其构造了一个函数 S(x). 该函数将值域为 (−∞,+∞) 的线性回归模型重映射到 (0,1), 作为二分类的概率。这样,我们就可以采用线性模型解决二分类问题了。该函数称为 sigmoid 函数 (sigmoid function),因函数形状类似 "S" 而得名。
# 常用的 sigmoid 函数
注意,sigmoid 函数的意思是 "S" 形函数,因此 sigmoid 函数的选择不是唯一的。常用的 sigmoid 函数包括:
- logistic 函数: logistic(x)=1+exp(−x)1,
- 双曲正切函数:tanh(x)=exp(x)+exp(−x)exp(x)−exp(−x),
- 反正切函数:arctan(x),
注意到,logistic 函数与双曲正切函数相似。实际上,tanh(x)=2logistic(2x)−1. 而 logistic 函数计算更简便,因此采用 logistic 函数作为一般使用的 sigmoid 函数。需要注意 logistic 函数的值域是 (0,1), 双曲正切函数的值域是 (−1,1).
在很多情况下,sigmoid 函数直接代指 logistic 函数。但我们仍需知道 sigmoid 函数的本义,其不应等同于 logistic 函数。
# 激活函数
在深度学习的训练过程中,每层需要一个激活函数 (activate function) 实现线性模型的非线性化。除 ReLU 函数之外,上述的诸 sigmoid 函数也是激活函数的主要选择。
# 极大似然估计
由于 sigmoid 函数是非线性的,因此不能采用均方误差进行参数优劣度量。在这里,我们一般采用极大似然估计 (Maximum Likelihood Estimation, MLE) 进行参数估计。
对独立同分布样本组成的数据集 D={x1,x2,…,xn} 和参数集 θ, 极大似然估计通过最大化 p(D∣θ), 得到 θ 的估计值 θ^:
θ^=θargmaxp(D∣θ),p(D∣θ)=k=1∏np(xk∣θ)≜k=1∏npθ(xk).
对于二分类问题,这里令 pθ(xi) 是 xi 为正类的概率,即 pθ(xi)=p(+1∣xi,θ). 则对于伯努利分布,有
θ^=θargmaxpθ(x)m(1−pθ(x))n−m,
其中 m 是正类样本的数量,n 是样本总数。该问题可以用对数似然函数简化求解。