未完待续,欢迎大家点赞收藏关注博主,谢谢支持
SGD的数学细节
给定一系列训练数据:
(x1,y1),…,(xn,yn) 其中 xi∈Rm 是点的坐标, yi∈R (yi∈{−1,1} )是分类标签。
我们的目标是训练出一个线性评价函数 f(x)=wTx+b ,模型参数为 w∈Rm ,截距为 b∈R.
给0-1分类做预测,时 我们看f(x)的符号. 模型参数通过最小化由以下式子给出的正则化训练误差来得到:
E(w,b)=n1i=1∑nL(yi,f(xi))+αR(w)
L 是一个损失函数,衡量了模型的拟合程度 ,R是一个正则化项(也叫作惩罚),对系统的复杂性进行惩罚; α>0 is a 非负的超参数,控制了正则化的强度。
对L的不同选择可以实现不同的分类器或回归器:
- Hinge (soft-margin): equivalent to Support Vector Classification: L(yi,f(xi))=max(0,1−yif(xi)).
- Perceptron: L(yi,f(xi))=max(0,−yif(xi)).
- Modified Huber: L(yi,f(xi))=max(0,−yif(xi)), if yif(xi)>1 and L(yi,f(xi))=−4yif(xi) otherwise.
- Log: equivalent to Logistic Regression. L(yi,f(xi))=log(1+exp(−yif(xi))).
- Least-Squares: Linear regression (Ridge or Lasso depending on R). ∣yi−f(xi)∣≤ε.
- Huber: less sensitive to outliers than least-squares. It is equivalent to least squares when ∣yi−f(xi)∣≤ε and L(yi,f(xi))=ε∣yi−f(xi)∣−21ε2, otherwise.
- Epsilon-Insensitive: (soft-margin) equivalent to Support Vector Regression. L(yi,f(xi))=max(0,∣yi−f(xi)∣−ε).
上述所有损失函数都可以视为错误分类错误(0-1 损失)的上限,如下图所示。
正则化项 ( penalty 参数) 的选择包括如下几种形式:
- L2 norm: R(w):=21∑j=1mwj2=∣∣w∣∣22
- L1 norm: R(w):=∑j=1m∣wj∣.这导致稀疏的解
- Elastic Net: R(w):=2ρ∑j=1nwj2+(1−ρ)∑j=1m∣wj∣, L2 和 L1的凸组合, 其中 ρ 为
1 - l1_ratio.
下图显示了二维参数空间中不同正则化项的轮廓 (m=2) ,当 R(w)=1时.
最小均方误差线性回归
问题描述:
输入一组带标签的样本集,一共有m个数据:x1,x2,…,xm,对应的标签为向量y=[y1,y2,…,ym],每个样本xi为一个d维向量,代表d个特征,标签为yi(标量).
把数据集 D 表示为一个 m×d大小的矩阵 X ,其中每行对应于一个样本,该行的 d 个元素对应于样本的 d 个属性值:
X=⎣⎢⎢⎢⎡x1x2⋮xm⎦⎥⎥⎥⎤(3)
其中xi=[xi,1,xi,2,…,xi,d]
我们的目标是通过学习得到一个线性评价函数
f(xi)=xiwT+b
其中系数 w=[w1,...,wd]
截距为b(标量)
使得残差平方和:∣∣f(X)−y∣∣22=∣∣XwT+b−y∣∣22最小
下面对最佳的w和b求解
以下详细推导过程摘自南瓜书
算法
为了便于计算,我们我们把 w 和 b 合并成一个向量 : w^=[w,b],并把目标函数化成关于w^的形式


令Ew^=(y−Xw^)T(y−Xw^), 下面令目标函数对求微分

令上式为零可得 w^ 的最优解
参考文献
sklearn官方文档