线性回归
线性回归假设输出与各个输入之间是线性关系:
y
=
∑
i
=
1
n
w
i
∗
x
i
+
b
=
X
T
∗
W
+
b
y = \sum\limits_{i=1}^nw_i*x_i+b=X^T*W+b
y=i=1∑nwi∗xi+b=XT∗W+b
其中
X
T
X^T
XT为输入向量,
W
W
W与
b
b
b为需要学习出的结果。
y
y
y为的实际结果。
数据集
损失函数
在模型训练中,我们需要衡量预测值
y
^
\hat{y}
y^与真实值
y
y
y之间的误差。通常我们会选取一个非负数作为误差,且数值越小表示误差越小。一个常用的选择是均方误差。
l
(
i
)
(
w
,
b
)
=
1
2
(
y
^
(
i
)
−
y
(
i
)
)
2
,
l^{(i)}(\mathbf{w}, b) = \frac{1}{2} \left(\hat{y}^{(i)} - y^{(i)}\right)^2,
l(i)(w,b)=21(y^(i)−y(i))2,
L
(
w
,
b
)
=
1
n
∑
i
=
1
n
l
(
i
)
(
w
,
b
)
=
1
n
∑
i
=
1
n
1
2
(
w
⊤
x
(
i
)
+
b
−
y
(
i
)
)
2
.
L(\mathbf{w}, b) =\frac{1}{n}\sum_{i=1}^n l^{(i)}(\mathbf{w}, b) =\frac{1}{n} \sum_{i=1}^n \frac{1}{2}\left(\mathbf{w}^\top \mathbf{x}^{(i)} + b - y^{(i)}\right)^2.
L(w,b)=n1i=1∑nl(i)(w,b)=n1i=1∑n21(w⊤x(i)+b−y(i))2.
优化函数
深度学习最全优化方法总结比较(SGD,Adagrad,Adadelta,Adam,Adamax,Nadam)
( w , b ) ← ( w , b ) − η ∣ B ∣ ∑ i ∈ B ∂ ( w , b ) l ( i ) ( w , b ) (\mathbf{w},b) \leftarrow (\mathbf{w},b) - \frac{\eta}{|\mathcal{B}|} \sum_{i \in \mathcal{B}} \partial_{(\mathbf{w},b)} l^{(i)}(\mathbf{w},b) (w,b)←(w,b)−∣B∣ηi∈B∑∂(w,b)l(i)(w,b)
学习率: η \eta η代表在每次优化中,能够学习的步长的大小
- (i)初始化模型参数,一般来说使用随机初始化;
- (ii)我们在数据上迭代多次,通过在负梯度方向移动参数来更新每个参数。
本节学习中疑惑总结
- tensor的广播机制
基本规则:
- 每个张数至少有一个维度。
- 在维度大小上迭代时(从尾随维度开始)时,维度大小必须相等,其中一个为 1,或者其中一个不存在。
x=torch.empty(5,7,3)
y=torch.empty(5,7,3)
# 当两个tensor维度相同,可认为是broadcasting.
x=torch.empty((0,))
y=torch.empty(2,2)
# x和y不可broadcasting,因为x的维度至少为1
x=torch.empty(5,3,4,1)
y=torch.empty( 3,1,1)
# x和y可broadcasting
# 倒数第一个维度: 同为1
# 倒数第二个维度: y为1,
# 倒数第三个维度: 相同
# 倒数第四个维度: y不存在
# 由以上可知x,y是可broadcasting的
## 但是
x=torch.empty(5,2,4,1)
y=torch.empty( 3,1,1)
# x,y是不可broadcasting的,因为倒数第三个x的2不等于y的3
- 常用作图函数使用
有plot,scatter等
花里胡哨的,shift +tab查看API - 数据的预处理集及查看
先写到这,回头填坑。