此系列博客是看的是2022年的吴恩达的机器学习,以下是相关的笔记,如有不对的地方,请大家指出!
线性回归模型
数据除了可以用左图的图表外,也可以使用右图的数据表,右侧有多少对数据,图表上就有多少个x
用于训练模型的数据集称为训练集,要预测房子的价格,首先要使用训练集的数据进行训练,然后使用训练好的模型去预测要卖的房子价格,要卖的房子的大小并不在该训练集中
表示输入的标准符号是小写x,称之为输入变量(特征或输入特征),这里x是房子的大小
表示想要预测的输出变量,也被称为目标变量的标准的符号是小写的y,这里的y是房子的价格
每行代表不同的训练样本,小写的m表示训练样本的总数,m=47
(x,y)代表一个样本,(x(i),y(i))表示第i个训练的例子,i只是索引,代表表中的第i行
输入训练集,训练集中的输入是房子的大小,输出是房子的价格
算法学习训练集中的输入特征和输出目标
通过学习后,监督学习算法会产生一个函数f(function),f的工作是获取一个新的输入,输出估计或预测称为ŷ(y hat),ŷ是对y的估计和预测
f称为模型,x称为输入或输入特征,模型的输出是预测ŷ(是y的估计值),是对真实价格的预测,只有y是训练集中的实际真实值
怎样表达f,f的数学公式是什么?
以x为输入的函数,并取决于w和b的值,f将输出某个预测值,也可以简写为f(x)
算法从这些数据中学习,并生成最佳拟合线,比如右图中的蓝线
函数的作用是预测y的值
一元线性回归,一个变量意味着有一个输入变量(房子大小)
理解代价函数
评价模型的一个指标,有助于我们优化模型
该训练集包含输入特征x和目标输出y,使用这个模型f(x)=wx+b去拟合训练集
w和b是模型的参数,模型的参数是在训练中可以调整的变量,用于改进模型
b称为截距,是直线与坐标轴y相交的地方,可以看出w和b不同,对应的直线也不同
关键问题是找到参数w和b,使得预测值ŷ(i)接近于真实值y(i),而且对于很多或者所有训练样本中的x(i)、y(i)都适用
如何测量一条直线与训练数据的吻合程度?
先构造一个代价函数,计算代价函数需要比较两个值,预测值ŷ减去目标值y,差值称为误差
接下来计算误差的平方和(加平方的原因时因为直接相减会产生负值和正值,有可能会抵消)
因为这是对更多数字的求和,所以需要建立一个不会因训练集变大而变大的代价函数,我们会计算均方误差,而不是总平方误差,所以再给它乘1/m,额外再除2,即1/2m,是为了让后面的计算更加简洁,无论除不除2,代价函数依然好用
用J(w,b)表示代价函数,或者方差代价函数
预测值ŷ是模型的输出值,所以可以将代价函数改写,最终我们要找到能够使代价函数变小的w和b的值
模型:fw,b(x)=wx+b
参数:w,b
代价函数:如图
目标:找到一个合适的w和b,使得代价函数J的值最小
也可以令b=0,简化模型,如下图所示:
w=1时,代价函数的值是0
w=0.5时,J = 0.58
上右图中大致画出了代价函数J和w之间的关系,可以看出w=1时,J取最小值=0
选择的w使代价函数J尽可能的小,这就是在线性回归中如何使用代价函数找到时J最小化的w的值
这只是一个特殊情况,我们的目标是找到w和b使得代价函数J最小
线性回归的目标是找到参数w或w和b,使得代价函数J的值最小
可视化代价函数
本次不将b设为0
得到一个3D模型,类似于一个碗装结构
采用等高线图,椭圆上的每个点,表示了3维曲面上高度相同的点,换句话说,这些点的J的值相同
三个箭头所指的数据,即使它们有不同的w和b,但是代价函数J的值相同,左上角是三个不同的f,但是对房价的预测很差,在碗的底部,即那个最小的椭圆的中心点的w和b,代价函数J最小
可视化举例
此图中w=-0.15,b=800,左上角的图是该函数的线,右上角的图是代价函数和w的关系,可以看出,当取这个值时,J的值很大,拟合的不好
这个点拟合的比较好,该点靠近较小的椭圆的中心,此时w=0.13,b=71,在左上角的图中画出该线f(x),此时J的值最小。