从零开始实现基于匈牙利算法的人工神经网络(1)

从零开始搭建基于匈牙利算法的人工神经网络

背景与介绍

这是这段时间学校里一直在忙的事情,由于专业的原因,并未接触到太多关于Neural Network的知识,所以作为神经网络的初学者,走了很多弯路花了很多功夫,今天在这里写出来给大家做一个参考,避免以后如果有孩子碰到类似的问题苦苦寻求解决办法还得不到,只能自己去钻研,费时费力。
这个神经网络算是比较基础的神经网络,在阅读我朋友的demo之后及他的帮助下最终实现了我的相关要求。
在运筹学这门学科中,一个典型的问题就是任务/资源分配问题,也就是说,我们需要将某几项任务分配给某几个人去完成,每一个人完成一项任务其对应有最小代价(例如时间)或者最大收益等(这要依据实际情况而定),我们的目标也就随之产生——即最小或最大化目标函数(代价/或收益)。以下给出其数学表达:

在这里插入图片描述

人们从很早就开始研究相关问题的算法,由于重点会放在神经网络的搭建上,所以现在我们直接给出匈牙利算法且不再多做介绍,具体的流程及相关介绍请移步度娘或Wikipedia。匈牙利算法可以直接求出任务与待分配人数相等的情况下的精确解,而我们也将会把这个作为整个神经网络的基础数据——精确解来进行使用,具体的我们后面再说。

构思及相关学习

我们在开始编写相关程序之前,必须搞清楚我们要做什么,这也是我在编写程序之前花了很长时间研究的东西。这一点不单纯要结合我们的需求,也要结合神经网络的实际状况及实现方法,神经网络的机理我也会在这一部分做一个简要的介绍。

要求

经过之前的介绍,我们已经可以很清楚地了解到我们所面临地问题了,那就是构建一个神经网络以匈牙利算法求得的精确解作为基础训练解集,使其在经过训练后能够达到预测最优解集以及最小目标函数值的要求。现在我们的脑子里很显然有了一个大概的印象(神经网络要实现不断逼近精确值的过程),现在我们就可以开始具体的学习了。

神经网络

因为篇幅所限,笔者在这里对神经网络也不多做介绍,主要是介绍一下理解神经网络所必须的部分及知识,因为这些东西笔者在学习的过程中也研究了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值