⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 generate.java

📁 java实现的隐马尔科夫模型
💻 JAVA
字号:
package be.ac.ulg.montefiore.run.jahmm.test;import be.ac.ulg.montefiore.run.jahmm.*;import be.ac.ulg.montefiore.run.jahmm.draw.*;import be.ac.ulg.montefiore.run.jahmm.learn.*;import be.ac.ulg.montefiore.run.jahmm.toolbox.*;import java.util.*;public class Generate {    static public void main(String[] argv) 	throws java.io.IOException {		/* Build two simple sequences */	Vector oseq1 = new Vector();        for (int i = 0; i < 3; i++)            oseq1.add(new ObservationInteger(i));        Vector oseq2 = new Vector();        for (int i = 2; i < 5; i++)            oseq2.add(new ObservationInteger(i));        Vector obsSeqs = new Vector();        obsSeqs.add(oseq1);        obsSeqs.add(oseq2);			/* Build a model according to those sequences using the k-means	   algorithm */	KMeansLearner kml = new KMeansLearner(5, new OpdfIntegerFactory(10),					      obsSeqs);	Hmm hmmModel = kml.learn();		HmmDrawer hmmDrawer = new HmmIntegerDrawer();	hmmDrawer.write(hmmModel, "graph-generate-model.dot");			/* Generate sequences according to this model */	MarkovGenerator mg = new MarkovGenerator(hmmModel);	Vector sequences = new Vector();	for (int i = 0; i < 100; i++)	    sequences.add(mg.observationSequence(5));			/* Build a model according to those sequences using the Baum-Welch	   algorithm */	Hmm initHmm = new Hmm(5, new OpdfIntegerFactory(10));	for (int i = 1; i < 5; i++)	    initHmm.getOpdf(i).fit(new Observation[] {		new ObservationInteger(i)});	initHmm.getOpdf(0).fit(new Observation[] { new ObservationInteger(0),						   new ObservationInteger(1)});		BaumWelchLearner bwl =	    new BaumWelchLearner(5, new OpdfIntegerFactory(10), sequences);	Hmm hmmLearnt = bwl.learn(initHmm);	hmmDrawer.write(hmmLearnt, "graph-generate-learnt.dot");    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -