MDN混合密度神经网络

原文地址:http://blog.otoro.net/2015/11/24/mixture-density-networks-with-tensorflow/

这里写图片描述
假设我们用神经网络拟合这些数据,结果如下,效果不错。
这里写图片描述

But,只适用于1输入1输出(one-to-noe),多输入1输出(many to one)的情况,如果我们将数据集倒转(invert)一下
这里写图片描述
我们看到训练的神经网络只会拟合这些数据的均值,如上图。

当前模型只预测每个输入的一个输出值,所以这种方法将失败。 我们想要具有预测每个输入的不同输出值范围的能力的模型。 这需要混合密度网络(MDN)。
该方法更希望网络预测单个输出值,网络将预测输出的整个概率分布。 这个概念相当给力,可以用于机器学习研究的许多当前领域。 它还允许我们在网络正在进行的预测中计算某种置信因子。

我们选择的反正弦数据不仅仅是一个玩具问题,因为在机器人领域有应用,例如,我们想要确定哪个角度需要移动机器人手臂以实现目标位置。 MDN也可以用于模拟手写,其中下一个笔划是从多个可能性的概率分布绘制的,而不是坚持一个预测。

Bishop的MDNs的实现将预测称为混合高斯分布的一类概率分布,其中输出值被建模为许多高斯随机值的和,每个具有不同的均值和标准偏差。 因此对于每个输入x,我们将预测概率分布函数(probability distribution function pdf)
P(Y=y|X=x)是较小高斯概率分布的概率加权和。
这里写图片描述

这里写图片描述由MDN得到
这里有些限制,这里写图片描述的和为1,为了保证概率和为1,这里写图片描述必须是正数。
在我们的实现中,我们将使用一个隐藏的神经网络,后来具有24个节点,并且还生成24个混合,因此将存在单个输入的神经网络的72个实际输出。 我们的定义将分为2部分:
这里写图片描述
Z是一个由72个值的向量,稍后被分为三部分Z0~23,Z24~43,Z44~71
这里写图片描述
这里写图片描述要放入softmax运算符中,为确保和为1,并且每个mixture的概率是正的。

结果如下:
这里写图片描述

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值