CSCI3230 L02 · Part 1/5 Linear regression problem
课程:CSCI3230 (ESTR3108) Fundamentals of Artificial Intelligence · 2026T1 本讲:L02,第 1 部分 / 共 5 部分 · 原件 L02-Linear-Regression-2026T1.pdf(本地课件) p.1–16 定位:先用一间房子的预测走懂“数据、参数、输出”,再把同一件事慢慢写成矩阵;这一篇不要求先会矩阵求导。 前后:下一份 Optimizing linear regression
整讲导航:
- 1. Linear regression problem:p.1–16,先学怎样表达预测。
- 2. Optimizing linear regression:p.17–28,再学怎样选参数。
- 3. Shrinkage methods:p.29–39,训练拟合好为什么还不够。
- 4. Summary:p.40–42,串起完整路线。
- 5. ESTR3108:矩阵与投影:p.43–55,选读矩阵条件与几何证明。
p.1 标题页,p.2 Outline,p.3 分节页。原 Outline 有四部分,p.43 起为 ESTR3108 尾段。本篇先用加减乘法理解,矩阵只是把重复计算写短,不是一上来就需要背的新算法。
回归中的输入、输出与“线性”(p.4–5)【新】
p.4 The input of regression program is independent variable(s).
假设你想知道一间尚未出租的房子大约租多少钱。你已经知道它有多大,却不知道租金。这时“面积”放在计算的输入端,“租金”是希望得到的输出。**回归(regression)**是在例子中学习一种预测数量的方法。这里的数量可以是租金、身高、温度;它不是从“猫、狗、鸟”中选一个类别。
先认识三个角色,后面每个公式都在谈它们:
| 角色 | 租金例子 | 训练时是否已知 |
|---|---|---|
| 特征 feature | 一间房子的面积 | 已知,是预测时可以拿到的信息 |
| 标签 label / 响应 response | 这间房子已记录的租金 | 训练样本已知,新房子待预测 |
| 参数 parameter | 面积每增加一单位,预测租金增加多少 | 需要从训练数据选择 |
课件 p.4 的身高例子同样如此:年龄、性别、饮食是输入,身高是输出。这里 independent variable 是“作为输入的变量”的传统名称,不能由这个名称推出各输入在统计上互相独立。模型能用面积预测租金,也不意味着它已经证明面积是租金变化的唯一原因。
补充:先用一个很小的预测规则试手。 以下数字是为演示取的,不是课件房租数据。把面积用“十平方米”为一单位、租金用“千港元”为一单位,暂定规则是:先给一个基础值 5,每增加一单位面积再加 2。面积输入为 3,就是 30 平方米;预测为 ,即 11 千港元。
现在才给这个规则命名:
是输入面积的数值,只有一个数; 是预测租金,也只有一个数。帽子表示“预测”,与真实记录的 区别。 读作 theta 零,是基础值或截距; 是面积前的系数,也叫斜率。在刚才的例子里,这两个参数分别暂取 5 和 2。训练要决定它们是否合适,本节只是先理解给定参数后怎样算。截距是这个模型在输入为零时的预测;现实中零面积房屋可能没有意义,因此“基础值”只是计算上的理解,不代表真实固定费用。
如果面积从 3 增加到 4,预测从 11 增加到 13。每增加一个面积单位,输出总增加 2,这就是图像为直线的直觉。把截距从 5 改成 6,所有房子的预测都加 1;把斜率从 2 改成 3,则面积越大的房子增加得越多。这是两个参数不同的作用,不要把它们当成两个没有含义的待填数字。
p.5 给严格线性映射的可加性、齐次性定义;带非零截距的规则严格说是仿射函数。这是数学用词与统计习惯的区别:统计学仍称它“线性回归”。第一次学习时,先记住它是特征的加权相加,并允许一个截距。
再慢一步:线性到底是对谁说的? 把 当成一个已计算好的新特征,模型 对未知系数仍是加权求和。它画出来可以弯,但仍能用后面的线性最小二乘方法。反之,若未知系数彼此相乘,或未知系数躲进正弦函数中,就不能直接套同一个矩阵公式。判断时先圈出“固定数据”和“未知参数”,不要只看曲线外形。
小检查:规则 中,哪一部分使所有预测同时上下平移?把 换成 4,是在训练参数,还是在使用参数?
参考答案 · 输入和参数
截距 5 控制整体平移。把新输入代进去得到预测是在使用模型;只有根据训练样本调整系数才是在训练。此时 变了,不代表参数也变了。
回归与分类的旧题例子放在见附录 A1。先看输出的任务含义,再看算法叫什么。
**p.4 的术语完整对照:**输出还叫 dependent variable、outcome、response variable;输入还叫 independent variable、predictor、covariate、explanatory variable、feature。这些同义词在不同材料中会交替出现,指的仍是建模中的角色。
**p.5 的两条严格线性条件:**对定义域中的向量 与标量 ,要求 和 。第一条是先相加再映射等于分别映射再相加;第二条是缩放输入与缩放输出兼容。由第二条取 可得 ,所以非零截距不满足严格线性定义。课件列出的关系例子是滑动摩擦与正压力、重力与质量、距离与速度;补充条件:相应比例系数要固定,例如距离与速度的正比需固定时间,不能离开条件笼统称所有运动都线性。
从租金数据提出函数问题(p.6–8)
题面(L02-Linear-Regression-2026T1.pdf · 租金例子 · p.6)
p.6 For a concrete example, we would like to predict the rent of apartments near CUHK based on their areas in squared meters.
Suppose we already have a dataset like the table below and plot the data points in the right figure.
Can we predict the rent of any input apartment areas?
表(题面,p.6):原页显示的样本;省略号是原页的一部分,单位照原件保留,不自行改成月租或年租。
| Index | Areas (m2) | Rent (HKD) |
|---|---|---|
| 1 | 40 | 134072 |
| 2 | 92 | 182241 |
| 3 | 37 | 134731 |
| 4 | 124 | 204325 |
| 5 | 88 | 187375 |
| ... | ... | ... |
图(p.6):面积与租金散点。 元素:横轴是面积、纵轴是租金,每点是一间房子,散点整体向右上延伸。 看什么:相近面积仍可能有不同租金;趋势不是每点都恰好落在一条直线上。
这张图给我们的只是一个建模起点:面积较大时,租金总体更高,因此尝试直线也许有用。它没有证明真实世界一定严格线性。朝向、地段、装修以及记录误差都可能使同面积房子不同价;哪些因素实际存在需要资料支持,这里只是解释为什么数据不必整齐排成直线。
p.7 用 表示希望接近的真实映射,用 表示训练出来的近似规则。所谓函数 function,在本例中就是“给定面积后输出一个预测租金的规则”。 表示允许输入的集合, 表示允许输出的集合; 只是在说明输入从哪里来、输出到哪里去,不是一条用来求参数的新公式。
p.8 的直线假设接着把候选规则缩小为上一节的形式。于是原本很宽的“找一个函数”问题,变成“选择截距和斜率两个数”。这就是模型假设的用处:让可以尝试的规则有限制;代价是限制太强时可能表达不了真实趋势。
现在能否给出课件整套数据的拟合直线?不能。表中只显示前五行与省略号,完整数据没有在这一页给出。我们可以说明求解流程,但不能把五行的拟合结果称为课件完整数据的答案。Part 2 会用另一组完整的三点数据手算一次。
另外,“可以输入任意面积”是规则在数学上可计算,不等于“对任意面积都可靠”。若训练房子集中在几十到几百平方米,把模型用于几千平方米就属于外推:离开观察过的范围,需要额外证据判断原规律是否仍成立。
**p.7–8 的一般空间与图:**课件将输入集设为 ,输出集为 ;每条输入是 个实数组成的向量,而本讲每条输出是一个实数。目标是在训练记录上构造 接近真实 。p.8 在原散点上加红色上升直线,横轴 Areas、纵轴 Rent,蓝点在直线两侧分散;它展示候选函数的形状,不提供所有散点的数值或一个已知正确斜率。
一维推广到多维(p.9–11)【新】
p.9 先用一个面积特征,p.10 再提出车站距离、楼层等因素。这里“一维、二维”是在数一间房子用多少个特征描述,不是在数数据里有多少间房。
补充·贯穿算例继续。 以下数字仍为演示取值。现在用两个特征: 是面积(十平方米), 是离车站距离(百米)。暂定截距 5、面积系数 2、距离系数 -1。一间面积 30 平方米、距站 200 米的房子,对应 。
不要急着点积,先分开算三块贡献:
| 部分 | 代入 | 对预测的贡献(千港元) |
|---|---|---|
| 基础值 | 5 | |
| 面积项 | 6 | |
| 距离项 | -2 |
相加得到 ,这里的 9 对应 9000 港元。所有系数都只是虚构教学规则,不是实证租金结论。负系数的意思是:在这个假设模型中,保持面积不变,离车站再远一百米,预测减少一千港元。它不是说距离为负,也不是说整项模型输出必然为负,更不单凭拟合就证明因果。
写成一般式就是
是特征个数; 是当前在看第几个特征;求和符号表示从第一个特征到第 个,把每个“特征乘系数”的结果相加。这里还只有一间房、一个输出。
为了少写一长串,p.11 把数按列排成向量:
两个向量都是 :2 行、1 列。转置记号 把列换成行,所以 是 ,形状变成 。行乘列就是对应相乘再相加:
这不是新算法,只是刚才表格计算的缩写。截距仍单独放着,所以向量里暂时不包括它。若你把截距已经放进向量又在末尾再加一次,就会重复计算基础值。
补充 · 单位改变时,模型究竟改变什么(通识讲解;演示数据不属于原题)。
演示模型用米作输入:。同一长度改用厘米表示为 ,于是 ,原模型等价写成 。输入数值放大百倍,斜率必须缩小百倍,才能让同一个对象的预测不变。截距仍是输入为零时的预测,因此没有随长度单位一起乘百倍。
这说明“某个系数大”不能脱离特征单位解释重要性;比较 3 和 0.03 没有发现两个不同规律,只换了表示方式。也说明新样本的特征顺序和单位必须与训练时一致:矩阵维度对了,不代表语义一定对。若训练第一列是面积、第二列是房龄,使用时交换两列通常不会报维度错误,却会产生错误预测。
多个样本为何要按行放(p.12–14)【新】
p.12 rows represent samples, columns represent features.
现在我们想一次算三间房。仍用相同参数,不给每间房重新发一套参数;否则就不能学到跨房子共用的规律。
补充·演示数据:
| 房子 | 面积特征 | 距离特征 | 暂定模型预测 |
|---|---|---|---|
| A | 3 | 2 | |
| B | 4 | 1 | |
| C | 2 | 3 |
把表的两列特征取出来,就是数据矩阵:
它有 行样本、 列特征。大写 存整张数据表,小写 存单个样本;这是本笔记的区分。讲义在不同页对单样本也使用大写符号,阅读时应以尺寸和上下文判断,不能只看字母大小写。
计算 ,就是依次拿每一行与同一个系数列做刚才的点积:
每间房都要加基础值,不能只给第一间加 5。令 表示三个分量均为 1 的列向量,就得到
是三条预测组成的列,不是一个租金。课件 p.13 简写成矩阵乘积加标量截距;这里把全 1 向量展开,只是让“每行都加”的含义明确。
维度可以当作计算前的检查工具:
中间的两个 2 匹配,说明有两种特征,每种都有系数;留下外面的 3 和 1,说明得到三个样本各一个预测。若标签也是三个真实租金,它应有相同的 形状,才能逐行比较。
p.14 换成“按列看”。面积列乘 2 得 ,距离列乘 -1 得 ;两列贡献相加得 ,再加基础值得 。按行是在问“这间房怎样算”,按列是在问“这个特征给所有房子贡献多少”;两者是同一个结果。
小检查:如果新增第四间房,但特征仍是面积、距离,需要新增一个系数吗?矩阵哪一边改变?
参考答案 · 样本数和特征数
不需要新增系数。多一条样本只增加一行,矩阵由 变为 ,预测由三项变为四项;系数仍是 。若新增的是“楼层”这个特征,才增加一列和相应系数。
截距如何进入矩阵,平面在哪里(p.15–16)
p.15 Then insert a column filled with ones to X.
刚才矩阵相乘以后还要另加截距。为了让求解器用一次乘法完成,p.15 在每一行前加常数 1,并把截距放在参数向量最前面。此处暂称新矩阵 ,避免与尚未加列的 混淆:
现在第一行的点积为 。前面的 1 让截距“原样进入”每条预测;它不是房子的一个新测量值,也不是新增的一间房。
一般有 条样本、 个测量特征时, 的形状是 , 为 。这里多出来的 1 是常数特征。后文常把增广后的矩阵继续叫 ,把含截距参数继续叫 ;看式子前务必先确认截距是否已经吸收进去。
如果误添一行 1,就变成多一个样本,而不是让所有样本多一个特征。这也是为什么“行是样本、列是特征”值得一直保留在脑中。
图(p.16):两个输入特征的线性回归平面。 元素:三个视角都包含两个特征坐标轴和一个输出轴;黑色样本点围绕蓝色拟合平面分布。 看什么:两种输入加一个输出,需要三维画布;平面给每对输入一个预测高度。
一维输入时,可以把“面积、租金”画成二维中的点和直线。二维输入时,“面积、距离、租金”变成三维中的点和平面。更多输入超出容易画图的范围,但加权相加的计算没有变。
还要区别另一种空间:这里每个点是一间房;而 Part 5 把“所有房子的预测值”放在一个向量里,讨论的是样本数维的空间。三间房的预测向量有三项,十间房就有十项。样本空间中的投影,不是这张房租散点图里把每个点垂直投到直线。 初读先把本篇的逐行计算弄熟,再选读这个几何解释。
补充边界: 本篇三套房的自取特征例仅用于演示矩阵乘法;两项特征在各行之和都为 5,因此加入常数列后列相关。不要拿这张小表直接假设正规方程中的矩阵可逆;可逆性在 Part 2 与 ESTR Part 5 另行讨论。
**p.16 的一般维度结论:**每个观测点是 ,共有 个坐标;预测关系 用 个自由输入决定最后一个坐标,所以拟合对象是其中的 维超平面。“超平面”是直线和平面向高维的统一名称,不是另加一种模型。
补充:前面的三条租金样本为什么分不清三个参数
沿用正文的教学数据,增广矩阵三行为 、、。每一行后两个数都相加为5,因此把参数改动取为 ,每行点积均为 。这说明 :数据看不见这个改动。
原参数 产生预测 。令 ,三次预测分别为 、、,完全相同。实际上任何实数 给出的
都产生同样的训练预测,因为新增部分是 。所以三条样本对应三个参数,并不能仅凭数量断定参数唯一。
在训练集以外,差异会出现。自取新输入 :原参数预测 ,新参数预测9。这条输入的特征和不再为5,原先隐藏的差异显露出来。由此区分三个结论:训练预测相同、参数相同、新样本预测相同;前一项不能自动推出后两项。Part 5会用“零空间”统一描述这种现象,这里先用逐行算术看懂它。
本讲核心考点
- 先分清输入特征、训练标签与待学参数;给新输入算输出不是重新训练。(p.4、9–11,概念理解)
- 一间房多一个特征,增加一个系数;多一间房,只增加一行计算。(p.12–14)
- 行乘列是对应相乘再求和;按行、按列只是同一预测的两种视角。(p.11–14)
- 常数列吸收截距,改变记法,不改变预测;不能重复加截距。(p.15)
- 能代入训练范围外的数,不保证外推可靠。(p.6–8 的建模问题,补充边界)
附录
A1 作业/往年题演练(非讲义内容):回归与分类
旧版笔记在这里引用 2023 ESTR 卷关于回归与分类区别的题目。本篇保留这个学习定位,但本轮以当前 L02 p.4 的回归定义和 L03 的分类主题解释,不把旧卷当作本学期必考承诺。
给一间房估计租金,是预测数量;判断它属于“高租金”还是“低租金”类别,是分类。两者可以使用相同的输入,但希望输出的含义不同。分类器常先输出某类的概率,这个概率虽然也是一个数,最终任务仍是区别类别;因此不能把“程序输出了数字”当作区分任务的唯一方法。
小检查:预测明天温度,与判断明天是否超过 30 摄氏度,分别是什么任务?
参考答案 · 任务的输出含义
预测具体温度是回归;判是否超过阈值是二分类。后者即使输出“超过阈值的概率”,也是为分类问题服务。
来源与证据
- 当前来源:L02-Linear-Regression-2026T1.pdf(本地课件),实际 PDF p.1–16;p.6 数据表、散点与 p.16 三维图已按渲染页核对。行政版本以本文件名所标 2026T1 为准。
- 房子 A/B/C 和简化预测系数是文中明确标注的教学自取例,不是课件租金表的拟合结果。原页只展示部分训练表,未伪造完整拟合参数。
- 本篇是当前知识讲解,不声称预测本学期考试要求;旧版考试引用不作为本轮新增证据。