zoukankan      html  css  js  c++  java
  • 我自己用C++写了个GMM(Gaussian mixture model)模型

    我自己用C++写了个GMM(Gaussian mixture model)模型

    Written for an assignment

    之前粗粗了解了GMM的原理,但是没有细看,现在有个Assignment让用C++手写一个GMM模型,有点方,花了一些时间写出来了。

    先吐槽下,这两天算是把网上关于GMM的博客扒了个遍。网上关于GMM的教程虽然很多,但是存在严重的理论和编程脱节,属于那种一看就会了、一打开编辑器就麻爪的文章

    先自己评价下写的这个模型:

    • 缺点
      1. 矩阵类是自己实现的,效率比较差(用C++做科学编程工作实在比较少,不知道有现成的库,而且C++给我留下的就是造核弹先从磨剪子开始的这种原始的感觉)。中途发现计算行列式和逆矩阵的性能太差了,上网一搜发现了Eigen库的存在,但是因为结构已经搭好了,所以只在这两个方法内使用了该库
      2. 理论上更换main方法的MODELNUMBER常数就可以选择GMM中使用的高斯函数的数量,但是只根据样本分布情况测试并使用了使用两个的情况,其他情况可能有bug(现在已知weight初始化的时候只写了两个高斯函数时的情况,有Bug,但是属于那种好发现、好调整的bug)
      3. 面向对象的不纯粹:是的,我是个Java狗。但是最后有两个方法,没有封装为工具类
      4. 都写在一个文件了:这个嘛emmm,是我发现C++调用其他文件资源很麻烦之后就偷了个懒
    • 优点
      1. 面向对象,结构简单易懂
      2. 实现是基于这篇文章的,理论和编程搭配起来看很容易懂
      3. 比我之前康过的网上的其他实现好懂一点~

    未尽事宜,请看README

    项目地址:https://github.com/blackcoffeebar/MyGMM

  • 相关阅读:
    服务器 container
    oracle误操作表数据--回退(闪回)被提交后的数据
    在线笔记类
    idea maven项目使用过程中遇到的问题
    程序员提升网站
    检索网站
    公开课
    语言学习
    超强/超全面计算网站
    临时邮箱申请
  • 原文地址:https://www.cnblogs.com/jiading/p/12040970.html
Copyright © 2011-2022 走看看