所谓集成学习,就是训练多个机器学习模型,然后组合在一起,让它们协调工作。
俗话说,人多力量大,机器学习算法也是一样。
江寒经过一番认真的设计,确定了一个新的网络拓扑结构。
他从排名4~15的模型里,精心选择了7种,再加上“唯一优胜者”、“黑马中等生”、“书呆子”,一共10个神经网络。
将它们放在一起,简单地并联起来,组成了一个整体,然后设计了一个投票程序。
一张手写数字的图片输入网络后,会同时传递给10个神经网络模型,让它们各自进行计算,输出自己的预测结果。
如果大家的判断完全一致,那自然没什么问题。
但如果大家意见相左,就会启动投票程序,根据票数来决定最终的输出。
票数并不是平均分配的,在验证集上表现更好的模型,手里的选票也应该更多。
所以,理所当然的,“唯一优胜者”拥有最多的票数。
如果他全票投给自己,那么一般来说,他的意见就基本上接近正解,理应得到采纳。
这种情况下,其他模型就算有不同意见,而且全都统一口径,也不应该推翻优胜者的判断。
这就好比领导班子开会,不能光讲民主,还得适当集中……
但很多时候,优胜者对自己的判断,也并不是十分有把握,这个时候,其他“学生”给出的答案,就很有参考意义了。
如果其他人中,有人认为答案是另一个,并得到了多数人的支持,那么就会对优胜者的答案进行“弹劾”。
如果优胜者投给自己的票数,并不足以驳回大家的“弹劾”,那么就会少数服从多数,将最后输出修改为受到更多人认同的。
举例来说,刚才的那个数字5。
优胜者判断有60%的概率是6,37%的概率是5,2%的可能性是其他数字,这个时候,它就会输出错误的答案:6。
但如果在其他“学生”中,有人经过计算,认为答案应该是5,与优胜者判断不一致,就会启动投票程序。
由于优胜者判断只有60%的概率是数字6,折算后,等于它只肯为自己的答案投6票。
这个时候,只要其他9个模型的票数,加一起超过6票,即可弹劾成功。
如果优胜者对自己的判断,有90%以上的把握,那么其他9个人加起来,也不足以推翻他的结论。
意思就是这么个意思,具体的折算比例,当然不会这么简单。
还需要十分细致、耐心地进行调整,以使整个模型的输出,更加接近最优解。
当然,这种投票式的做法,无疑也有极小极小的可能性,产生不那么美好的结果。
比如,优胜者本来的判断明明是正确的,只是对自己信心不够充足,就有可能被其他模型给“纠正”成错误的。
但这种情况发生的几率,远远小于优胜者误判的几率。
所以,集成学习的总体性能,仍然领先于每一个单独的神经网络。
这种集成学习的思想,无疑是比较先进的,但实现起来难度也相当大。
尤其是那个投票程序,相当耗费脑细胞。
江寒全力开动脑力,也足足用了四个多小时,才将集成学习网络打造成功。
时间主要浪费在编写投票程序,以及调整折算比例上了。
至于10个子模块,已经全部训练完毕,得到了权重数据,就无需再耗费时间,重新进行训练了。
也幸亏如此,否则就没办法及时把最终程序,提交到KAGGLE官网上去了。
随后,江寒在最终版本的集成网络上,重新跑了一遍验证集。
结果十分喜人,识别准确率达到了惊人的99.62%。
这个成绩已经十分令人满意。
接下来,江寒就按照官网发布的说明,对自己的代码进行了一点处理。
主要是去掉一些调试语句,再将数据文件的接口,改成主办方要求的方式。
这样,官方在测试时,只需将测试用的数据文件,放入指定的文件夹里,而无需修改任何代码。
也许是对业余爱好者们的表现,并没有特别大的期待?
反正在这次比赛中,官方并没有要求公开源代码。
所以江寒也就没准备提供源代码。
他将自己的程序,用pyinstall编译成了可执行文件。
并使用了一点小技巧,将训练好的10个子网络的权重数据,也一起打包进了exe文件里。
最后,再用“初级数字混淆技术”加一道坚固的锁,这样就不怕被人逆向拆解了。
当然,江寒的这个集成学习方案,如果在比赛中一鸣惊人,等到比赛结束之后,说不定就会有大佬来联系他,询问设计思路之类的。
到时候,是否公开代码,用什么方式公开,公开到什么程度,江寒完全可以看情况决定。
也就是说,主动权完全掌握在自己手里。
晚上10多钟,抢在时间截止之前,江寒将加密后的EXE文件,连同相关的说明文档,一起上传到了KAGGLE官方的比赛服务器上。
好在今天晚上网络还算给力,没出什么幺蛾子,否则……
万一来个“非战之罪”,可就让人欲哭无泪了。
这件事到这里就暂告一段落,接下来,只需要安静地等着成绩发布。
第二天,江寒将夏雨菲送到学校后,自己也跟着下了车。
和老师和同学们阔别了差不多一个月,江寒终于决定回去上课了。
虽然可以拜托夏如虹再开一张诊断书,多续几天假,但他仔细考虑了一下之后,并没有那么做。
所有想要做的事情,都解决得差不多了,想写的论文也基本上写完了,没必要总是宅在家里。
江寒走进班级时,不少同学看到他,都感到很新奇,跑过来问东问西。
江寒看人下菜碟,时而正经,时而皮几句,总之应对自如。
李东、雷蕾等更加熟悉的人,反而没有第一时间围过来。
很简单,这一段时间里,大家时不时通个电话,该交流的早就交流过了。
江寒回到座位后,拿出了随身携带的《网络安全机密与解决方案》,埋头看了起来。
这本书被誉为“黑客圣经”,内容也的确很不错,但如果说只要学透了,就能成为十分强大的黑客,那无疑是有点想多了。
理论上来说,并没有任何一本书,能让人看完就成为优秀的黑客。
那些手段高明的黑客,往往都要掌握许多计算机软硬件知识,以及操作系统细节,谁了解得更多,理解得更深刻,谁的功力就更深一些。
黑客技术领域,能力的高低,往往体现在基本功上。
硬要说有什么秘籍的话,一些未公开的漏洞,以及个人发明的独特算法,勉强可以算得上吧。
但有法固有破,再神奇的技巧,只要当着其他高手的面儿,用上那么一次两次,基本上很快就会被破掉。
这个世界上,在加密技术领域,无法破解的技术并非没有,但绝对屈指可数。
要说其中最近最火的一个,那无疑非“坏苹果”莫属……
第一节下课,江寒上了趟洗手间。
回来之后,他就按照课表,拿出了语文书。
其实也未必有时间看,但不管怎么说,至少装装样子吧。
上课铃响后,一个最多也就24、5岁,气质相当优雅的女生,夹着教材、教案走了进来。
江寒一看不是易中海,就问李东:“她谁啊?”
“实习老师,姓郭,合师大中文系的。”
李东说着嘿嘿一笑,问:“好看吧?”
江寒:“……”
小郭老师倒也不能说丑,但在他看来,只能算凑合。
长相能有7分,身材勉强5分,优点是够瘦,缺点是实在太瘦。
就这样的姿色,李东都能发春……
咦?是不是在胖人眼中,瘦一些的异性反而更有吸引力?
“实习老师……”江寒沉吟了一下,“所以,有了小助手,易老师就偷懒不来上课了?”
李东摇了摇头:“郭老师是前天才来的,易老师已经有半个月没上班了。”
“半个月?”江寒皱了皱眉。
自己一直没来上学,居然都不知道这件事。