用经典的西瓜问题来解释线性回归
西瓜的甜度由成熟度和基础甜度表示,这本质是0维张量的线性回归 ?y=w \cdot x + b?
1. 把公式推广到样本数为n的数据集
?\sum_{n=1}^m y = \sum_{n=1}^m (w \cdot x_n + b_n)?
2. 再推广到有多个参数的情况
西瓜的甜度
单一参数扩展成 是特征数量
?\sum_{n=1}^m y = \sum_{n=1}^m (w_j x_{j\ n} + b_n)?
处理右边 把求和转换成矩阵乘法 ?\sum\limits_{n=1}^m (w_j x_n + b_n) = \begin{bmatrix} w_1\ w_2\ w_3\ ...\w_j \b \end{bmatrix} \quad \begin{bmatrix} x_{11}& x_{21}& x_{31}& ...&x_{j1} &1 \x_{12}& x_{22}& x_{32}& ...&x_{j2} &1 \ ...& ...& ...& ...& ... &1 \ x_{1n} & x_{2n}& x_{3n}&.... & x_{jn} &1 \end{bmatrix} ? 矩阵形状为 这明显不能作矩阵乘法,所以需要进行转置
广义线性回归分布函数
?Y = W^T X^T?
是参数矩阵,形状:
是参数的个数
是自变量矩阵,形状:
是样本数, 是每个自变量的特征数
?Y = w^T \cdot x^T = [1\times j ]\cdot [j \times n] =1 \times n?
最终得到的Y值还需要进行转置 ?Y^T = n\times 1?
最终得到 行1列的Y,对应组样本
Tips: 其实上面也可以把变成 这样也可以进行行列运算,而且最终得到的Y就是,不需要转置
loss函数
?f(x) = \sum_{n=1}^m\bigl( y_i - \hat y_i \bigr) ^2?
这个函数是均方差函数,最终 这是一个广义二次函数,我们的目标是求这个函数的最小值,loss最小即模型准确率最高 找二次函数最小值的方式是求导数为0的最值点,先对函数进行变形 ?F(x) = \frac{1}{2m} \sum_{n=1}^m \bigl( y_i - w \cdot x_n \bigr)^2 ?
这里的是为了等之后的二次方求导下来变成2之后约掉,方便计算机计算。加上并不会对求导取的x值有任何影响,反而能减少CPU计算步骤