sklearn分类算法SGDclassifier

未完待续,欢迎大家点赞收藏关注博主,谢谢支持

SGD的数学细节

给定一系列训练数据:

( x 1 , y 1 ) , … , ( x n , y n ) (x_1, y_1), \ldots, (x_n, y_n) (x1,y1),,(xn,yn) 其中 x i ∈ R m x_i \in \mathbf{R}^m xiRm 是点的坐标, y i ∈ R y_i \in \mathcal{R} yiR ( y i ∈ { − 1 , 1 } y_i \in\{-1, 1\} yi{1,1} )是分类标签。

我们的目标是训练出一个线性评价函数 f ( x ) = w T x + b f(x) = w^T x + b f(x)=wTx+b ,模型参数为 w ∈ R m w \in \mathbf{R}^m wRm ,截距为 b ∈ R b \in \mathbf{R} bR.
给0-1分类做预测,时 我们看 f ( x ) f(x) f(x)的符号. 模型参数通过最小化由以下式子给出的正则化训练误差来得到:
E ( w , b ) = 1 n ∑ i = 1 n L ( y i , f ( x i ) ) + α R ( w ) E(w,b) = \frac{1}{n}\sum_{i=1}^{n} L(y_i, f(x_i)) + \alpha R(w) E(w,b)=n1i=1nL(yi,f(xi))+αR(w)
L L L 是一个损失函数,衡量了模型的拟合程度 , R R R是一个正则化项(也叫作惩罚),对系统的复杂性进行惩罚; α > 0 \alpha>0 α>0 is a 非负的超参数,控制了正则化的强度。
L L L的不同选择可以实现不同的分类器或回归器:

  • Hinge (soft-margin): equivalent to Support Vector Classification: L ( y i , f ( x i ) ) = max ⁡ ( 0 , 1 − y i f ( x i ) ) L(y_i, f(x_i)) = \max(0, 1 - y_i f(x_i)) L(yi,f(xi))=max(0,1yif(xi)).
  • Perceptron: L ( y i , f ( x i ) ) = max ⁡ ( 0 , − y i f ( x i ) ) L(y_i, f(x_i)) = \max(0, - y_i f(x_i)) L(yi,f(xi))=max(0,yif(xi)).
  • Modified Huber: L ( y i , f ( x i ) ) = max ⁡ ( 0 , − y i f ( x i ) ) L(y_i, f(x_i)) = \max(0, - y_i f(x_i)) L(yi,f(xi))=max(0,yif(xi)), if y i f ( x i ) > 1 y_i f(x_i) >1 yif(xi)>1 and L ( y i , f ( x i ) ) = − 4 y i f ( x i ) L(y_i, f(x_i)) = -4 y_i f(x_i) L(yi,f(xi))=4yif(xi) otherwise.
  • Log: equivalent to Logistic Regression. L ( y i , f ( x i ) ) = log ⁡ ( 1 + exp ⁡ ( − y i f ( x i ) ) ) L(y_i, f(x_i)) = \log(1 + \exp (-y_i f(x_i))) L(yi,f(xi))=log(1+exp(yif(xi))).
  • Least-Squares: Linear regression (Ridge or Lasso depending on R). ∣ y i − f ( x i ) ∣ ≤ ε |y_i - f(x_i)| \leq \varepsilon yif(xi)ε.
  • Huber: less sensitive to outliers than least-squares. It is equivalent to least squares when ∣ y i − f ( x i ) ∣ ≤ ε |y_i - f(x_i)| \leq \varepsilon yif(xi)ε and L ( y i , f ( x i ) ) = ε ∣ y i − f ( x i ) ∣ − 1 2 ε 2 L(y_i, f(x_i)) = \varepsilon |y_i - f(x_i)| - \frac{1}{2}\varepsilon^2 L(yi,f(xi))=εyif(xi)21ε2, otherwise.
  • Epsilon-Insensitive: (soft-margin) equivalent to Support Vector Regression. L ( y i , f ( x i ) ) = max ⁡ ( 0 , ∣ y i − f ( x i ) ∣ − ε ) L(y_i, f(x_i)) = \max(0, |y_i - f(x_i)| - \varepsilon) L(yi,f(xi))=max(0,yif(xi)ε).

上述所有损失函数都可以视为错误分类错误(0-1 损失)的上限,如下图所示。

正则化项 ( penalty 参数) 的选择包括如下几种形式:

  • L2 norm: R ( w ) : = 1 2 ∑ j = 1 m w j 2 = ∣ ∣ w ∣ ∣ 2 2 R(w) := \frac{1}{2} \sum_{j=1}^{m} w_j^2 = ||w||_2^2 R(w):=21j=1mwj2=w22
  • L1 norm: R ( w ) : = ∑ j = 1 m ∣ w j ∣ R(w) := \sum_{j=1}^{m} |w_j| R(w):=j=1mwj.这导致稀疏的解
  • Elastic Net: R ( w ) : = ρ 2 ∑ j = 1 n w j 2 + ( 1 − ρ ) ∑ j = 1 m ∣ w j ∣ R(w) := \frac{\rho}{2} \sum_{j=1}^{n} w_j^2 +(1-\rho) \sum_{j=1}^{m} |w_j| R(w):=2ρj=1nwj2+(1ρ)j=1mwj, L2 和 L1的凸组合, 其中 ρ \rho ρ1 - l1_ratio.

下图显示了二维参数空间中不同正则化项的轮廓 ( m = 2 m=2 m=2) ,当 R ( w ) = 1 R(w)=1 R(w)=1时.

最小均方误差线性回归

问题描述:

输入一组带标签的样本集,一共有 m m m个数据: x 1 , x 2 , … , x m \mathbf{x}_{1},\mathbf{x}_{2},\dots,\mathbf{x}_{m} x1,x2,,xm,对应的标签为向量 y = [ y 1 , y 2 , … , y m ] \mathbf{y}=[{y}_{1},{y}_{2},\dots,y_{m}] y=[y1,y2,,ym],每个样本 x i \mathbf{x}_{i} xi为一个 d d d维向量,代表 d d d个特征,标签为 y i y_{i} yi(标量).
把数据集 D D D 表示为一个 m × d m \times d m×d大小的矩阵 X X X ,其中每行对应于一个样本,该行的 d d d 个元素对应于样本的 d d d 个属性值:
X = [ x 1 x 2 ⋮ x m ] (3) X= \left[ \begin{matrix} \mathbf{x}_{1} \\ \mathbf{x}_{2} \\ \vdots \\ \mathbf{x}_{m} \end{matrix} \right] \tag{3} X=x1x2xm(3)

其中 x i = [ x i , 1 , x i , 2 , … , x i , d ] \mathbf{x}_{i}=[x_{i,1},x_{i,2},\dots,x_{i,d}] xi=[xi,1,xi,2,,xi,d]

我们的目标是通过学习得到一个线性评价函数
f ( x i ) = x i w T + b f(\mathbf{x}_{i})=\mathbf{x}_{i}\mathbf{w}^{T}+b f(xi)=xiwT+b
其中系数 w = [ w 1 , . . . , w d ] \mathbf{w} = [w_1, ..., w_d] w=[w1,...,wd]
截距为 b b b(标量)
使得残差平方和: ∑ i = 1 m ( y i − f ( x i ) ) 2 = ∣ ∣ f ( X ) − y ∣ ∣ 2 2 = ∣ ∣ X w T + b − y ∣ ∣ 2 2 \sum\limits_{i=1}^{m}(y_{i}-f(\mathbf{x}_{i}))^{2}=||f(X) - \mathbf{y}||_2^2=||X\mathbf{w}^T+b - \mathbf{y}||_2^2 i=1m(yif(xi))2=f(X)y22=XwT+by22最小

下面对最佳的 w \mathbf{w} w b b b求解
以下详细推导过程摘自南瓜书

算法

为了便于计算,我们我们把 w \mathbf{w} w 和 b 合并成一个向量 : w ^ = [ w , b ] \hat\mathbf{w}=[\mathbf{w},b] w^=[w,b],并把目标函数化成关于 w ^ \hat\mathbf{w} w^的形式

在这里插入图片描述
在这里插入图片描述
E w ^ = ( y − X w ^ ) T ( y − X w ^ ) E_{\hat\mathbf{w}}=(\mathbf{y}-\mathbf{X}\hat\mathbf{w})^{T}(\mathbf{y}-\mathbf{X}\hat\mathbf{w}) Ew^=(yXw^)T(yXw^), 下面令目标函数对 w ^ \hat\mathbf{w} w^求微分
在这里插入图片描述
令上式为零可得 w ^ \hat\mathbf{w} w^ 的最优解

参考文献

sklearn官方文档

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值