栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

隐马尔可夫链-viterbi算法python实现

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

隐马尔可夫链-viterbi算法python实现

import numpy as np

climate = ["sunny", "rain"]
behavior = ["walk", "shop", "clean"]
start_p = [0.6, 0.4]  # rain的概率为0.6,sunny的概率为0.4
trans = [[0.7, 0.3], [0.4, 0.6]]
# trans_p_rain = [0.7, 0.3]  # rain sunny
# tarns_p_sunny = [0.4, 0.6]
emit = [[0.1, 0.4, 0.5], [0.6, 0.3, 0.1]]
# emit_p_rain = [0.1, 0.4, 0.5]  # walk shop clean
# emit_p_sunny = [0.6, 0.3, 0.1]
path = []

a1 = start_p[0] * emit[0][0]  # 第一天是雨天
b1 = start_p[1] * emit[1][0]  # 第一天是晴天
print(a1)
print(b1)
print("*************")
if a1 > b1:
    path.append(climate[1])
else:
    path.append(climate[0])

x1 = []
y1 = []
for j in range(2):
    a2 = a1 * trans[0][j] * emit[j][1]  # rain -> rain, rain -> sunny
    b2 = b1 * trans[1][j] * emit[j][1]  # sunny -> rain, sunny -> sunny
    if j == 0:
        x1.append(a2)
        x1.append(b2)
    else:
        y1.append(a2)
        y1.append(b2)

print(x1)
print(y1)
print("*****************")
a = max(x1)
b = max(y1)


if a > b:
    path.append(climate[1])
else:
    path.append(climate[0])

x2 = []
y2 = []
for i in range(2):
    for j in range(2):
        a3 = x1[i] * trans[0][j] * emit[j][2]
        b3 = y1[i] * trans[1][j] * emit[j][2]
        if j == 0:
            x2.append(a3)
            x2.append(b3)
        else:
            y2.append(a3)
            y2.append(b3)
print(x2)
print(y2)
x = max(x2)
y = max(y2)
if x > y:
    path.append(climate[1])
else:
    path.append(climate[0])

print(path)

运行结果

"D:py projectexervenvscriptspython.exe" "D:/py project/exer/Viterbi_1.py"
0.06
0.24
*************
[0.0168, 0.038400000000000004]
[0.005399999999999999, 0.043199999999999995]
*****************
[0.005879999999999999, 0.00108, 0.01344, 0.00864]
[0.000504, 0.00032399999999999996, 0.001152, 0.0025919999999999997]
['sunny', 'sunny', 'rain']

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/286393.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号