关于 线性回归(linear regression) 的理论知识,在 吴恩达机器学习 的章节2 单变量线性回归 和 章节5 多变量线性回归 已经有了较为系统的学习,这里就做一些补充工作,不再重复。
关于 softmax回归 ,作为逻辑回归(logistic regression)的一般形式,参见章节7 Logistic 回归
以上两种模型可以视为单层的神经网络模型,其理论知识对于大多数的深度学习模型依然适用。
3.1.1 线性回归的基本要素
直接看教程中的内容吧,自己重新组织语言也不见得比原文来得清晰好懂。
快速浏览回归一下,关注一下 专有名词,之前对于这些概念还没有阅读过明确的定义。
教程中用来表示模型参数,表示权重,表示偏置单元, 这一点和吴恩达老师用的不一样。
3.1.2 线性回归的方法
- 神经网络表示法
- 矢量计算表达式
在模型训练或预测时,我们常常会同时处理多个数据样本并用到矢量计算。在介绍线性回归的矢量计算表达式之前,先比较一下两种加法方式的效率。
# 矢量计算表达式
a = torch.ones(1000)
b = torch.ones(1000)
# 逐一标量加法
start = time()
c = torch.zeros(1000)
for i in range(1000):
c[i] = a[i] + b[i]
print(time() - start) # 0.008222579956054688
# 矢量加法
start = time()
d = a + b
print(time() - start) # 2.1219253540039062e-05
毫无疑问,矢量计算的效率高得多且方便,在计算中我们也推荐这种方法。
用矢量的形式描述线性回归的模型,直接看教程内容就行,非常好懂。