[关闭]
@wujiaju 2020-12-22T08:44:58.000000Z 字数 1372 阅读 2157

实验1:线性回归与随机梯度下降

机器学习 实验


实验目的

  1. 进一步理解线性回归,闭式解和随机梯度下降的原理。
  2. 在小规模数据集上实践。
  3. 体会优化和调参的过程。

数据集

线性回归使用的是LIBSVM Data中的Housing数据,包含506个样本,每个样本有13个属性。请自行下载scaled版本,并将其切分为训练集,验证集。

实验环境

python3,至少包含下列python包:sklearnnumpyjupytermatplotlib
建议直接安装anaconda3,其已经内置了以上python包。

实验形式

个人独立完成

实验步骤

线性回归的闭式解

  1. 读取实验数据,使用sklearn库的load_svmlight_file函数读取数据。
  2. 将数据集切分为训练集和验证集,本次实验不切分测试集。使用train_test_split函数切分数据集。
  3. 选取一个Loss函数,计算训练集的Loss函数值,记为
  4. 获取闭式解的公式,过程详⻅课件ppt。
  5. 通过闭式解得到参数的值,更新参数
  6. 在训练集上测试并获得函数值,在验证集上获得函数值
  7. 输出的值。

线性回归和随机梯度下降

  1. 读取实验数据,使用sklearn库的load_svmlight_file函数读取数据。
  2. 将数据集切分为训练集和验证集,本次实验不切分测试集。使用train_test_split函数切分数据集。
  3. 线性模型参数初始化,可以考虑全零初始化,随机初始化或者正态分布初始化。
  4. 选择Loss函数及对其求导,过程详见课件ppt。
  5. 随机选取训练集中的一个样本,求得该样本对函数的梯度
  6. 取梯度的负方向,记为
  7. 更新模型参数,为学习率,是人为调整的超参数。
  8. 在训练集上测试并得到函数值,在验证集上测试并得到函数值
  9. 重复步骤5-8若干次,输出的值。

整理实验结果,形成图表,并完成实验报告(实验报告模板将包含在此处


实验代码及报告提交方式

提交内容

提交时间

评分标准

评分项 占比 说明
出勤 40% 特殊情况可向学院请假,请假条交给助教
代码有效 30% 代码是否正确
实验报告 30% 是否认真按照实验模板填写

注意事项

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注