【模式识别】编程作业汇总

前言

忙碌的一个学期终于结束了,回想这个学期,一周里有半周都在做模式识别的作业,真的是欲仙欲死。课程结束了回看这些作业,真的是惊叹自己能够每周按时完成作业(吐槽一波作业量太大了哈哈哈)。
不过也是因为每周课后的编程作业,让我对机器学习有了更为深刻的认识。从知晓原理到亲自实现,这是非常重要的质的飞跃。还是很感谢老师能够留这些贴合原理又便于上手的编程作业。
那么,废话不多说,贴上作业和我的代码实现。如果你也想入人工智能这个坑,那么就来做一做这14道编程题,一定会大有裨益。

代码仓库

这里是我的代码实现,不能保证100%正确,但是当你没有思路或者代码卡壳的时候可以作为借鉴。

$ git clone https://github.com/THUEishin/Homework-of-Pattern-Recognition-Course.git

14道机器学习编程题

每道题的问题描述可以在上面GitHub仓库相应题目的文件夹下的README.md中找到,这里我罗列一下题目的中英文互译。

1. Function Estimation by Parzen Window method

使用Parzen窗方法进行函数估计。

2. EM (Expectation Maximization)

数据带缺失值的最大期望估计。

3. GMM (Gaussian Mixture Model)

概率函数估计的高斯混合模型方法。

4. Error Rate Estimation

各种概率密度函数估计的误差率估计

5. Classical and Margin Perceptron

经典感知器模型和带间距的感知器模型

6. SVM (Support Vector Machine)

支持向量机

7. k k k-NN Classifier on MNIST

使用k近邻算法对MNIST数据集进行分类

8. Feature selection with L1-norm regularization

在损失函数中引入L1范数的正则化项来进行特征选择

9. GNN (Graph Neural Network)

图(Graph)神经网络

10. PCA on MNIST

使用主成分分析方法对MNIST数据进行分类

11. MDS and city distance

MDS(Multi-Dimensional Scaling)降维

12. ISOMAP and LLE

ISOMAP和LLE(Locally Linearly Embedding)降维

13. Decision Tree

使用决策树对搜狗新闻分类

14. K-means, hierarchical clustering and spectral clustering

使用C聚类、多级聚类和谱聚类方法对MNIST数据集进行无监督聚类

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用:【备注】主要针对正在做毕设的同学和需要项目实战的深度学习、matlab、数字图像处理、cv图像识别模式识别方向学习者。 也可作为课程设计、期末大作业。包含:项目源码和项目说明等,该项目可直接作为毕设使用。 也...。 引用:因为想用txt里的数据去画图,而不是直接 x=1:10:100 这种方法去画图,于是先研究了把数据的散点图画出来,为了方便输入算式(主要是因为用matlab对正态分布的最大似然估计求偏导数过程中,操作代码有bug竟然求a出个负数于是放弃,直接手算求导再用matlab当作计算求和工具罢了) %手动求导数,最终求出了u的算式,最大似然估计值为u,然后才有下面这步 sum = 0; for n = 1:1000 sum = data(n) sum ; end u = sum /1000; %手动求导数,最终求出了a的算式,最大似然估计值为a_zhengtai,然后才有下面这步 zum = 0; for k = 1:1000 zum = (data(k)-u)^2 zum; end a_zhengtai = (zum/1000)^1/2; %用lognpdf来画图,lognpdf是用来计算X中的元素在mu、sigma参数指定的对数正态分布下的概率密度函数值 for i =1:1000 x_zt = data(i); y_zt = lognpdf(x_zt,u,a_zhengtai); hold on scatter(x_zt,y_zt); % plotyy(x_zt,y_zt,'plot');这个是百度的,但是不知道怎么用,只画出一个点 plot(x_zt,y_zt,'-o'); end 。 引用:把数据读到矩阵里的代码: 第一种很简单: fid = fopen('C:\Users\Administrator\Desktop\A.txt','rt'); sizeA =[1000 1]; data = fscanf(fid,'%f',sizeA); 。 模式识别作业中,你可以使用Matlab来进行一些数据处理和图像绘制的操作。例如,你可以使用Matlab读取一个文本文件中的数据,并将这些数据绘制成散点图。你可以按照以下步骤进行操作: 1. 打开文本文件:使用fid = fopen('文件路径','rt')打开存储数据的文本文件。 2. 读取数据:使用fscanf函数按照指定的格式读取数据,将数据存储到一个矩阵中。例如,可以使用data = fscanf(fid,'%f',sizeA)将文件中的数据读取到名为data的1000行1列的矩阵中。 3. 绘制散点图:使用scatter函数将数据绘制成散点图。可以使用for循环遍历data矩阵的每个元素,并使用scatter(x_zt,y_zt)将每个元素绘制成一个散点。其中x_zt表示数据的横坐标,y_zt表示数据的纵坐标。你还可以使用plot函数绘制出更具体的线条。例如,使用plot(x_zt,y_zt,'-o')可以绘制出带有线条和圆点的图形。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值