資源簡介
Viterbi算法實現,隱馬爾科夫模型,屬機器學習范疇,用于模式識別等,C#源碼

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;
namespace?Viterbi
{
????class?Program
????{
????????const?int?m?=?2;??//隱含狀態數
????????const?int?n?=?3;??//觀察狀態數
????????static?int[]?sArray?=?new?int[n];??//隱含狀態序列
????????static?int[]?oArray?=?{?0?1?2?};??//可觀察狀態序列
????????static?double[]?iArray?=?{?0.6?0.4?};//初始概率矩陣
????????static?double[]?aArray?=?{?{?0.7?0.3?}?{?0.4?0.6?}?};//轉移概率矩陣
????????static?double[]?bArray?=?{?{?0.5?0.4?0.1?}?{?0.1?0.3?0.6?}?};//發射概率矩陣
????????static?double[]?resultArray?=?new?double[n?m];//保存結果?
????????static?void?Main(string[]?args)
????????{
????????????Viterbi(sArray?oArray?iArray?aArray?bArray);
????????????foreach?(int?i?in?sArray)
????????????{
????????????????Console.Write(i);
????????????}
????????????Console.ReadKey();
????????}
????????static?void?Viterbi(int[]?s?int[]?o?double[]?i?double[]?a?double[]?b)
????????{
????????????for?(int?j?=?0;?j?????????????{
????????????????resultArray[0?j]?=?iArray[j]?*?bArray[j?oArray[0]];
????????????}
????????????for?(int?j?=?1;?j?????????????{
????????????????for?(int?p?=?0;?p?????????????????{
????????????????????for?(int?k?=?0;?k?????????????????????{
????????????????????????double?tmp?=?resultArray[j?-?1?p]?*?aArray[p?k]?*?bArray[k?oArray[j]];
????????????????????????if?(tmp?>?resultArray[j?k])
????????????????????????????resultArray[j?k]?=?tmp;
????????????????????}
????????????????}
????????????}
????????????for?(int?j?=?0;?j?????????????{
????????????????double?tmp?=?resultArray[j?0];
????????????????sArray[j]?=?0;
????????????????for?(int?p?=?0;?p?????????????????{
????????????????????if?(resultArray[j?p]?>?tmp)
????????????????????????sArray[j]?=?p;
????????????????}
????????????}
????????}
????}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????6144??2017-11-18?20:50??Viterbi\Viterbi\bin\Debug\Viterbi.exe
?????文件??????13824??2017-11-18?20:50??Viterbi\Viterbi\bin\Debug\Viterbi.pdb
?????文件??????11600??2017-11-18?20:50??Viterbi\Viterbi\bin\Debug\Viterbi.vshost.exe
?????文件????????490??2017-11-18?20:50??Viterbi\Viterbi\bin\Debug\Viterbi.vshost.exe.manifest
?????文件???????5826??2017-11-18?20:50??Viterbi\Viterbi\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件????????446??2017-11-18?20:50??Viterbi\Viterbi\obj\x86\Debug\Viterbi.csproj.FileListAbsolute.txt
?????文件???????6144??2017-11-18?20:50??Viterbi\Viterbi\obj\x86\Debug\Viterbi.exe
?????文件??????13824??2017-11-18?20:50??Viterbi\Viterbi\obj\x86\Debug\Viterbi.pdb
?????文件???????1997??2017-11-18?20:50??Viterbi\Viterbi\Program.cs
?????文件???????1370??2017-11-18?20:50??Viterbi\Viterbi\Properties\AssemblyInfo.cs
?????文件???????2435??2017-11-18?20:50??Viterbi\Viterbi\Viterbi.csproj
?????文件????????863??2017-11-18?20:50??Viterbi\Viterbi.sln
?????目錄??????????0??2017-11-18?20:50??Viterbi\Viterbi\obj\x86\Debug
?????目錄??????????0??2017-11-18?20:50??Viterbi\Viterbi\bin\Debug
?????目錄??????????0??2017-11-18?20:50??Viterbi\Viterbi\obj\x86
?????目錄??????????0??2017-11-18?20:50??Viterbi\Viterbi\bin
?????目錄??????????0??2017-11-18?20:50??Viterbi\Viterbi\obj
?????目錄??????????0??2017-11-18?20:50??Viterbi\Viterbi\Properties
?????目錄??????????0??2017-11-18?20:50??Viterbi\Viterbi
?????目錄??????????0??2017-11-18?20:50??Viterbi
-----------?---------??----------?-----??----
????????????????64963????????????????????20
評論
共有 條評論