关于 线性回归(linear regression) 的理论知识,在 吴恩达机器学习章节2 单变量线性回归 章节5 多变量线性回归 已经有了较为系统的学习,这里就做一些补充工作,不再重复。
关于 softmax回归 ,作为逻辑回归(logistic regression)的一般形式,参见章节7 Logistic 回归
以上两种模型可以视为单层的神经网络模型,其理论知识对于大多数的深度学习模型依然适用。

3.1.1 线性回归的基本要素

直接看教程中的内容吧,自己重新组织语言也不见得比原文来得清晰好懂。
快速浏览回归一下,关注一下 专有名词,之前对于这些概念还没有阅读过明确的定义。
教程中用3.1 线性回归 - 图1来表示模型参数,3.1 线性回归 - 图2表示权重,3.1 线性回归 - 图3表示偏置单元, 这一点和吴恩达老师用的3.1 线性回归 - 图4不一样。

3.1.2 线性回归的方法

  • 神经网络表示法

图片.png

  • 矢量计算表达式

在模型训练或预测时,我们常常会同时处理多个数据样本并用到矢量计算。在介绍线性回归的矢量计算表达式之前,先比较一下两种加法方式的效率。

  1. # 矢量计算表达式
  2. a = torch.ones(1000)
  3. b = torch.ones(1000)
  4. # 逐一标量加法
  5. start = time()
  6. c = torch.zeros(1000)
  7. for i in range(1000):
  8. c[i] = a[i] + b[i]
  9. print(time() - start) # 0.008222579956054688
  10. # 矢量加法
  11. start = time()
  12. d = a + b
  13. print(time() - start) # 2.1219253540039062e-05

毫无疑问,矢量计算的效率高得多且方便,在计算中我们也推荐这种方法。
用矢量的形式描述线性回归的模型,直接看教程内容就行,非常好懂。

3.1.2 线性回归的表示方法.py