Skip to content

MingyanZHU/machine_learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e395918 · Nov 22, 2019
Nov 8, 2018
Nov 19, 2018
Sep 30, 2018
Nov 14, 2018
Nov 19, 2018
Nov 11, 2018
Nov 9, 2018
Oct 18, 2018
Nov 22, 2019
Sep 21, 2018
Sep 21, 2018
Jan 12, 2019
Sep 21, 2018

Repository files navigation

machine_learning

哈尔滨工业大学2018年秋季机器学习相关实验

Update:

在正心自习的时候,偶然看到前面的同学在看这个里面的实验报告复习,让我很担心我里面写的小错误会影响他们的考试。。。

请以后看这个仓库的同学,如果发现错误及时PR,另外我的水平真的非常非常有限,请参考老师PPT、李航博士的《统计机器学习》、周志华老师的《机器学习》和Bishop的PRML来复习!

另外,发现里面公式的输入也有问题,好多不够规范,比如argmin的写法,就请参考Command for argmin or argmax?,当时处在刚学习LaTeX没多久的情况,很多符号都是看着像什么就打的什么:new_moon_with_face::new_moon_with_face:。


这个仓库用于对2018年秋季哈工大机器学习相关实验的备份。对于这个学期的ML课程,在考试结束后的一天对课程内容进行一些总结。

总的来说这门课程是大学以来最硬核的一门课程。虽然这只是机器学习入门的非常基础的知识,但是这种利用数学工具以及对数学背后的物理含义的更深理解,是这门课给我留下的最深印象;在考前复习的时候,对很多上课时提到的问题重新梳理,有了更清晰的理解。希望以后可以继续学习相关的知识,也推荐给后来的同学这门课程。

但是真的考炸了啊,虽然实验没炸。

仓库组成

lab 1 多项式拟合正弦函数

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

lab 2 Logistics Regression 逻辑回归

  • 1.实现两种损失函数的参数估计(1、无惩罚项;2、加入对参数的惩罚),可以采用梯度下降、共轭梯度或者牛顿法等。

  • 2. 可以手工生成两个分别类数据(可以用高斯分布),验证你的算法。考察类条件分布不满足朴素贝叶斯假设,会得到什么样的结果。

  • 3. 逻辑回归有广泛的用处,例如广告预测。可以到UCI的网站上,找一实际数据加以测试,共使用3种不同数据(Mushroom, Blood Donation 和Banknote)。

lab 3 实现k-means聚类方法和混合高斯模型

实验目标

  • 实现一个k-means算法和混合高斯模型,并用EM算法估计模型中的参数。

测试

用高斯分布产生k个高斯分布的数据(不同均值和方差)(其中参数自己设定)

  • 用k-means聚类测试效果
  • 用混合高斯模型和你实现的EM算法估计参数,看看每次迭代后似然值变化情况,考察EM算法是否可以获得正确结果(与你的设定结果比较)。

应用

  • 可以在UCI上找一个简单数据,用你实现的GMM进行聚类。

lab 4 PCA模型实验

实验目标

实现一个PCA模型,能够对给定数据进行降维(即找到其中的主成分),可以利用已有的矩阵特征向量提取方法。

测试

  • 首先人工生成一些数据(如三维数据),让它们主要分布在低维空间中,如首先让某个维度的方差远小于其它维度,然后对这些数据旋转。生成这些数据后,用你的PCA方法进行主成分提取。
  • 利用手写体数字数据mnist,用你实现PCA方法对该数据降维,找出一些主成分,然后用这些主成分对每一副图像进行重建,比较一些它们与原图像有多大差别(可以用信噪比衡量)。

About

2018年秋季哈工大机器学习相关实验

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages