机器学习与深度学习

线性回归算法简述

2020-03-02  本文已影响0人  LCG22

假设数据集 D 中共有 m 个样本,每个样本共有 n 个特征,1 个样本标签,则每个样本组成为 (x_1^i, x_2^i, ..., x_n^i, y_i), i = 1, 2, ..., m

\hat{y_i}  为第 i 个样本的标签预测值,Y = (Y_1; Y_2; ...; Y_m) 为 m x 1 的行向量,X = (X_1; X_2; ... ;X_m) 为 m x n 的矩阵,而

X_i = (x_0^i, x_1^i, x_2^i, ..., x_n^i) 为 1 x (n + 1) 的列向量,而 A = (a_0, a_1, a_2, ..., a_n) 为 (n + 1) x 1 的行向量

故线性回归目标函数可表示为 \hat{y_i} = f(x_1^i, x_2^i, ..., x_n^i) = a_0 + a_1x_1^i + a_2x_2^i + ... + a_nx_n^i

为了方便使用矩阵表示,可假设 x_0^i = 1,则上式可表示为 \hat{y_i}  = f(x_1^i, x_2^i, ..., x_n^i) = a_0x_0^i + a_1x_1^i + a_2x_2^i + ... + a_nx_n^i

可进一步简化表示为 \hat{y_i} = f(x_0^i, x_1^i, x_2^i, ..., x_n^i) = \sum_{j=1}^na_jx_j^i ,又可使用矩阵进一步简化为 \hat{y_i}  = f(x_0^i, x_1^i, x_2^i, ..., x_n^i) = X_iA

故损失函数可定义为:

平方误差:

loss(A) = \frac{1}{2} \sum_{i=1}^m (y_i - \hat{y_i} )^2 =   \frac{1}{2} \sum_{i=1}^m(y_i - X_iA)^w =  \frac{1}{2} \sum_{i=1}^m(Y_i - X_iA)^2 =  \frac{1}{2} (XA - Y)^T(XA - Y)

注:\frac{1}{2}  只是为了在求导时,将 2 消去

故对 loss(A) 的 A 求偏导数可得:

J(A) = (XA - Y)^TX

而由梯度下降法可得:

A_{t+1} = A_t - \alpha J(A)X = A_t - \alpha X^T(XA - Y)

其中 t 表示第 t 步的迭代,而 \alpha  则表示步长

上一篇 下一篇

猜你喜欢

热点阅读