在我的游戏中,我想要产生N个项目,不一定是在同一时间。一些项目依赖于之前产生的(马尔可夫链),所以连续产生两个火箭发射器的概率很低,但在火箭之后产生一个火箭发射器的可能性是合理的。做这件事最有效的方法是什么?该方法将被频繁调用,因此我尽量将计算量保持在最低限度。
我想出了一个想法,可以创建一个N x N数组,作为概率的查找表(先前产生的项与要产生的项)。然而,在这个过程中,我需要一些方法来生成一个随机数,并以概率作为偏差。我不确定做这件事的最好方法是什么。当一个库存进场时,事情也会变得稍微棘手一些,因为如果Y数量已经产生,火箭就不能生成。我可以创建一个3D数组并将库存编号存储在其中,但我不确定
我用隐马尔可夫模型来识别手势。我已经使用一组培训数据创建了转换矩阵。我似乎找不到任何来源来创建排放矩阵。
我能像这样创造它吗?
B_ij = (# of transitions from state j to observation i)/(# of states j)
请注意,我以类似的方式创建了转换矩阵:
A_qs = (# transitions from state q to state s)/(# transitions from state q)
我是机器学习的新手,我读过关于机器学习的文章,但我仍然有几个问题:
当将隐马尔可夫模型应用于机器学习时,如何获得初始、发射和过渡概率?
目前我有一套价值观(包括一只手的角度,我想通过一个HMM来分类),我的第一步应该是什么?
- I know that there are three problems in a HMM (ForwardBackward, Baum-Welch, and Viterbi), but what should I do with my data?
在我读过的文献中,我从未见过在HMM中使用分发函数,但是JaHMM为HMM使用的构造函数包括:
在Python中实现随机事件的最佳方法是什么?
例如:
变量a设置为1,概率为0.8,否则为2。
到目前为止,我已经这样做了如下:
import random
a = 0 #Initialize a to 0
prob = random.random() #ask Python for a random float between 0 and 1
if prob < 0.8:
a = 1
else:
a = 2
这类案件还有别的办法吗?
我在postgres中有大约80毫升行(70 in )的表。而且我不能像这样执行SELECT * FROM table查询,因为如果这样做,我的内存就有一些问题:D
主要方法-获取所有数据,然后找到类似的记录,如搜索。但是我不能让所有的数据被操作,因为RAM就像火箭一样溢出。
在增加最小RAM的情况下,从postgres执行所有数据的最佳方法是什么?
我试图将我的隐马尔可夫模型从4个内部状态和4个观察扩展到8个状态和8个观察(目前它们的意义基本相同,但我可能会减少内部状态的数量)。
但现在我发现了一个错误:
The number of 8 emission paramters for state 0 is invalid:
State order can not be determined.
我可以在中找到错误,但我不明白哪里应该出现问题。从理论的角度来看,我总是能够通过为每一种状态添加一个新的观测和一个新的发射概率来增加观测量。我从来没有听说过像隐马尔可夫模型中的顺序(除了马尔可夫链的顺序,但我们总是假设1在那里,它与观测无关)。
有人知