【机器学习导引】ch3-线性模型

线性回归

梯度

在数学中,对于函数 f ( x 1 , … , x m ) f(x_1, \ldots, x_m) f(x1,,xm) 在点 a = ( a 1 , … , a m ) a = (a_1, \ldots, a_m) a=(a1,,am) 处的梯度被定义为:

∇ f ( a ) = ( ∂ f ∂ x 1 ( a ) , … , ∂ f ∂ x m ( a ) ) \nabla f(a) = \left( \frac{\partial f}{\partial x_1}(a), \ldots, \frac{\partial f}{\partial x_m}(a) \right) f(a)=(x1f(a),,xmf(a))

这里, ∇ f ( a ) \nabla f(a) f(a) 表示在点 a a a 处函数 f f f 的梯度,它由函数 f f f 对其各变量 x 1 , … , x m x_1, \ldots, x_m x1,,xm 的偏导数构成的向量表示。梯度向量指向函数 f f f a a a 点处增长最快的方向,其大小表示该方向上的增长率。

函数梯度
x 1 + x 2 x_1 + x_2 x1+x2 ( 1 , 1 ) (1, 1) (1,1)
x 1 2 + x 2 x_1^2 + x_2 x12+x2 ( 2 x 1 , 1 ) (2x_1, 1) (2x1,1)
x 1 2 x 2 x_1^2 x_2 x12x2 ( 2 x 1 x 2 , x 1 2 ) (2x_1 x_2, x_1^2) (2x1x2,x12)
sin ⁡ x 1 cos ⁡ x 2 \sin x_1 \cos x_2 sinx1cosx2 ( cos ⁡ x 1 cos ⁡ x 2 , − sin ⁡ x 1 sin ⁡ x 2 ) (\cos x_1 \cos x_2, -\sin x_1 \sin x_2) (cosx1cosx2,sinx1sinx2)

最小二乘法

在这里插入图片描述

用于拟合数据模型,尤其是在回归分析中。这是一种优化技术,目的是找到模型参数的最佳估计,使得预测值与实际数据之间的误差平方和最小。

表达式解释

( w ∗ , b ∗ ) = arg ⁡ min ⁡ ( w , b ) ∑ i = 1 m ( y i − f ( x i ) ) 2 (w^*, b^*) = \arg\min_{(w, b)} \sum_{i=1}^m (y_i - f(x_i))^2 (w,b)=arg(w,b)mini=1m(yif(xi))2

  • 其中 f ( x i ) = w x i + b f(x_i) = wx_i + b f(xi)=wxi+b 是线性模型, y i y_i yi 是第 i i i 个观测值, x i x_i xi 是第 i i i 个自变量。

最小二乘法的目的

  • 寻找系数 w w w 和截距 b b b ,使得模型预测值 f ( x i ) = w x i + b f(x_i) = wx_i + b f(xi)=wxi+b 与实际值 y i y_i yi 之间的差异平方和最小。
  • E ( w , b ) = ∑ i = 1 m ( w x i + b − y i ) 2 E(w, b) = \sum_{i=1}^m (wx_i + b - y_i)^2 E(w,b)=i=1m(wxi+byi)2 表示所有数据点的预测误差的平方和。

要找到使 E ( w , b ) E(w, b) E(w,b) 最小的 w w w b b b,通常需要计算误差函数 E ( w , b ) E(w, b) E(w,b) w w w b b b 的偏导数,并将这些偏导数设为零。这个过程可以找到局部最小值,因为设置偏导数为零可以帮助我们找到梯度为零的点,即函数的可能极小值点。

计算步骤

  1. w w w 的偏导:

    ∂ E ∂ w = ∂ ∂ w ∑ i = 1 m ( w x i + b − y i ) 2 = ∑ i = 1 m 2 ( w x i + b − y i ) x i \frac{\partial E}{\partial w} = \frac{\partial}{\partial w} \sum_{i=1}^m (wx_i + b - y_i)^2 = \sum_{i=1}^m 2(wx_i + b - y_i)x_i wE=wi=1m(wxi+byi)2=i=1m2(wxi+byi)xi

    ∂ E ∂ w = 0 \frac{\partial E}{\partial w} = 0 wE=0 求解 w w w

  2. b b b 的偏导:

    ∂ E ∂ b = ∂ ∂ b ∑ i = 1 m ( w x i + b − y i ) 2 = ∑ i = 1 m 2 ( w x i + b − y i ) \frac{\partial E}{\partial b} = \frac{\partial}{\partial b} \sum_{i=1}^m (wx_i + b - y_i)^2 = \sum_{i=1}^m 2(wx_i + b - y_i) bE=bi=1m(wxi+byi)2=i=1m2(wxi+byi)

    ∂ E ∂ b = 0 \frac{\partial E}{\partial b} = 0 bE=0 求解 b b b

  3. 斜率 w w w 的计算公式

    w = ∑ i = 1 m y i ( x i − x ˉ ) ∑ i = 1 m x i 2 − m x ˉ 2 w = \frac{\sum_{i=1}^m y_i(x_i - \bar{x})}{\sum_{i=1}^m x_i^2 - m\bar{x}^2} w=i=1mxi2mxˉ2i=1myi(xixˉ)

    • 这里, x ˉ \bar{x} xˉ x i x_i xi 的平均值。
    • 分子部分 ∑ i = 1 m y i ( x i − x ˉ ) \sum_{i=1}^m y_i(x_i - \bar{x}) i=1myi(xixˉ) 表示 x i x_i xi 与其平均值之差与相应的 y i y_i yi 值的乘积之和。
    • 分母部分 ∑ i = 1 m x i 2 − m x ˉ 2 \sum_{i=1}^m x_i^2 - m\bar{x}^2 i=1mxi2mxˉ2修正的 x i x_i xi 值的平方和。
  4. 截距 b b b 的计算公式

    b = y ˉ − w x ˉ b = \bar{y} - w\bar{x} b=yˉwxˉ

    • y ˉ \bar{y} yˉ y i y_i yi 的平均值。
    • 这个公式表明截距是 y y y 的平均值减去斜率乘以 x x x 的平均值。

这些公式为线性回归模型提供了一种快速计算参数的方法,可以有效地帮助理解和预测变量间的线性关系。

应用背景

  • 最小二乘法非常适合于处理线性关系的数据,常用于经济学、生物统计学、工程等领域。
  • 可以帮助我们理解变量之间的关系,评估模型的拟合效果。

矩阵微分

函数表达式梯度结果
f ( x ) = c f(x) = c f(x)=c 0 0 0
f ( x ) = a T x f(x) = a^T x f(x)=aTx a a a
f ( x ) = x T A x f(x) = x^T A x f(x)=xTAx 2 A x 2Ax 2Ax
f ( x ) = a x f(x) = ax f(x)=ax a T a^T aT
f ( x ) = ∣ x ∣ 2 2 f(x) = |x|_2^2 f(x)=x22 2 x 2x 2x

f ( x ) = a T x f(x) = a^T x f(x)=aTx 梯度推导

如果我们有一个三维向量 a a a 和函数 f ( x ) = a T x f(x) = a^T x f(x)=aTx ,那么梯度 ∇ f ( x ) \nabla f(x) f(x) 直接是向量 a a a 本身。

假设:

a = [ a 1 a 2 a 3 ] a = \begin{bmatrix} a_1 \\ a_2 \\ a_3 \end{bmatrix} a= a1a2a3

且向量 x x x 也是三维的:

x = [ x 1 x 2 x 3 ] x = \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} x= x1x2x3

函数 f ( x ) = a T x f(x) = a^T x f(x)=aTx 可以展开为:

f ( x ) = a 1 x 1 + a 2 x 2 + a 3 x 3 f(x) = a_1x_1 + a_2x_2 + a_3x_3 f(x)=a1x1+a2x2+a3x3

梯度 ∇ f ( x ) \nabla f(x) f(x) 的每个分量是 f ( x ) f(x) f(x) x x x 中每个分量的偏导数,计算如下:

  • x 1 x_1 x1 的偏导数是 a 1 a_1 a1
  • x 2 x_2 x2 的偏导数是 a 2 a_2 a2
  • x 3 x_3 x3 的偏导数是 a 3 a_3 a3

因此,梯度 ∇ f ( x ) \nabla f(x) f(x) 是:

∇ f ( x ) = [ a 1 a 2 a 3 ] = a \nabla f(x) = \begin{bmatrix} a_1 \\ a_2 \\ a_3 \end{bmatrix} = a f(x)= a1a2a3 =a

f ( x ) = x T A x f(x) = x^T A x f(x)=xTAx 梯度推导

假设 A A A 是一个三维对称矩阵,其元素如下:

A = [ a 11 a 12 a 13 a 12 a 22 a 23 a 13 a 23 a 33 ] A = \begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{12} & a_{22} & a_{23} \\ a_{13} & a_{23} & a_{33} \end{bmatrix} A= a11a12a13a12a22a23a13a23a33

向量 x x x 也是三维的:

x = [ x 1 x 2 x 3 ] x = \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} x= x1x2x3

函数 f ( x ) f(x) f(x) 可以展开为:

f ( x ) = [ x 1 x 2 x 3 ] [ a 11 a 12 a 13 a 12 a 22 a 23 a 13 a 23 a 33 ] [ x 1 x 2 x 3 ] f(x) = \begin{bmatrix} x_1 & x_2 & x_3 \end{bmatrix} \begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{12} & a_{22} & a_{23} \\ a_{13} & a_{23} & a_{33} \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} f(x)=[x1x2x3] a11a12a13a12a22a23a13a23a33 x1x2x3

这会得到:

f ( x ) = a 11 x 1 2 + 2 a 12 x 1 x 2 + 2 a 13 x 1 x 3 + a 22 x 2 2 + 2 a 23 x 2 x 3 + a 33 x 3 2 f(x) = a_{11}x_1^2 + 2a_{12}x_1x_2 + 2a_{13}x_1x_3 + a_{22}x_2^2 + 2a_{23}x_2x_3 + a_{33}x_3^2 f(x)=a11x12+2a12x1x2+2a13x1x3+a22x22+2a23x2x3+a33x32

使用梯度公式 ∇ f ( x ) = 2 A x \nabla f(x) = 2Ax f(x)=2Ax ,我们得到:

∇ f ( x ) = 2 [ a 11 a 12 a 13 a 12 a 22 a 23 a 13 a 23 a 33 ] [ x 1 x 2 x 3 ] \nabla f(x) = 2 \begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{12} & a_{22} & a_{23} \\ a_{13} & a_{23} & a_{33} \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} f(x)=2 a11a12a13a12a22a23a13a23a33 x1x2x3

= 2 [ a 11 x 1 + a 12 x 2 + a 13 x 3 a 12 x 1 + a 22 x 2 + a 23 x 3 a 13 x 1 + a 23 x 2 + a 33 x 3 ] = 2 \begin{bmatrix} a_{11}x_1 + a_{12}x_2 + a_{13}x_3 \\ a_{12}x_1 + a_{22}x_2 + a_{23}x_3 \\ a_{13}x_1 + a_{23}x_2 + a_{33}x_3 \end{bmatrix} =2 a11x1+a12x2+a13x3a12x1+a22x2+a23x3a13x1+a23x2+a33x3

这个结果给出了 f ( x ) = x T A x f(x) = x^T A x f(x)=xTAx 的梯度表达式,其中 A A A 是一个三维对称矩阵, x x x 是一个三维向量。

f ( x ) = a x f(x) = ax f(x)=ax 梯度推导

f ( x ) = a x = ( a T ) T x f(x) = ax = (a^T)^Tx f(x)=ax=(aT)Tx

∇ f ( x ) = a T \nabla f(x) = a^T f(x)=aT

f ( x ) = ∥ x ∥ 2 2 f(x) = \|x\|_2^2 f(x)=x22 梯度推导

f ( x ) = ∥ x ∥ 2 2 = x T x = ∑ i = 1 n x i 2 f(x) = \|x\|_2^2 = x^T x = \sum_{i=1}^n x_i^2 f(x)=x22=xTx=i=1nxi2

其中, x = [ x 1 , x 2 , … , x n ] T x = [x_1, x_2, \dots, x_n]^T x=[x1,x2,,xn]T

对于每个分量 x i x_i xi ,函数 f ( x ) f(x) f(x) 的偏导数是:

∂ ∂ x i ( x i 2 ) = 2 x i \frac{\partial}{\partial x_i} (x_i^2) = 2x_i xi(xi2)=2xi

因此,梯度 ∇ f ( x ) \nabla f(x) f(x) 是:

∇ f ( x ) = [ 2 x 1 2 x 2 ⋮ 2 x n ] = 2 x \nabla f(x) = \begin{bmatrix} 2x_1 \\ 2x_2 \\ \vdots \\ 2x_n \end{bmatrix} = 2x f(x)= 2x12x22xn =2x

假设 x x x 是一个三维向量, x = [ x 1 x 2 x 3 ] x = \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} x= x1x2x3 ,那么:

f ( x ) = x 1 2 + x 2 2 + x 3 2 f(x) = x_1^2 + x_2^2 + x_3^2 f(x)=x12+x22+x32

梯度为:

∇ f ( x ) = [ 2 x 1 2 x 2 2 x 3 ] = 2 x \nabla f(x) = \begin{bmatrix} 2x_1 \\ 2x_2 \\ 2x_3 \end{bmatrix} = 2x f(x)= 2x12x22x3 =2x

这样的计算表明,对于函数 f ( x ) = ∥ x ∥ 2 2 f(x) = \|x\|_2^2 f(x)=x22 ,其梯度直接指向向量 x x x 的方向,且大小是 x x x 的两倍,反映了在每个方向上的变化率。

多元线性回归问题

线性回归模型的基本形式,其中包含一组数据点 ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x m , y m ) (x_1, y_1), (x_2, y_2), \ldots, (x_m, y_m) (x1,y1),(x2,y2),,(xm,ym)每个 x i x_i xi d − d- d维的特征向量 y i y_i yi 是相应的标量响应。线性回归模型试图找到一个权重向量 w ∈ R d w \in \mathbb{R}^d wRd 和一个偏置项 b ∈ R b \in \mathbb{R} bR,使得对于所有 i = 1 , … , m i = 1, \ldots, m i=1,,m,模型的预测 y i y_i yi 逼近真实响应 f ( x i ) f(x_i) f(xi),其中模型的预测由线性方程给出:

y i ≈ f ( x i ) = w T x i + b y_i \approx f(x_i) = w^T x_i + b yif(xi)=wTxi+b

这里, w T x i w^T x_i wTxi 表示向量 w w w 和向量 x i x_i xi 的点积,加上偏置项 b b b

线性回归模型目标函数

线性回归通常使用最小二乘法来估计 w w w b b b,即最小化所有数据点上预测值和实际值之间差的平方和:

min ⁡ w , b ∑ i = 1 m ( y i − ( w T x i + b ) ) 2 \min_{w, b} \sum_{i=1}^m (y_i - (w^T x_i + b))^2 w,bmini=1m(yi(wTxi+b))2

通过这个优化问题,可以找到最佳的 w w w b b b,使模型在给定数据上的误差最小。

数学解法

为了解这个优化问题,通常:

  • 需要对 w w w b b b 进行偏导,并设置导数为零来解析求解。
  • 或者使用梯度下降等数值优化方法迭代求解。
  • 在实际应用中,可能还会考虑正则化项来避免过拟合,比如 L 1 L1 L1 L 2 L2 L2 正则化。

如何简化线性回归模型目标函数

  1. 引入新的特征向量:

    定义新的特征向量 x ^ i : \hat{\mathbf{x}}_i: x^i

    x ^ i = ( x i 1 ) = ( x i 1 x i 2 ⋮ x i d 1 ) ∈ R d + 1 \hat{\mathbf{x}}_i = \begin{pmatrix} \mathbf{x}_i \\ 1 \end{pmatrix} = \begin{pmatrix} x_{i1} \\ x_{i2} \\ \vdots \\ x_{id} \\ 1 \end{pmatrix} \in \mathbb{R}^{d+1} x^i=(xi1)= xi1xi2xid1 Rd+1

    这里将原始特征向量 x i \mathbf{x}_i xi 扩展了一个维度,新增的特征值固定为 1 1 1。这样做的目的是将偏置 b b b 作为权重的一部分来处理,以简化计算。

  2. 定义新的权重向量:

    同时,将原来的权重向量 w \mathbf{w} w 和偏置 b b b 合并成一个新的向量:

    w ^ = ( w b ) ∈ R d + 1 \hat{\mathbf{w}} = \begin{pmatrix} \mathbf{w} \\ b \end{pmatrix} \in \mathbb{R}^{d+1} w^=(wb)Rd+1

  3. 新的表示:

    通过引入 x ^ i \hat{\mathbf{x}}_i x^i w ^ \hat{\mathbf{w}} w^,可以将线性模型 w T x i + b w^T x_i + b wTxi+b 简化为:

    w ^ T x ^ i \hat{\mathbf{w}}^T \hat{\mathbf{x}}_i w^Tx^i

    这样,模型中就不再需要单独处理偏置项 b b b,使得公式变得更加简洁。目标是最小化误差平方和:

    E ( w ^ ) = ∑ i = 1 m ( w ^ T x ^ i − y i ) 2 E(\hat{\mathbf{w}}) = \sum_{i=1}^{m} \left( \hat{\mathbf{w}}^T \hat{\mathbf{x}}_i - y_i \right)^2 E(w^)=i=1m(w^Tx^iyi)2

总结

为了简化计算,引入了一个新的特征向量 x ^ i \hat{\mathbf{x}}_i x^i 和权重向量 w ^ \hat{\mathbf{w}} w^,这样可以将偏置 b b b 合并到权重中,简化公式的表示形式

将目标函数用矩阵乘法的形式表示出来,从而简化计算和推导

X = ( x ^ 1 T x ^ 2 T ⋮ x ^ m T ) = ( x 11 x 12 … x 1 d 1 x 21 x 22 … x 2 d 1 ⋮ ⋮ ⋱ ⋮ ⋮ x m 1 x m 2 … x m d 1 ) \mathbf{X} = \begin{pmatrix} \hat{\mathbf{x}}_1^T \\ \hat{\mathbf{x}}_2^T \\ \vdots \\ \hat{\mathbf{x}}_m^T \end{pmatrix} = \begin{pmatrix} x_{11} & x_{12} & \dots & x_{1d} & 1 \\ x_{21} & x_{22} & \dots & x_{2d} & 1 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ x_{m1} & x_{m2} & \dots & x_{md} & 1 \end{pmatrix} X= x^1Tx^2Tx^mT = x11x21xm1x12x22xm2x1dx2dxmd111

这里,矩阵 X ∈ R m × ( d + 1 ) \mathbf{X} \in \mathbb{R}^{m \times (d+1)} XRm×(d+1) 包含了所有样本的特征,其中每一行对应一个样本的特征向量 x ^ i T \hat{\mathbf{x}}_i^T x^iT,并且每一行的最后一个元素都是 1 1 1,这与定义新的特征向量 x ^ i \hat{\mathbf{x}}_i x^i 保持一致。

E ( w , b ) = ∑ i = 1 m ( w ^ T x ^ i − y i ) 2 E(\mathbf{w}, b) = \sum_{i=1}^{m} \left( \hat{\mathbf{w}}^T \hat{\mathbf{x}}_i - y_i \right)^2 E(w,b)=i=1m(w^Tx^iyi)2

然后,将所有样本放到矩阵 X \mathbf{X} X 和向量 y \mathbf{y} y 中,目标函数可以进一步表示为:

E ( w ^ ) = ∥ X w ^ − y ∥ 2 2 E(\hat{\mathbf{w}}) = \|\mathbf{X} \hat{\mathbf{w}} - \mathbf{y}\|_2^2 E(w^)=Xw^y22

  • 具体推导

    背景回顾

    在前面的推导中,我们引入了新的特征向量 x ^ i \hat{\mathbf{x}}_i x^i 和权重向量 w ^ \hat{\mathbf{w}} w^

    x ^ i = ( x i 1 x i 2 ⋮ x i d 1 ) , w ^ = ( w 1 w 2 ⋮ w d b ) \hat{\mathbf{x}}_i = \begin{pmatrix} x_{i1} \\ x_{i2} \\ \vdots \\ x_{id} \\ 1 \end{pmatrix}, \quad \hat{\mathbf{w}} = \begin{pmatrix} w_1 \\ w_2 \\ \vdots \\ w_d \\ b \end{pmatrix} x^i= xi1xi2xid1 ,w^= w1w2wdb

    通过引入这两个向量,线性模型的预测可以写为:

    y ^ i = w ^ T x ^ i = ∑ j = 1 d w j x i j + b \hat{y}_i = \hat{\mathbf{w}}^T \hat{\mathbf{x}}_i = \sum_{j=1}^{d} w_j x_{ij} + b y^i=w^Tx^i=j=1dwjxij+b

    目标是最小化预测值与实际值之间的误差平方和:

    E ( w ^ ) = ∑ i = 1 m ( w ^ T x ^ i − y i ) 2 E(\hat{\mathbf{w}}) = \sum_{i=1}^{m} \left( \hat{\mathbf{w}}^T \hat{\mathbf{x}}_i - y_i \right)^2 E(w^)=i=1m(w^Tx^iyi)2

    将所有样本放到矩阵和向量中

    为了简化计算和推导,我们引入矩阵 X \mathbf{X} X 和向量 y \mathbf{y} y

    1. 构造特征矩阵 X \mathbf{X} X

      设我们有 m m m 个样本,每个样本有 d d d 个特征。定义特征矩阵 X ∈ R m × ( d + 1 ) : \mathbf{X} \in \mathbb{R}^{m \times (d+1)}: XRm×(d+1)

      X = ( x ^ 1 T x ^ 2 T ⋮ x ^ m T ) = ( x 11 x 12 … x 1 d 1 x 21 x 22 … x 2 d 1 ⋮ ⋮ ⋱ ⋮ ⋮ x m 1 x m 2 … x m d 1 ) \mathbf{X} = \begin{pmatrix} \hat{\mathbf{x}}_1^T \\ \hat{\mathbf{x}}_2^T \\ \vdots \\ \hat{\mathbf{x}}_m^T \end{pmatrix} = \begin{pmatrix} x_{11} & x_{12} & \dots & x_{1d} & 1 \\ x_{21} & x_{22} & \dots & x_{2d} & 1 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ x_{m1} & x_{m2} & \dots & x_{md} & 1 \end{pmatrix} X= x^1Tx^2Tx^mT = x11x21xm1x12x22xm2x1dx2dxmd111

      每一行对应一个样本的特征向量,其中最后一列全是 1 1 1 ,这是为了合并偏置项 b b b 到特征向量中。

    2. 构造目标值向量 y \mathbf{y} y

      定义目标值向量 y ∈ R m \mathbf{y} \in \mathbb{R}^m yRm

      y = ( y 1 y 2 ⋮ y m ) \mathbf{y} = \begin{pmatrix} y_1 \\ y_2 \\ \vdots \\ y_m \end{pmatrix} y= y1y2ym

    3. 利用矩阵形式表示预测值:

      我们的模型预测值 y ^ i \hat{y}_i y^i 可以用矩阵-向量乘法表示为:

      X w ^ = ( x ^ 1 T w ^ x ^ 2 T w ^ ⋮ x ^ m T w ^ ) = ( y ^ 1 y ^ 2 ⋮ y ^ m ) \mathbf{X} \hat{\mathbf{w}} = \begin{pmatrix} \hat{\mathbf{x}}_1^T \hat{\mathbf{w}} \\ \hat{\mathbf{x}}_2^T \hat{\mathbf{w}} \\ \vdots \\ \hat{\mathbf{x}}_m^T \hat{\mathbf{w}} \end{pmatrix} = \begin{pmatrix} \hat{y}_1 \\ \hat{y}_2 \\ \vdots \\ \hat{y}_m \end{pmatrix} Xw^= x^1Tw^x^2Tw^x^mTw^ = y^1y^2y^m

      这里, X w ^ \mathbf{X} \hat{\mathbf{w}} Xw^ 是一个 m × 1 m \times 1 m×1 的向量,每个元素都是模型的线性预测值。

    目标函数的矩阵形式

    利用矩阵 X \mathbf{X} X 和向量 y \mathbf{y} y,我们可以将误差平方和重新表示为:

    E ( w ^ ) = ∑ i = 1 m ( w ^ T x ^ i − y i ) 2 = ∥ X w ^ − y ∥ 2 2 E(\hat{\mathbf{w}}) = \sum_{i=1}^{m} \left( \hat{\mathbf{w}}^T \hat{\mathbf{x}}_i - y_i \right)^2 = \|\mathbf{X} \hat{\mathbf{w}} - \mathbf{y}\|_2^2 E(w^)=i=1m(w^Tx^iyi)2=Xw^y22

    • 解释:这里 X w ^ \mathbf{X} \hat{\mathbf{w}} Xw^ 是所有样本的预测值向量 y \mathbf{y} y 是所有样本的实际值向量, X w ^ − y \mathbf{X} \hat{\mathbf{w}} - \mathbf{y} Xw^y 是预测值和实际值的误差向量。
    • 范数 ∥ ⋅ ∥ 2 2 \|\cdot\|_2^2 22 表示向量的 L 2 L_2 L2 范数的平方,即向量中每个元素平方和。

    优势

    通过将目标函数写成矩阵形式 ∥ X w ^ − y ∥ 2 2 \|\mathbf{X} \hat{\mathbf{w}} - \mathbf{y}\|_2^2 Xw^y22我们将复杂的求和操作转化为简单的矩阵运算。这种表示方式非常简洁,并且便于使用线性代数方法(如梯度下降、正规方程等)来求解最优的参数 w ^ \hat{\mathbf{w}} w^

E ( w ^ ) = ( X w ^ − y ) T ( X w ^ − y ) E(\hat{\mathbf{w}}) = (\mathbf{X} \hat{\mathbf{w}} - \mathbf{y})^T (\mathbf{X} \hat{\mathbf{w}} - \mathbf{y}) E(w^)=(Xw^y)T(Xw^y)

  • 为什么要转置一下

    这里转置的原因是为了将范数的平方表示为矩阵的二次型,从而方便计算和推导

    向量范数平方的定义

    首先,我们看一下 ∥ X w ^ − y ∥ 2 2 \|\mathbf{X} \hat{\mathbf{w}} - \mathbf{y}\|_2^2 Xw^y22 的含义。这里, X w ^ − y \mathbf{X} \hat{\mathbf{w}} - \mathbf{y} Xw^y 是一个向量,用来表示预测值与真实值之间的误差。 L 2 L_2 L2 范数的平方定义为向量中每个元素的平方和:

    ∥ X w ^ − y ∥ 2 2 = ∑ i = 1 m ( z i ) 2 \|\mathbf{X} \hat{\mathbf{w}} - \mathbf{y}\|_2^2 = \sum_{i=1}^{m} (z_i)^2 Xw^y22=i=1m(zi)2

    其中, z i z_i zi 是误差向量 X w ^ − y \mathbf{X} \hat{\mathbf{w}} - \mathbf{y} Xw^y 的第 i i i 个元素。

    将范数平方表示为矩阵二次型

    现在,将这个范数平方用矩阵运算表示。对于任意向量 z ∈ R m \mathbf{z} \in \mathbb{R}^m zRm,它的 L 2 L_2 L2 范数平方可以表示为:

    ∥ z ∥ 2 2 = z T z \|\mathbf{z}\|_2^2 = \mathbf{z}^T \mathbf{z} z22=zTz

    在这里, z T \mathbf{z}^T zT 表示 z \mathbf{z} z 的转置,矩阵乘法 z T z \mathbf{z}^T \mathbf{z} zTz 会得到一个标量,它等于向量 z \mathbf{z} z 中各元素的平方和。这与 L 2 L_2 L2 范数平方的定义是一致的。

    回到我们的目标函数,这里的向量 z = X w ^ − y \mathbf{z} = \mathbf{X} \hat{\mathbf{w}} - \mathbf{y} z=Xw^y,所以:

    ∥ X w ^ − y ∥ 2 2 = ( X w ^ − y ) T ( X w ^ − y ) \|\mathbf{X} \hat{\mathbf{w}} - \mathbf{y}\|_2^2 = (\mathbf{X} \hat{\mathbf{w}} - \mathbf{y})^T (\mathbf{X} \hat{\mathbf{w}} - \mathbf{y}) Xw^y22=(Xw^y)T(Xw^y)

    为什么要转置

    1. 将范数转化为矩阵形式:通过引入转置操作,我们将范数的平方表示为矩阵的二次型形式。这个形式在计算上非常有用,尤其是在求导时。
    2. 方便推导梯度:接下来的步骤中,我们需要对这个误差函数求梯度,以找到最优的参数 \hat{\mathbf{w}}。利用二次型的形式,可以直接使用矩阵微分的规则来进行推导,这比处理求和形式更为简洁和高效。

这样,目标函数变成了一个标准的二次型表达式,这对于接下来的求解和优化非常有帮助。

这张图片展示了如何求解优化问题。目标是找到最优的参数向量 w ^ \hat{\mathbf{w}} w^ 使得误差最小:

w ^ ∗ = arg ⁡ min ⁡ w ^ ( X w ^ − y ) T ( X w ^ − y ) \hat{\mathbf{w}}^* = \arg\min_{\hat{\mathbf{w}}} (\mathbf{X} \hat{\mathbf{w}} - \mathbf{y})^T (\mathbf{X} \hat{\mathbf{w}} - \mathbf{y}) w^=argw^min(Xw^y)T(Xw^y)

接下来,为了找到最优解,我们对目标函数 E ( w ^ ) = ( X w ^ − y ) T ( X w ^ − y ) E(\hat{\mathbf{w}}) = (\mathbf{X} \hat{\mathbf{w}} - \mathbf{y})^T (\mathbf{X} \hat{\mathbf{w}} - \mathbf{y}) E(w^)=(Xw^y)T(Xw^y) 求梯度:

∇ E ( w ^ ) = 2 X T ( X w ^ − y ) \nabla E(\hat{\mathbf{w}}) = 2 \mathbf{X}^T (\mathbf{X} \hat{\mathbf{w}} - \mathbf{y}) E(w^)=2XT(Xw^y)

  • 求梯度的具体过程

    E ( w ^ ) = ( X w ^ − y ) T ( X w ^ − y ) E(\hat{\mathbf{w}}) = (\mathbf{X} \hat{\mathbf{w}} - \mathbf{y})^T (\mathbf{X} \hat{\mathbf{w}} - \mathbf{y}) E(w^)=(Xw^y)T(Xw^y)

    ⇒ E ( w ^ ) = w ^ T X T X w ^ − w ^ T X T y − y T X w ^ + y T y \Rightarrow E(\hat w) = \hat w^TX^TX\hat w - \hat w^TX^Ty - y^TX\hat w + y^Ty E(w^)=w^TXTXw^w^TXTyyTXw^+yTy

    由于, w ^ T X T y = ( X w ^ ) T y \hat w^TX^Ty = (X \hat w)^T y w^TXTy=(Xw^)Ty y T X w ^ = y T ( X w ^ ) y^TX \hat w = y^T(X \hat w) yTXw^=yT(Xw^),这两个是内积表达式,是一个相等的值

    ⇒ E ( w ^ ) = w ^ T ( X T X ) w ^ − 2 y T X w ^ + y T y \Rightarrow E(\hat w) = \hat w^T(X^TX)\hat w - 2 y^TX\hat w + y^Ty E(w^)=w^T(XTX)w^2yTXw^+yTy

    ⇒ ∇ E ( w ^ ) = 2 ( X T X ) w ^ − 2 X T y \Rightarrow \nabla E(\hat w) = 2(X^TX)\hat w - 2X^Ty E(w^)=2(XTX)w^2XTy

    ⇒ ∇ E ( w ^ ) = 2 X T X w ^ − 2 X T y ⇒ ∇ E ( w ^ ) = 2 X T ( X w ^ − y ) \Rightarrow \nabla E(\hat w) = 2X^TX \hat w - 2X^Ty \\ \Rightarrow \nabla E(\hat w) = 2X^T(X\hat w - y) E(w^)=2XTXw^2XTyE(w^)=2XT(Xw^y)

总结

  • 引入了特征矩阵 X \mathbf{X} X,使得所有样本的特征可以用一个矩阵表示,方便接下来的计算。
  • 将目标函数表示为范数的平方和,进一步简化为二次型形式,以便进行矩阵运算。
  • 给出了目标函数的优化问题,并计算了其梯度,为求解最优参数提供了理论基础。通过设定梯度为零,可以得到线性回归的最优解。

如何求解目标函数的最小值

1. 设置梯度为零

从前面的推导中,我们知道目标函数 E ( w ^ ) = ( X w ^ − y ) T ( X w ^ − y ) E(\hat{\mathbf{w}}) = (\mathbf{X} \hat{\mathbf{w}} - \mathbf{y})^T (\mathbf{X} \hat{\mathbf{w}} - \mathbf{y}) E(w^)=(Xw^y)T(Xw^y) 的梯度为:

∇ E ( w ^ ) = 2 X T ( X w ^ − y ) \nabla E(\hat{\mathbf{w}}) = 2 \mathbf{X}^T (\mathbf{X} \hat{\mathbf{w}} - \mathbf{y}) E(w^)=2XT(Xw^y)

为了找到最优解 w ^ \hat{\mathbf{w}} w^,需要将梯度设为零:

∇ E ( w ^ ) = 2 X T ( X w ^ − y ) = 0 \nabla E(\hat{\mathbf{w}}) = 2 \mathbf{X}^T (\mathbf{X} \hat{\mathbf{w}} - \mathbf{y}) = 0 E(w^)=2XT(Xw^y)=0

2. 解线性方程

上式化简为:

X T X w ^ = X T y \mathbf{X}^T \mathbf{X} \hat{\mathbf{w}} = \mathbf{X}^T \mathbf{y} XTXw^=XTy

这是一个线性方程组,其中 X T X \mathbf{X}^T \mathbf{X} XTX 是一个 ( d + 1 ) × ( d + 1 ) (d+1) \times (d+1) (d+1)×(d+1) 的方阵, X T y \mathbf{X}^T \mathbf{y} XTy 是一个 ( d + 1 ) × 1 (d+1) \times 1 (d+1)×1 的向量。

3. 求解最优参数

当矩阵 X T X \mathbf{X}^T \mathbf{X} XTX 是满秩矩阵(即可逆矩阵)时,我们可以通过矩阵求逆来求解这个方程,得到最优的参数 w ^ ∗ \hat{\mathbf{w}}^* w^

w ^ ∗ = ( X T X ) − 1 X T y \hat{\mathbf{w}}^* = (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \mathbf{y} w^=(XTX)1XTy

这个结果被称为线性回归的正规方程解,它是线性回归中求解最优参数的解析解。

4. 拆分参数向量

从之前的定义,我们知道:

w ^ = ( w b ) \hat{\mathbf{w}} = \begin{pmatrix} \mathbf{w} \\ b \end{pmatrix} w^=(wb)

因此,求解得到的 w ^ ∗ \hat{\mathbf{w}}^* w^ 中,前 d d d 个元素构成权重向量 w ∗ \mathbf{w}^* w,最后一个元素是偏置 b ∗ b^* b

w ∗ = w ^ ∗ ( 1 : d ) , b ∗ = w ^ ∗ ( d + 1 ) \mathbf{w}^* = \hat{\mathbf{w}}^*(1:d), \quad b^* = \hat{\mathbf{w}}^*(d+1) w=w^(1:d),b=w^(d+1)

5. 关于矩阵 X T X \mathbf{X}^T \mathbf{X} XTX 的可逆性

X T X \mathbf{X}^T \mathbf{X} XTX 不是满秩矩阵时,上述方程可能有多个解。这种情况下, X T X \mathbf{X}^T \mathbf{X} XTX 不可逆,我们不能直接求逆得到唯一解。

  • 解决方法:在这种情况下,可以采用正则化方法(如岭回归)来解决,这种方法在 X T X \mathbf{X}^T \mathbf{X} XTX 不可逆或者接近奇异矩阵时,能够找到一个稳定的解。

总结

  • 通过将梯度设为零,我们得到了线性方程组 X T X w ^ = X T y \mathbf{X}^T \mathbf{X} \hat{\mathbf{w}} = \mathbf{X}^T \mathbf{y} XTXw^=XTy
  • X T X \mathbf{X}^T \mathbf{X} XTX 可逆时,利用正规方程可以求解最优参数 w ^ \hat{\mathbf{w}} w^
  • 将求得的 w ^ \hat{\mathbf{w}} w^ 分解,前 d d d 个元素为权重向量 w \mathbf{w} w,最后一个元素为偏置 b b b
  • 如果 X T X \mathbf{X}^T \mathbf{X} XTX 不可逆,需要采用正则化等方法来求解。

广义线性回归(Generalized Linear Models, GLM)

1. 广义线性回归的基本形式

广义线性回归模型是一类推广了传统线性回归的模型,它允许因变量 y y y 和线性预测器之间通过非线性函数建立关系。它的一般形式为:

y = g − 1 ( w T x + b ) y = g^{-1}(\mathbf{w}^T \mathbf{x} + b) y=g1(wTx+b)

其中:

  • w T x + b \mathbf{w}^T \mathbf{x} + b wTx+b 是线性预测器,将输入特征 x \mathbf{x} x 通过权重向量 w \mathbf{w} w 线性组合再加上偏置 b b b
  • g ( ⋅ ) g(\cdot) g() 是一个联系函数(link function),它是一个单调可微的函数,用于将线性预测器的值映射到因变量的空间。
  • g − 1 ( ⋅ ) g^{-1}(\cdot) g1() 是联系函数的反函数,表示输出 y y y 与线性组合之间的关系。

2. 联系函数(Link Function)

联系函数是广义线性回归的核心,它定义了因变量 y y y 与线性预测器之间的非线性关系。在图片中,联系函数 g ( ⋅ ) g(\cdot) g() 被强调为单调可微的函数,这意味着它必须具有可逆性,这样我们才能通过反函数 g − 1 ( ⋅ ) g^{-1}(\cdot) g1() 从线性预测器中得到因变量。

  • 为什么需要联系函数? 在一些实际问题中,因变量 y y y 可能具有一些约束,比如取值范围为非负(如计数、概率等)。联系函数可以帮助我们把线性预测器的值映射到满足这些约束的范围内。

3. 对数线性回归( P o i s s o n Poisson Poisson 回归)

一个特殊的联系函数: g ( ⋅ ) = ln ⁡ ( ⋅ ) g(\cdot) = \ln(\cdot) g()=ln(),这就是对数线性回归(也称为泊松回归, P o i s s o n Poisson Poisson R e g r e s s i o n Regression Regression)的联系函数。当选择这个联系函数时,广义线性模型的形式为:

ln ⁡ y = w T x + b \ln y = \mathbf{w}^T \mathbf{x} + b lny=wTx+b

在这种情况下,输出 y y y 通常表示一个非负的计数数据,通过取对数,将 y y y 与线性组合关联起来,模型可以预测非负的输出值。

4. 其他常见的广义线性模型

广义线性模型还包括其他常见的模型,如:

  • 逻辑回归 g ( ⋅ ) g(\cdot) g() 为逻辑函数( s i g m o i d sigmoid sigmoid),用于二分类问题。
  • 泊松回归 g ( ⋅ ) = ln ⁡ ( ⋅ ) g(\cdot) = \ln(\cdot) g()=ln(),用于预测计数数据。
  • 线性回归 g ( ⋅ ) g(\cdot) g() 为恒等函数,等价于传统的线性回归。

总结

介绍了广义线性回归模型的基本形式,强调了联系函数的作用,它通过联系函数的反函数 g − 1 ( ⋅ ) g^{-1}(\cdot) g1() 将线性预测器映射到输出空间。

岭回归(Ridge Regression)

1. 损失函数的变化:引入正则化项

图中给出的损失函数为:

E ( w , b ) = ∑ i = 1 m ( w T x i + b − y i ) 2 + λ ( ∥ w ∥ 2 2 + b 2 ) E(\mathbf{w}, b) = \sum_{i=1}^{m} (\mathbf{w}^T \mathbf{x}_i + b - y_i)^2 + \lambda (\|\mathbf{w}\|_2^2 + b^2) E(w,b)=i=1m(wTxi+byi)2+λ(w22+b2)

  • 第一项 ∑ i = 1 m ( w T x i + b − y i ) 2 \sum_{i=1}^{m} (\mathbf{w}^T \mathbf{x}_i + b - y_i)^2 i=1m(wTxi+byi)2 是传统的线性回归的平方误差损失,表示模型预测值与真实值之间的差异。
  • 第二项 λ ( ∥ w ∥ 2 2 + b 2 ) \lambda (\|\mathbf{w}\|_2^2 + b^2) λ(w22+b2)正则化项,用来惩罚参数的大小,防止模型过拟合:
    • ∥ w ∥ 2 2 \|\mathbf{w}\|_2^2 w22 是权重向量 w \mathbf{w} w L 2 L_2 L2 范数平方,表示了所有权重的平方和。
    • b 2 b^2 b2偏置项的平方。
    • λ > 0 \lambda > 0 λ>0 是正则化参数,控制惩罚项的权重大小。较大的 λ \lambda λ 会使模型的参数趋于零,从而简化模型(提高泛化能力),但过大的 λ \lambda λ 可能导致欠拟合。

2. 等价表达形式

为了解决这个优化问题,图片中将损失函数进行了重新表示。首先定义新的参数向量:

w ^ = [ w b ] , x ^ i = [ x i 1 ] , i = 1 , … , m \hat{\mathbf{w}} = \begin{bmatrix} \mathbf{w} \\ b \end{bmatrix}, \quad \hat{\mathbf{x}}_i = \begin{bmatrix} \mathbf{x}_i \\ 1 \end{bmatrix}, \quad i = 1, \dots, m w^=[wb],x^i=[xi1],i=1,,m

利用这个新的表示形式,损失函数可以简化为:

E ( w ^ ) = ∑ i = 1 m ( w ^ T x ^ i − y i ) 2 + λ ∥ w ^ ∥ 2 2 E(\hat{\mathbf{w}}) = \sum_{i=1}^{m} (\hat{\mathbf{w}}^T \hat{\mathbf{x}}_i - y_i)^2 + \lambda \|\hat{\mathbf{w}}\|_2^2 E(w^)=i=1m(w^Tx^iyi)2+λw^22

这里, ∥ w ^ ∥ 2 2 \|\hat{\mathbf{w}}\|_2^2 w^22 包含了权重向量 w \mathbf{w} w 和偏置项 b b b 的平方和,这种表示方式方便我们用矩阵形式进行计算。

3. 如何估计 w \mathbf{w} w b b b

这个损失函数中包含了正则化项,优化目标是找到参数 w ^ \hat{\mathbf{w}} w^ 使得 E ( w ^ ) E(\hat{\mathbf{w}}) E(w^) 最小化。为此,使用梯度下降解析求解的方法。

解析求解

  1. 梯度:首先,我们可以对损失函数 E ( w ^ ) E(\hat{\mathbf{w}}) E(w^) w ^ \hat{\mathbf{w}} w^ 求梯度:

    ∇ E ( w ^ ) = 2 X T ( X w ^ − y ) + 2 λ w ^ \nabla E(\hat{\mathbf{w}}) = 2 \mathbf{X}^T (\mathbf{X} \hat{\mathbf{w}} - \mathbf{y}) + 2 \lambda \hat{\mathbf{w}} E(w^)=2XT(Xw^y)+2λw^

    这里, X \mathbf{X} X 是扩展后的特征矩阵, X = [ x ^ 1 , x ^ 2 , … , x ^ m ] T \mathbf{X} = [\hat{\mathbf{x}}_1, \hat{\mathbf{x}}_2, \dots, \hat{\mathbf{x}}_m]^T X=[x^1,x^2,,x^m]T

  2. 设梯度为零:为了找到最优解 w ^ \hat{\mathbf{w}} w^,将梯度设为零:

    X T X w ^ + λ w ^ = X T y \mathbf{X}^T \mathbf{X} \hat{\mathbf{w}} + \lambda \hat{\mathbf{w}} = \mathbf{X}^T \mathbf{y} XTXw^+λw^=XTy

  3. 求解 w ^ \hat{\mathbf{w}} w^:这是一组线性方程,可以解得:

    w ^ = ( X T X + λ I ) − 1 X T y \hat{\mathbf{w}} = (\mathbf{X}^T \mathbf{X} + \lambda \mathbf{I})^{-1} \mathbf{X}^T \mathbf{y} w^=(XTX+λI)1XTy

    其中, I \mathbf{I} I 是单位矩阵, λ I \lambda \mathbf{I} λI 的引入保证了 X T X + λ I \mathbf{X}^T \mathbf{X} + \lambda \mathbf{I} XTX+λI 是可逆的,即使 X T X \mathbf{X}^T \mathbf{X} XTX 不可逆。这是岭回归的标准解析解。

  4. 分离参数:一旦得到了 w ^ \hat{\mathbf{w}} w^,可以将其拆分为:

    w = w ^ ( 1 : d ) , b = w ^ ( d + 1 ) \mathbf{w} = \hat{\mathbf{w}}(1:d), \quad b = \hat{\mathbf{w}}(d+1) w=w^(1:d),b=w^(d+1)

总结

  • 通过在损失函数中加入正则化项,防止模型过拟合,提高模型的泛化能力。
  • 利用新的向量 w ^ \hat{\mathbf{w}} w^ 和扩展特征向量 x ^ i \hat{\mathbf{x}}_i x^i 的表示形式,简化了计算。
  • 正则化的引入使得优化问题可以通过解析解求解,从而得到参数估计。

对数几率回归

概率统计:极大似然法(Maximum Likel ihood)

概率与似然(Probability vs. Likelihood)

概率:有已知的理论概率 ⇒ \Rightarrow 实验结果的可能性

似然:已知实验的结果 ⇒ \Rightarrow 理论上参数的可能性

  • 离散随机变量
    • 离散随机变量是指变量的取值是离散的,即只能取有限个或可列个值。
  • 相互独立的观测值与似然函数
    • 当有 m m m 个相互独立的观测值 x 1 , x 2 , ⋯   , x m x_1,x_2,\cdots,x_m x1,x2,,xm 时,对于给定的参数 θ \theta θ,其似然函数定义为

      L ( θ ∣ x 1 , ⋯   , x m ) = p θ ( x 1 ) ⋯ p θ ( x m ) L\left(\theta | x_{1},\cdots,x_{m}\right)=p_{\theta}\left(x_{1}\right)\cdots p_{\theta}\left(x_{m}\right) L(θx1,,xm)=pθ(x1)pθ(xm)

      这里的 p θ ( x i ) p_{\theta}\left(x_{i}\right) pθ(xi) 表示在参数 θ \theta θ 下,观测值 x i x_i xi 出现的概率。

    • 由于观测值相互独立,所以多个观测值同时出现的概率等于各个观测值出现概率的乘积。 取对数后的形式为

      ln ⁡ L ( θ ∣ x 1 , ⋯   , x m ) = ∑ i = 1 m ln ⁡ p θ ( x i ) \ln L\left(\theta | x_{1},\cdots,x_{m}\right)=\sum_{i = 1}^{m}\ln p_{\theta}\left(x_{i}\right) lnL(θx1,,xm)=i=1mlnpθ(xi)

    • 对似然函数取对数在很多情况下可以简化计算,并且不改变函数的单调性,方便进行参数估计等后续操作。

    • 取对数后,原来的乘积形式变为求和形式,更加便于分析和处理。

    • 总之,这段内容描述了离散随机变量中,多个相互独立观测值的似然函数及其取对数后的形式,在统计学和概率论中常用于参数估计等问题。

内容可总结为:

θ = arg ⁡ max ⁡ θ L ( θ ∣ x 1 , ⋯   , x m ) = arg ⁡ max ⁡ θ ln ⁡ L ( θ ∣ x 1 , ⋯   , x m ) \theta^{}=\arg\max_\theta L(\theta|x_1,\cdots,x_m) =\arg \max _\theta\ln L(\theta|x_1,\cdots,x_m) θ=argθmaxL(θx1,,xm)=argθmaxlnL(θx1,,xm)

θ \theta^{} θ使得似然函数 L ( θ ∣ x 1 , ⋯   , x m ) L(\theta|x_1,\cdots,x_m) L(θx1,,xm) 取最大值时的 θ \theta θ,同时等式右边也是在求使得取对数后的似然函数与 θ \theta θ 相关的表达式取最大值时的情况。

优化理论:梯度下降(Gradient Descent)

线性判别分析

类别不平衡问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FOUR_A

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值