2.Regression
2.1线性回归模型
回归模型应用案例(Regression Cases)
- 股票市场预测(Stock Market Forecast)
预测某个公司明天的股票情况 - 自动驾驶车(Self-Driving Car)
预测方向盘转动角度 - 推荐系统(Recommendation)
预测某用户购买某商品的可能性
线性回归模型(Linear Regression Model)
如
-
是输出;
是真实值/标签 (label) -
是权重 (weight) ;
-
是偏置 (bias) :
-
是输入 (input),也可叫做特征 (feature)
数据集中一般包含多个object,每个object一般包含多个component。此时,上标是object的索引,下标是component的索引。
-
损失函数 (Loss Function)
如果不考虑模型的好坏,衡量一个函数的好坏,其实是衡量模型参数的好坏。
以线性模型为例,就是衡量参数和的好坏。如
,把所有样本误差的平方和作为损失函数 -
输入: 一个函数
-
输出: 多么地不好 (how bad it is)。损失函数值越大,则这个函数越差、与数据集中内容越不相符。
梯度下降 (Gradient Descent)
梯度下降可以优化损失函数的值,使其尽量小,即可找到最好(在数据集上拟合效果最好)的模型参数。
现在假设模型 中只有一个参数 ,则损失函数为 ,梯度下降算法如下(若模型有多个参数,按相同方法更新各参数)
- 初始化参数
随机选取一个 (并不一定是随机选取),令 。 - 计算梯度
如果小于 0 ,此时 增大则 会减小; 如果大于 0 ,此时 减小则 会减小。如果模型有多个参数,则计算损失函数在各个参数方向上的偏导数。
- 更新模型参数
的变化量取决于梯度和学习率 (Learning Rate) 的大小: 梯度绝对值或学习率越大,则 变化量越大。如果模型有多个参数,则用上一步计算出的偏导数对应更新各参数。
- 重复第 2 步和第 3 步
经过多次参数更新/迭代 (iteration),可以使损失函数的值达到局部最小 (即局部最优,Local Optimal),但不一定是全局最优(Global Optimal)。
Model Bias
线性模型过于简单,
All Piecewise Linear Curves=Constant+sum of a set of 简单线性函数
Sigmoid function
![image-20231123171204668](https://cdn.jsdelivr.net/gh/Skye-rs/CDN/image/loading.gif)
通过改变sigmoid function的参数来拟合各种蓝色function
- :改变倾斜程度
- :左右移动
- :改变高度
最终的拟合:
![image-20231123171559364](https://cdn.jsdelivr.net/gh/Skye-rs/CDN/image/loading.gif)
New Model:More Features
![image-20231123171734479](https://cdn.jsdelivr.net/gh/Skye-rs/CDN/image/loading.gif)