[关闭]
@chenyaofo 2018-07-24T01:09:58.000000Z 字数 798 阅读 1935

线性回归与梯度下降

暑期培训


实验目的

  1. 了解线性回归和梯度下降的原理
  2. 在小规模数据集上实践线性回归算法。
  3. 体会机器学习中的优化和调参的过程。

数据集

线性回归使用的是LIBSVM Data中的Housing数据,包含506个样本,每个样本有13个属性。

实验环境

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

实验时间及地点

2018年7月23日 晚上19:00-21:00 B7-138

实验步骤

  1. 读取实验数据,使用sklearn库的load_svmlight_file函数读取数据。
  2. 将数据集切分为训练集和验证集,本次实验不切分测试集。使用train_test_split函数切分数据集。训练集和验证集的切分比例是人为调整的超参数
  3. 线性模型参数初始化,可以考虑全零初始化,随机初始化或者正态分布初始化。
  4. 对Loss函数进行求导,为惩罚项系数,是人为调整的超参数
  5. 求得所有样本函数的梯度
  6. 取梯度的负方向,记为
  7. 更新模型参数,为学习率,是人为调整的超参数
  8. 在训练集上测试并得到Loss函数值,在验证集上测试并得到Loss函数值
  9. 重复步骤5-8若干次,画出随迭代次数的变化图。重复次数为人为调整的超参数

注意:本次实验代码已全部放出,各位只需对照代码对线性回归过程进行学习,并通过调整超参数来观察曲线的变化情况

提交方式

提交入口已经开放,请将所有代码和实验结果打包为zip压缩文件,大小不能超过1M,填写姓名并上传zip文件。使用同一姓名提交会更新之前的提交记录。


有任何的问题都可以直接向现场助教求助。

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