1. 线性回归模型
假设房价和各影响因素之间能够用线性关系来描述:
模型的求解即是通过数据拟合出每个wjw_jwj和bbb。其中,wjw_jwj和bbb分别表示该线性模型的权重和偏置。一维情况下,wjw_jwj 和 bbb 是直线的斜率和截距。
2. 使用Python和NumPy实现波士顿房价预测任务
2.1 数据处理
数据处理包含五个部分:数据导入、数据形状变换、数据集划分、数据归一化处理和封装load data
函数。数据预处理后,才能被模型调用。
2.2 模型设计
实现模型“前向计算”(从输入到输出)的过程。
2.3 训练配置
模型设计完成后,需要通过训练配置寻找模型的最优值,即通过损失函数来衡量模型的好坏。
2.4 训练过程
训练过程是深度学习模型的关键要素之一,其目标是让定义的损失函数LossLossLoss尽可能的小,也就是说找到一个参数解www和bbb,使得损失函数取得极小值。
梯度下降法
现实中存在大量的函数正向求解容易,但反向求解较难
这种情况特别类似于一位想从山峰走到坡谷的盲人,他看不见坡谷在哪(无法逆向求解出LossLossLoss导数为0时的参数值),但可以伸脚探索身边的坡度(当前点的导数值,也称为梯度)
找出一组[w5,w9]的值,使得损失函数最小,实现梯度下降法的方案如下:
- 步骤1:随机的选一组初始值,例如:[w5,w9]=[−100.0,−100.0][w_5, w_9] = [-100.0, -100.0][w5,w9]=[−100.0,−100.0]
- 步骤2:选取下一个点[w5′,w9′][w_5^{'} , w_9^{'}][w5′,w9′],使得L(w5′,w9′)<L(w5,w9)L(w_5^{'} , w_9^{'}) < L(w_5, w_9)L(w5′,w9′)<L(w5,w9)
- 步骤3:重复步骤2,直到损失函数几乎不再下降。
- 沿着梯度的反方向,是函数值下降最快的方向
- 构建网络,初始化参数w和b,定义预测和损失函数的计算方法。
- 随机选择初始点,建立梯度的计算方法和参数更新方式。
- 从总的数据集中抽取部分数据作为一个mini_batch,计算梯度并更新参数,不断迭代直到损失函数几乎不再下降。