一.线性回归(Linear Regression Model):
输出无限多可能的数字。
【示例1】房价预测:
【图一】
- 假设您想根据房屋的大小预测房屋的价格,横轴:以平方英尺为单位的房屋大小,纵轴:是以千美元为单位的房屋价格。这里的小十字字中的每一个都是一所房子,其大小和价格是最近出售的。假设你是房地产经理,客户问你某个房子的价格可以出售多少钱,该数据集可能会帮助你估算一个大概价格,测量房子的大小,结果房子是1250平方英尺,这样,你可以在该数据集构建一个线性回归模型,这个模型将数据拟合一条直线,它可能看起来如蓝色的线一般;从而根据这条与数据拟合的直线,可以看到房子1250平方英尺处与最佳拟合线相交,沿着左边的垂直轴追踪得到价格也许在220,000美元。
- 称之为监督学习,因为首先通过提供具有正确答案的数据来训练模型。因为先获得房屋模型示例(大小以及模型)应为每栋房屋预测的价格。也就是说为数据集中的每个房子都给出了正确答案。
- 这种线性回归模型是一种特殊类型的监督学习模型,称为线性回归,因为预测数字作为输出,如美元价格;任何预测如220,000或1.5或负数33.2之类的数字的监督学习模型都在解决所谓的回问题
- 数据可视化图可以是左侧也可以是右侧。右侧的数据表中假如有47行,那么在左图上就有47个十字,每一个X对应表格的一行。
1.概念:
- 训练集:用于训练模型的数据集;
- 比如:上图的数据价格和尺寸,请注意,客户的房子不在此数据集中,因为它尚未售出,所以没有人知道价格是多少,要预测客户的房价,首先训练模型以从训练集中学习,然后该模型可以预测客户的房价。
- 输入变量(或特征):房屋尺寸表示输入的标准符号是小写的x;
- 例:对于训练集中的第一个房子,x是房子的大小,因此x=2104;
- 输出变量(目标变量):尝试预测的输出变量的标准符号是小写的y;
- 例:输出的y=400,也就是房子价格
数据集中每栋房子一行,在这个训练集中,有47行,每一行代表一个不同的训练示例。m=47表示训练示例总数,(x,y)表示单个训练示例.引用一个具体的训练例子,这会对应【图一】中的右图,
例:(x^(1),y^(1))=(2104,400)指第一个训练模型;
2.工作原理:
- 监督学习训练集包括输入特征(例如房屋大小)和输出目标(例如房屋价格),输出目标是我们将从中学习的模型的正确答案,要训练模型,需要训练集(包括输入特征和输出目标)提供给的学习算法,然后监督学习算法就会产生一些功能,我们将这个函数写出小写的f:代表函数;历史上,这个函数曾经被称为假设。
- f的工作是采用新的输入x和输出并进行估计和预测,将其称为y-hat,它的写法类似于顶部带有这个小帽子符号的变量;机器学习中是估计或预测的,f为模型,x为输入/输入特征,模型的输出是预测。所以模型的预测是y的估计值。
- 模型f在给定大小的情况下,输出作为估算器的价格,即对真实价格的预测。
【注意】只有字母y时,指目标,即训练集中的实际真实值,相反或y-hat是一个估计值,可能不是一个实际的真实值
2.1.公式:
- 设计算法时,如何表示函数f/计算f的数学公式是什么?
- 现在让我们坚持f是一条直线,函数可以写成,但现在,只知道w和b是数字,为w和b选择的值将根据输入特征x确定预测y-hat,所以f、w、b、x意味着f是一个以x作为输入的函数,并且根据w和b的值,f将输出预测y-hat的某个值;作为该式子中f(x)而没有明确的将w和b包含在下标中,让我们在图表中绘制训练集,其中输入特征x在水平轴上,输出目标y在垂直轴上;请记住,该算法从这些数据中学习并生成最适合的线,下图在的函数作用使用x的流程函数预测y的值。
- 为什么我们会选择线性函数,其中线性函数知识直线的术语,而不是非线性函数,如曲线或抛物线?
- 拟合更复杂的非线性函数,下图黑色的线,但是由于此线性函数相对简单易于使用,让我们使用一条线作为基础,最终将帮助获得更复杂的非线性模型。
- 线性回归:是具有一个变量,表示只有一个输入变量或特征x,也可称为单变量(Univariate)线性回归。如:房屋大小;
- 单变量只是说一个变量的一种奇特方式。
3.成本函数/代价函数:
3.1.重要性:
构建一个成本函数,该思想是机器学习中最普遍和最重要的思想之一,用于线性回归和训练世界上许多先进的人工智能模型。
3.2.概念:
为了实现线性回归,第一个关键步骤就是首先定义一个成本函数,成本函数将告诉我们模型的运行情况,以便我们可以尝试让它做的更好。
- 例:有一个包含输入特征x和输出目标y的训练集,需要拟合这个训练集的模型是这个线性函数。机器学习中,模型的参数是可以在训练期间调整以改进模型的变量。
- w和b:模型的参数(parameters)或系数或权重。根据w和b选择的值,会得到x的不同函数f,会在图形上生成不同的线:
- 解析:
- w=0,b=1.5时,f如最左图所示,这种情况下,x的函数f是0乘以x+1.5,因此f始终是一个常数值;它总是预测y的估计值=1.5;所以y-hat始终等于b,b也称为y的截距,因为这是它与垂直轴或此图上y轴相交的地方;
- w=0.5,b=0,则图如中间图所示,斜率为0.5,w的值给出了直线的斜率即0.5;
- w=0.5,b=1,如最右图显示,w斜率为0.5;
- 解析:
- 假如,有一个像【图二】所示的训练集,对于线性回归,要做的是选择参数w和b的值,以便从函数f获得的直线以某种方式很好的拟合数据。就像蓝色的线一样,当看到这条线在视觉上与数据相符时,你可以认为这意味着f定义的线大致穿过或接近训练示例的某个地方,而其它可能的线则不太接近这些点。
- 只是为了提醒您,像这里的训练示例由x上标i,y上标i定义,y是目标。对于给定的输入 x^i ,函数f也为 y^i 做出预测值,并且它对y的预测值是 ^i ,对于我们选择的x^i的模型f是w*x^i+b;换句话说,预测t^i是f、wb、x^i;其中对于我们使用的模型,f、x^i等于wx^i+b。现在的问题是如何找到w和b的值,以便对于许多或可能所有训练示例x^i、y^i的预测^i接近真实目标y^i.
- 要回答这个问题,我们先来看看如何衡量一条直线与训练数据的拟合程度,为此,构建成本函数:采用预测并通过取