文章目录
房价预测案例
我们有一些关于房屋尺寸( f e e t 2 feet^2 feet2)和房屋价格( p r i c e price price,单位是“千美元”)的数据,假设一位客户问你她的房子能卖多少钱?该如何回答。
我们可以基于现有数据拟合出一条直线(图下蓝色),这条直线就是模型,只要知道客户的房屋尺寸( f e e t 2 feet^2 feet2),根据模型就能预测一个售卖价格(如房屋尺寸=2104,对应预测价格大概350,与真实售卖价格400略有误差)。
一些术语与标记符号
- 训练集(Training set):为了得到模型需要一些数据对模型进行训练,这部分数据就是训练集;
- 测试集(Testing set):为了评估训练出来的模型好坏,需要一部分未参与训练的数据进行测试,这部分数据称为测试集。
以下是一些常用的数据标记符号
符号 | 解释 |
---|---|
x x x | 输入变量(特征) |
y y y | 输出变量(目标变量) |
m m m | 数据的条数 |
x ( 1 ) = 2104 , y ( 1 ) = 400 x^{(1)}=2104, y^{(1)}=400 x(1)=2104,y(1)=400 | 第1条数据的x为2104,第1条数据的y为400 |
( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i)) | 第 i i i条数据 |
y ^ \hat{y} y^ | 模型预测输出的值 |
w w w | 模型参数(权重系数) |
b b b | 模型参数(截距) |
f f f | 模型(函数) |
线性回归(Linear Regression)
模型学习过程:
算法从训练数据集中学习到一个函数 f f f(或叫假设), f f f的作用是只要给它一个 x x x,它就输出一个 y ^ \hat{y} y^(又叫估计值或预测值)。比如给 f f f输入一个房屋尺寸,它就能输出一个房屋价格(预测价格)。 f f f可以写成:
f w , b ( x ) = w x + b f_{w,b}(x)=wx+b fw,b(x)=wx+b
f f f为图中蓝色线,这个函数(模型)又叫线性回归,当 x x x只有一个特征时(这里只有房屋尺寸)称为单变量线性回归。
我们知道了 f f f的作用和生成它的过程,但是这个公式中的 w w w和 b b b到底是如何计算出来的呢?
代价函数 (Cost Function)
上面可知 f f f(蓝色线)是通过许多条训练数据 ( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i))计算得到,而整个计算可转化为一个优化问题:
假设我们有未知参数 w w w和 b b b,一个 x ( i ) x^{(i)} x(i)代入 f w , b f_{w,b} fw,b中就可以得到一个 y ^ ( i ) \hat{y}^{(i)} y^(i),所以我们自然会想到要使原来的 y ( i ) {y}^{(i)} y(i)和估计值 y ^ ( i ) \hat{y}^{(i)} y^(i)越接近越好(因为 y ^ ( i ) \hat{y}^{(i)} y^(i)由