[关闭]
@liushiya 2018-10-06T14:08:37.000000Z 字数 988 阅读 527

线性回归与随机梯度下降

机器学习 实验


You can click here to get the English version.

实验目的

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

数据集

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

实验环境

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

实验形式

个人独立完成

实验步骤

本次实验代码及画图均在jupyter上完成。

线性回归和梯度下降

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

评分标准

评分项 占比 说明
出勤 40% 特殊情况可向学院请假
代码有效 20% 代码有效是指代码中是否存在语法错误
实验报告 30% 是否认真按照实验模板填写
代码规范 10% 主要考核代码变量命名是否规范

实验提交方式

提交流程

  1. 访问222.201.187.50:7001
  2. 点击对应的提交入口
  3. 填写自己的姓名、学号,上传pdf格式的报告和zip格式的代码压缩包

注意事项


有任何的意见或者建议都可以直接在qq群中向助教反映。

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