《机器学习》-吴恩达
第一模块:有监督的机器学习:回归和分类
第一周:机器学习入门和单变量回归
2.1,什么是机器学习
定义:对于某类任务T和性能度量p,如果一个计算机程序在T上以P衡量的性能随着经验E而自我完善,那么
我们称这个计算机程序从经验E学习。
2.2,Suprvised Learning(监督学习)
(1)定义:监督学习是指在训练模型时使用带有标签的训练数据。这些标签提供了输入数据与目标输出之间的映射关系。
(2)监督学习又分为回归问题和分类问题
回归问题:回归问题涉及预测一个连续的数值输出。即,模型的目标是找到一个函数,能够将输入特征映射到一个连续的数值上。
例如:预测房价
分类问题:分类问题涉及将输入数据分配到预定义的类别中。即,模型的目标是将输入特征映射到离散的标签或类别。
例如:判断肿瘤是良性还是恶性
2.4,Unsupervised Learning(无监督学习)
(1)定义:无监督学习是指在训练模型时使用没有标签的训练数据。目标是发现数据中的潜在结构或模式,而不是直接进行预测或分类。
(2)聚类:用于将数据分成若干个组或簇,使得同一簇中的数据点具有较高的相似性,而不同簇中的数据点具有较大的差异。
(3)异常检测:用于发现数据中的异常模式或不符合常规的样本。
(4)降维:旨在将高维数据映射到低维空间,同时尽可能保留数据的原始结构和特征。
3.1,线性回归模型
(1)认识数据集
terminology:专业术语 set:设置 feet:尺寸 notation:符号 exponent:指数
训练集:用于训练模型的数据集
m 代表训练集中实例的数量
x 代表特征/输入变量
y 代表目标变量/输出变量
(x,y) 代表训练集中单个实例
(x(i),y(i)) 代表第 i 个实例:其中x(i) 代表第i个输入变量, y(i)代表第i个目标变量
(2)线性回归
training set:训练数据集(features:特征, targets:目标)
learning algorihm:学习算法
prediction:预测 estimated:估算 y是目标值, “y-hat”表示y的预测和估算值
represent:表示
Linear regression:线性回归 one variable:单变量(single feature x:单个特征x)
Univariate:单变量的
3.3,代价(损失)函数
parameters:范围 coefficients:系数 weights:权重
w,b做了什么
intercept:截距
损失函数
损失函数:平方误差损失函数
在机器学习中,不同的人会对不同的问题使用不同的损失函数
objective:客观的 minimize:最小化
三维
等高线图
4.1,梯度下降
linear regression:线性回归 outline:概述 have:有
从一些w,b开始,可以任意设置
迭代w和b逐渐减小损失函数 J(w,b)
直到我们达到或接近最低限度(可能不止一个)
gradient descent:梯度下降 local minima:局部最小值
不是平方误差损失函数也不是线性回归
原理:
你在山坡上的某个位置开始(这就相当于初始化参数值)。
你观察周围的地形,决定哪个方向的坡度最大则这个方向指向山坡下降最快的方向。这个方向就是“梯度”。
你决定沿着这个方向跨步下山坡。跨步的距离取决于你对坡度的估计和跨步的速度(相当于“学习率”)。夸的步子太大可能会错过最低点,夸的步子太小则可能需要很长时间才能找到最低点。
你继续跨步,直到到达山坡的最低点或者一个相对平坦的地方。在每一步,你都会重新观察坡度,调整你的方向,直到你找不到比当前点更低的地方为止。
gradient descent algorithm:梯度下降算法 repeat until convergence:重复直到收敛
assignment:赋值 truth assertion:真值断言 derivative:派生词 simultaneously:同时
correct:正确的 incorrect:错误的
这里的 “=” 代表的是赋值的含义,而不是数学中的真值断言,在python中使用“==”来表示真值断言
&:学习率
同时更新w和b
overshoot:超过 converge:收敛 diverge:发散
如果学习率&设置太小,梯度下降会变得很慢
如果学习率&设置太大,1,超过,无法达到最小值 2,未能收敛,发散
fixed:固定的
以固定的学习率达到局部最小值
越接近局部最小值,坡度越缓,导数变小,更新的步奏变小
达到局部最小值在没有减少学习率的前提下
数学推导
optional:可选的
梯度下降的一个问题,它可能导致局部最小值而不是全局最小值
但对于线性回归的平方误差成本函数,只有单一的全局最小值
’间歇性‘梯度下降(了解)
第二周:多输入变量回归
1.1,多维特征
multiple:多个 variables:多变量
x上的箭头可加可不加,主要为了强调这是一个向量而不是数字。
previously:之前的
parameter:参数 vector:向量 dot product:点积
多元线性回归,不是多元回归
1.2,向量化
参数和特征
线性代数:从1开始计数
代码:从0开始计数
不使用向量不使用for循环 不使用向量使用for循环 使用向量
inparallel:并行 efficient:有效率的 scale:规模 datasets:数据集
对于大规模数据集效率更高
梯度下降 parameters:参数 derivative:导数
previous:之前的 notation:公式
梯度下降的代替方案:正态方程
仅用于线性回归,在不迭代的情况下查找w,b
缺点:
不推广到其他学习算法
特征数量大时速度慢
you need know:
正态方程可能用于实现线性回归的机器学习库
梯度下降是查找w,b的推荐方法
2.1,特征缩放
特征和系数向量 reasonable:合理的
scatterplot:散点图 contourplot:等高线图
rescaled:缩放
原来的轮廓图又高又瘦,梯度下降可能会导致来回横条,需要很长一段时间才能找到局部最小值
这种情况下需要缩放特征,让梯度下降更容易找到局部最小值
feature scaling:特征缩放
mean normalization:均值归一化
average:平均值 u
Z-score归一化 standard deviation:标准差
高斯分布
acceptable ranges:可接受的范围
rescale:重新缩放
2.3,判断梯度下降是否收敛
correctly:正确的 decrease:减少 iteration:迭代 converged:收敛 varies:变化 curve:曲线
automatic:自动的 declare:断言 parameters:参数
学习曲线
梯度下降在多少次迭代后收敛在不同的应用程序不一样
自动收敛测试
2.4如何设置学习率
identify;识别 minus:减 adjust:调整
代码错误或学习率设置太大
对于一个足够下的学习率,J应该在每次迭代后减小
但是学习率设置太小,梯度下降需要更多的迭代次数才能收敛
经验:如果梯度下降不起作用,可以把学习率设置成非常小的数字,看看每次迭代后的成本是否会降低
目的是检查代码错误
从小的值每次乘以三倍逐渐增加,找到最大合理值,或比最大合理值略小的值
2.5特征工程
intuition:直觉 design:设计 transforming:变换 combining:组合
使用直觉或已有的知识去设计新的特征,通过已有特征的变换或组合
2.6多项式回归
非线性函数
特征缩放变得更加重要,需要将特征转换为可比较的值的范围
第三周:分类
1.1动机与目的
classification:分类 question:问题 email spam:垃圾邮件 transaction fraudulent:交易诈骗
tumor malignant:恶性肿瘤
y只能有两个值 binary classification:二元分类
class,category:分类
absence:缺席的,虚假的 presence:在场的,真实的
假设用线性回归
tumor size:肿瘤大小 threshold malignant:恶性的门槛 diameter:直径
decision boundary:决策边界
worse:misclassified 更糟糕的错误分类
logistic regression:逻辑回归
1.2逻辑回归
interpretation:解释 probability:可能性 given input:给定输入 parameters:范围,参数
1.3决策边界
threshold:门槛
decision boundary决策边界
2.1逻辑回归中的代价函数
squared:平方
convex:凸面的
将线性回归的损失函数用到逻辑回归中得到的是非凸函数,不适用
单个训练例示的损失
逻辑损失函数
f的取值范围是0到1
当f的预测值越接近y的真实标签时,损失函数最低
further:进一步的
当f的预测值越远离f的真实标签,损失函数越高
逻辑损失函数的图像是convex的,能达到局部最小值
找到我w,b得到损失函数的最低值j
2.2简化逻辑回归的代价函数
简化逻辑回归的代价函数
maximum like lihood:数学统计学中的最大似然估计
逻辑回归的损失函数是如何得到的:最大似然估计(不用担心它的细节)
single:单个的 global:全局
单个的全局最小值
3.1实现梯度下降
同步更新
看起来像线性回归但关于x的函数不一样
concept:概念
在线性回归中使用的关于梯度下降的方法在逻辑回归中也适用
监视梯度下降确保它收敛
使用矢量化使梯度下降在逻辑回归中运行的更快
特征缩放
4.1过拟合问题
under fit:欠拟合 just right:刚好正确 over fit:过拟合
high bias:高偏差 generalization:泛化 high variance:高方差
欠拟合:对训练集拟合的不好
对训练集拟合的很好
过拟合:对训练集过度拟合
classification:分类
4.2解决过拟合
方法一:收集更多的训练数据
缺点:训练数据收集难度和部分问题训练数据有限
方法二:减少特征(选择特征的子集)
insufficient:不足的
缺点:可能会损失有用的特征(信息)
方法三:正则化
parameters :参数 regularization:正则化 eliminate:消除
缩小参数Wj的大小
对于wj大的值:过拟合
正则化的作用是:让你保留所有特征的同时,防止特征产生过大的影响
正则化只对于wj,是否对b使用正则化影响不大,一般不用
addressing overfitting:解决过拟合问题
4.3,正则化
intuition:直觉
如果w3和w4很大,使用此修改过的成本函数,实际上会惩罚模型
因为如果你想最小化这个函数,让这个新的代价函数变小的唯一办法是w3和
w4都很小
simpler:更简单的
less likely to overfit:不太可能过拟合
如果你有很多特征,你可能不知道最重要的特征以及要惩罚的特征,
通常实现正则化的方法是惩罚所有的特征
“λ”:正则化参数
regularization term:正则化项
b可以包含也可以不包含
这个新的成本函数权衡了你拥有的两个目标:
1,最小化第一项:鼓励算法通过最小化预测值和实际值的平方差来很好的拟合训练数据
2,使参数wj保持较小,这将倾向于减少过度拟合
mean squared error:均方差
regularization term:正则化项
fit data:拟合数据
keep wj small:保持wj较小
λ的值决定了如何在这两个目标之间取得平衡
两个极端:
λ过小:过拟合
λ过大:拟合水平直线或欠拟合
4.4,用于线性回归的正则化方法
不需要正则化b
implementing:实现
usual update:通常更新
shrink:收缩
正则化的工作原理:正则化在每次迭代中所做的是将w乘以一个略小于
1的数字,这会稍微缩小wj的值
derivative:导数
如何得到导数项
4.5,用于逻辑回归的正则化方法