哈工大 机器学习 lab1

浪子不回头ぞ 提交于 2019-12-06 17:28:10

哈尔滨工业大学计算机科学与技术学院
实验报告


课程名称: 机器学习
课程类型: 必修
实验题目: 多项式拟合正弦函数


一.实验目标

掌握最小二乘法求解(无惩罚项的损失函数)、掌握加惩罚项(2范数)的损失函数优化、梯度下降法、共轭梯度法、理解过拟合、克服过拟合的方法(如加惩罚项、增加样本)

二.实验要求和实验环境

实验要求
  • 生成数据,加入噪声;
  • 用高阶多项式函数拟合曲线;
  • 用解析解求解两种loss的最优解(无惩罚项和有惩罚项)
  • 优化方法求解最优解(梯度下降,共轭梯度);
  • 用你得到的实验数据,解释过拟合。
  • 用不同数据量,不同超参数,不同的多项式阶数,比较实验效果。
  • 语言不限,可以用matlab,python。求解解析解时可以利用现成的矩阵求逆。梯度下降,共轭梯度要求自己求梯度,迭代优化自己写。不许用现成的平台,例如pytorch,tensorflow的自动微分工具。

实验环境
  • Microsoft win10 1809
  • python 3.7.0
  • Sublime Text 3

1569076824442

三.设计思想

1.算法原理

(0)数据的产生

  • x为 之间的随机数.
  • 噪音由一个标准正态分布函数 *0.1 产生
  • y = sin(x) +
  • 利用循环, 根据x产生范德蒙德矩阵X
  • 将 X, y 都转为矩阵类型

(1) 解析解(不带惩罚项)

误差函数:

将上式写成矩阵形式:

通过将上式求导我们可以得到式

得到

(2) 解析解(带惩罚项)

为了防止参数多时具有较大的绝对值,即过拟合。在优化目标函数式中增加的惩罚项,因此我们得到了:

同样我们可以将上式写成矩阵形式, 我们得到:

对上式求导我们得到:

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!