Task02开始啦:
参照开源文档,观看视频 P3-4:回归(2天)
开源文档:https://datawhalechina.github.io/leeml-notes
P3视频:https://www.bilibili.com/video/BV1Ht411g7Ef?p=3
P4视频:https://www.bilibili.com/video/BV1Ht411g7Ef?p=4
回归
1 定义
Regression 就是找到一个函数 functionfunction ,通过输入特征 xx,输出一个数值 ScalarScalar。
2 应用
股市预测(Stock market forecast)
自动驾驶(Self-driving Car)
商品推荐(Recommendation)
Pokemon精灵攻击力预测(Combat Power of a pokemon)
3. 模型步骤
- step1:模型假设,选择模型框架(线性模型)
- step2:模型评估,如何判断众多模型的好坏(损失函数)
- step3:模型优化,如何筛选最优的模型(梯度下降)
step1:模型假设 - 线性模型
(1)一元线性模型(单个特征)
假设以Pokemon精灵过去的攻击值
x
c
p
x_{cp}
xcp为例,线性模型架设为
y
=
b
+
w
⋅
x
c
p
y=b+w \cdot x_{cp}
y=b+w⋅xcp ,
w
w
w和
b
b
b可以猜测多个不同的值,得到很多个不同的假设模型。
(2)多元线性模型(多个特征)
实际应用中,输入特征会有许多个,因此可以假设线性模型为:
y
=
b
+
∑
w
i
⋅
x
i
y=b+ \sum w_{i} \cdot x_{i}
y=b+∑wi⋅xi
-
x
i
x_{i}
xi:各种特征(feature)
-
w
i
w_{i}
wi:各种特征的权重(weight)
-
b
b
b:偏移量
step2:模型评估 - 损失函数
收集和查看训练数据
判断众多模型的好坏
step3:最佳模型 - 梯度下降
- 筛选最优模型(参数 w , b w,b w,b)
- 梯度下降推演最优模型的过程
验证训练好的模型的好坏
(1)首先用10组数据训练,然后再使用10组数据测试模型,求得平均误差值。
(2)在上一步的模型中加入2次项,3次项,4次项,5次项,分别计算训练集的平均误差和测试集的平均误差。可以观察到在训练集上表现更为优秀的模型,在测试集上效果反而变差。这就是模型在训练集上过拟合的问题。
将错误率结果图形化展示,发现3次方以上的模型,已经出现了过拟合的现象。
步骤优化
Step1优化:2个input的四个线性模型是合并到一个线性模型中
Step2优化:如果希望模型更强大表现更好(更多参数,更多input)
Step3优化:加入正则化