![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
统计机器学习
CrystalheartLi
路漫漫其修非常远兮,吾将上下左右前后而求索。
展开
-
使用numpy实现期望极大(EM)算法
实现用例为李航统计学习方法第155页例9.1 import numpy as np """ 通过期望极大算法计算三硬币模型 """ obs_arr = np.array([1, 1, 0, 1, 0, 0, 1, 0, 1, 1]) num = len(obs_arr) para_init = {"π":0.4, "p":0.6, "q":0.7} '''E步,计算在模型参数π、p、q下观测数据y来自掷硬币B的概率''' def e_func(): u_j_i_b_arr = np.array原创 2021-01-05 20:10:37 · 422 阅读 · 0 评论 -
用numpy实现隐马尔科夫模型的概率计算问题(前向算法)
实现用例为李航统计学习方法第177页例10.2 import numpy as np ''' 用numpy实现隐马尔科夫模型的概率计算,即已知三元模型λ=(A,B,π)和观测序列O, 计算在模型λ下观测序列O出现的概率P(O|λ) ''' '''一,定义模型的三要素''' '''状态的集合''' def status_gener(status_len:int): status_list = [] for status_index in range(status_len):原创 2021-01-05 12:34:33 · 235 阅读 · 1 评论 -
快速理解层次聚类算法
层次聚类可以分为聚合聚类和分裂聚类两种,下面分别介绍: 聚合聚类: a,初始化将每个样本归为一类,计算每两个类之间的距离,也就是样本与样本之间的相似度; b,寻找各个类之间最相近的两个类,把它们归为一类,这样类的总数就少了一个; c,重新计算新生成的这个类与各个旧类之间的相似度; d,重复b,c,当最近的两个类之间的距离大于设定的阈值或者已有的分类数小于设定的类别数,则迭代结束。 分裂聚类: a,初始化将所有的样本只归为一类,计算每个样本到该类的距离; b,; c,再计算初始类中没有被分类的样本到各个类的距原创 2020-12-06 12:18:21 · 223 阅读 · 0 评论 -
快速理解K-means聚类算法
1 2 3 4 5 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行原创 2020-10-20 11:00:44 · 385 阅读 · 0 评论