首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场

Sklearn
EN

Stack Overflow用户
提问于 2018-03-06 16:55:30
回答 1查看 1.8K关注 0票数 0

几个月来,我一直在通过一个笔迹识别和抄写项目来学习人工智能。到目前为止,我已经成功地使用了Keras、Theano和Tensorflow,实现了CNN、CTC神经网络。

今天,我尝试使用高斯混合模型,这是向带有高斯发射的隐马尔可夫模型迈出的第一步。在此基础上,采用了结合pca约简的sklearn混合算法,选择了Akaike和Bayesian信息准则下的最优模型。对于Aic的协方差类型,它提供了一个很好的U-曲线,并与Bic相结合,因为在完全协方差的情况下,Bic只给出了一条线性曲线。在12.000份样品中,Aic的最佳型号为60n组分,Bic为120个组分.

我的输入图像有64个像素,仅代表英文字母大写字母,26个类别编号从0到25。

GaussianMixture的拟合方法忽略标签,预测方法将分量(0到59或0到119)的位置返回给n个关于概率的分量。

如何使用sklearn检索原始标签字符在列表中的位置?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-07 05:16:29

因此,您希望在生成分类器中使用GaussianMixture。您需要计算每个标签的P(Y=x),并根据这些概率估计标签。为此,您需要为每个标签保留一个GMM,并使用来自相应标签的数据进行培训。然后,分数法会给出给定数据的可能性,P(X,x,Y)(或对数似然,您可能想要检查)。如果你有先验的多重可能性,你得到后验,P(Y,x)。对于每个标签,您将得到一个后验,例如P(Y=0|X),P(Y=1|X),.具有最大后验概率的标签可以报告为估计的标签。

您可以从下面的代码示例中获得一些提示。(假设先前的概率相等,则在实现时需要考虑这一点)

代码语言:javascript
运行
复制
Y_predicted = clf.predict(X_test)

score = np.empty((Y_test.shape[0], 10))
predictor_list = []
for i in range(10):
  predictor = GMM()
  predictor.fit(X[Y==i])
  predictor_list.append(predictor)
  score[:, i] = predictor.score(X_test)

Y_predicted = np.argmax(score, axis=1)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49136142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档