吴恩达课程系列
1-3监督学习【监督学习的定义,监督学习的分类(回归与分类)】
1-4无监督学习【无监督学习的定义,无监督学习问题的分类(聚类/信号分离/降维)】
2-1模型描述【如何描述一个模型(用一些符号),单变量线性回归是什么?】
2-2~2-4代价函数【代价函数的数学定义、代价函数的直观理解】
2-7线性回归的梯度下降【线性回归问题运用梯度下降法(求偏导)】
3-线性代数回顾【矩阵,向量,矩阵乘法,矩阵求逆转置(我补充了利用Numpy和Pandas进行运算的方法】)
4-多变量线性回归【梯度下降应用于多变量,特征缩放,多项式回归,正规方程及其不可逆性】
Week 1 | 1 介绍
第 1 题
一个计算机程序从经验E中学习任务T,并用P来衡量表现。并且,T的表现P随着经验E的增加而提高。 假设我们给一个学习算法输入了很多历史天气的数据,让它学会预测天气。什么是P的合理选择?
A. 计算大量历史气象数据的过程 B. 以上都不 C. 正确预测未来日期天气的概率 D. 天气预报任务
第 2 题
假设你正在做天气预报,并使用算法预测明天气温(摄氏度/华氏度),你会把这当作一个分类问题还是一个回归问题?
A. 分类 B. 回归
第 3 题
假设你在做股市预测。你想预测某家公司是否会在未来7天内宣布破产(通过对之前面临破产风险的类似公司的数据进行训练)。你会把这当作一个分类问题还是一个回归问题?
A. 分类 B. 回归
第 4 题
下面的一些问题最好使用有监督的学习算法来解决,而其他问题则应该使用无监督的学习算法来解决。以下哪一项你会使用监督学习?(选择所有适用的选项)在每种情况下,假设有适当的数据集可供算法学习。
A. 根据一个人的基因(DNA)数据,预测他/她的未来10年患糖尿病的几率
B. 根据心脏病患者的大量医疗记录数据集,尝试了解是否有不同类患者群,我们可以为其量身定制不同的治疗方案
C. 让计算机检查一段音频,并对该音频中是否有人声(即人声歌唱)或是否只有乐器(而没有人声)进行分类
D. 给出1000名医疗患者对实验药物的反应(如治疗效果、副作用等)的数据,发现患者对药物的反应是否有不同的类别或“类型”,如果有,这些类别是什么
第 5 题
哪一个是机器学习的合理定义?
A. 机器学习从标记的数据中学习
B. 机器学习能使计算机能够在没有明确编程的情况下学习
C. 机器学习是计算机编程的科学
D. 机器学习是允许机器人智能行动的领域
答案
1.C
2.B
3.A
4.AC
解析:要判断哪些问题适合使用监督学习还是无监督学习,需要理解两者的区别:
- 监督学习:需要有标记的数据集(即输入和对应的输出标签),目标是基于训练数据预测或分类新数据。例如,分类问题(如“是/否”)或回归问题(如预测数值)。
- 无监督学习:没有标记的数据,目标是发现数据中的模式、结构或分组。例如,聚类或降维。
5.B
Week 1 | 2 单变量线性回归
第 6 题
基于一个学生在大学一年级的表现,预测他在大学二年级表现。 令x等于学生在大学第一年得到的“A”的个数(包括A-,A和A+成绩)学生在大学第一年得到的成绩。预测y的值:第二年获得的“A”级的数量 这里每一行是一个训练数据。在线性回归中,我们的假设\(h_\theta(x)=\theta_0+\theta_1x\),并且我们使用m来表示训练示例的数量。
1
2
3
4
5
| x | y |
| 3 | 2 |
| 1 | 2 |
| 0 | 1 |
| 4 | 3 |
对于上面给出的训练集(注意,此训练集也可以在本测验的其他问题中引用),m的值是多少?
第 7 题
对于这个问题,假设我们使用第一题中的训练集。并且,我们对代价函数的定义是\(J(\theta_0, \theta_1)=\frac{1}{2m}\sum_{i=1}^m(h_{\theta}(x^{(i)})-y^{(i)})^2\)。求\(J(0,1)\)
第 8 题
令问题1中,线性回归假设的\(\theta_0=-1, \theta_1=2\),求\(h_\theta(6)\)?
第 9 题
代价函数\(J(\theta_0, \theta_1)\)与\(\theta_0, \theta_1\)的关系如图2所示。“图1”中给出了相同代价函数的等高线图。根据图示,选择正确的选项(选出所有正确项)
A. 从B点开始,学习率合适的梯度下降算法会最终帮助我们到达或者接近A点,即代价函数\(J(\theta_0, \theta_1)\)在A点有最小值
B. 点P(图2的全局最小值)对应于图1的点C
C. 从B点开始,学习率合适的梯度下降算法会最终帮助我们到达或者接近C点,即代价函数\(J(\theta_0, \theta_1)\)在C点有最小值
D. 从B点开始,学习率合适的梯度下降算法会最终帮助我们到达或者接近A点,即代价函数\(J(\theta_0, \theta_1)\)在A点有最大值
E. 点P(图2的全局最小值)对应于图1的点A
第 10 题
假设对于某个线性回归问题(比如预测房价),我们有一些训练集,对于我们的训练集,我们能够找到一些\(\theta_0, \theta_1\),使得\(J(\theta_0, \theta_1)=0\)。
以下哪项陈述是正确的?(选出所有正确项)
A. 为了实现这一点,我们必须有\(\theta_0=0, \theta_1=0\),这样才能使\(J(\theta_0, \theta_1)=0\)
B. 对于满足\(J(\theta_0, \theta_1)=0\)的\(\theta_0, \theta_1\)的值,其对于每个训练例子\((x^{(i)}, y^{(i)})\),都有\(h_\theta(x^{(i)})= y^{(i)}\)
C. 这是不可能的:通过\(J(\theta_0, \theta_1)=0\)的定义,不可能存在\(\theta_0, \theta_1\)使得\(J(\theta_0, \theta_1)=0\)
D. 即使对于我们还没有看到的新例子,我们也可以完美地预测\(y\)的值(例如,我们可以完美地预测我们尚未见过的新房的价格)
答案:
-
m=4
-
0.5
- 11
- AE
- B 注意:D选项:在现实中(如房价预测),新数据可能受到未建模的变量影响(如位置、市场波动),即使训练集完美拟合,泛化到新数据通常不会完美。
Week 1 | 3 线性代数
第 11 题
第 12 题
第 13 题
第 14 题
第 15 题
答案
11.D
12.
13.
14.2
15.AB
Week 2 | 1 多元线性回归
第 16 题
假设m=4个学生上了一节课,有期中考试和期末考试。你已经收集了他们在两次考试中的分数数据集,如下所示:
期中得分 | (期中得分)^2 | 期末得分 |
---|---|---|
89 | 7921 | 96 |
72 | 5184 | 74 |
94 | 8836 | 87 |
69 | 4761 | 78 |
你想用多项式回归来预测一个学生的期中考试成绩。具体地说,假设你想拟合一个\(h_{\theta}(x)=\theta_0+\theta_1x_1+\theta_2x_2\)的模型,其中\(x_1\)是期中得分,\(x_2\)是\((期中得分)^2\)。此外,你计划同时使用特征缩放(除以特征的“最大值-最小值”或范围)和均值归一化。
标准化后的\(x^{(4)}_2\)特征值是多少?(提示:期中=89,期末=96是训练示例1)
第 17 题
用\(\alpha=0.3\)进行15次梯度下降迭代,每次迭代后计算\(J(\theta)\)。你会发现\(J(\theta)\)的值下降缓慢,并且在15次迭代后仍在下降。基于此,以下哪个结论似乎最可信?
A. \(\alpha=0.3\)是学习率的有效选择。
B. 与其使用\(\alpha\)当前值,不如尝试更小的\(\alpha\)值(比如\(\alpha=0.1\))
C. 与其使用\(\alpha\)当前值,不如尝试更大的\(\alpha\)值(比如\(\alpha=1.0\))
第 18 题
假设您有\(m=14\)个训练示例,有\(n=3\)个特性(不包括需要另外添加的恒为1的截距项),正规方程是\(\theta=(X^TX)^{−1}X^Ty\)。对于给定m和n的值,这个方程中\(\theta,X,Y\)的维数分别是多少?
A. X14×3
, y 14×1
, \(\theta\) 3×3
B. X 14×4
, y 14×1
, \(\theta\) 4×1
C. X 14×3
, y 14×1
, \(\theta\) 3×1
D. X 14×4
, y 14×4
, \(\theta\) 4×4
第 19 题
假设您有一个数据集,每个示例有m=1000000个示例和n=200000个特性。你想用多元线性回归来拟合参数\(\theta\)到我们的数据。你更应该用梯度下降还是正规方程?
A. 梯度下降,因为正规方程中\(\theta=(X^TX)^{−1}\)中计算非常慢
B. 正规方程,因为它提供了一种直接求解的有效方法
C. 梯度下降,因为它总是收敛到最优\(\theta\)
D. 正规方程,因为梯度下降可能无法找到最优\(\theta\)
第 20 题
以下哪些是使用特征缩放的原因?
A. 它可以防止梯度下降陷入局部最优
B. 它通过降低梯度下降的每次迭代的计算成本来加速梯度下降
C. 它通过减少迭代次数来获得一个好的解,从而加快了梯度下降的速度
D. 它防止矩阵\(X^TX\)(用于正规方程)不可逆(奇异/退化)
答案
16.-0.47
首先计算\((期中得分)^2\)均值:6675.5
然后计算范围=最大值-最小值=4075,则最终结果就是\(\frac{4761-6675.5}{4075}=-0.469815...\)
17.C
18.B
19.A
20.C
Week 2 | 2 OctaveMatlab 练习
第 21 题
假设我首先在Octave/Matlab中执行以下操作:
1
2
A=[1 2;3 4;5 6]
B=[1 2 3;4 5 6]
以下哪项是有效的命令?选出所有正确项(提示:A’表示A的转置)
A. C = A’ + B B. C = B * A C. C = A + B D. C = B’ * A
第 22 题
第 23 题
令A为10x10
矩阵,x为10元素向量。您的朋友想计算乘积Ax并编写以下代码:
1
2
3
4
5
6
v = zeros(10, 1);
for i = 1:10
for j = 1:10
v(i) = v(i) + A(i, j) * x(j);
end
end
你将如何不用循环,向量化这段代码?选出所有正确项
A. v = A * x B. v = Ax C. v = x’ * A D. v = sum (A * x)
第 24 题
假设有两个列向量v和w,每个向量都有7个元素(即,它们的维数为7x1)。请考虑以下代码:
1
2
3
4
z = 0;
for i = 1:7
z = z + v(i) * w(i)
end
下列哪个矢量化正确计算z?选出所有正确项
A. z = sum (v .* w) B. z = w’ * v C. z = v * w’ D. z = w * v’
第 25 题
在Octave/Matlab中,许多函数可以处理单个数字、向量和矩阵。例如,将sin函数应用于矩阵时,将返回一个新矩阵,其中包含每个元素的sin。但是你必须小心,因为某些函数有不同的行为。假设你有一个7x7矩阵X,你想计算每个元素的对数,每个元素的平方,每个元素加1,每个元素除以4。将结果存储在四个矩阵(A、B、C、D)中。一种方法是使用以下代码:
1
2
3
4
5
6
7
8
for i = 1:7
for j = 1:7
A(i, j) = log(X(i, j));
B(i, j) = X(i, j) ^ 2;
C(i, j) = X(i, j) + 1;
D(i, j) = X(i, j) / 4;
end
end
下列哪一项正确计算A、B、C或D?选出所有正确项 A. C = X + 1; B. D = X / 4; C. A = log (X); D. B = X ^ 2;
答案
21.AB
22.AB
23.A
24.AB 注:在 MATLAB 中,.*
表示元素级乘法(逐元素相乘)
25.ABC 注意:A*A 不等于A的每个元素都求平方