查看: 3087|回复: 0
打印 上一主题 下一主题

[机器学习] 深度学习(一)autoencoder的Python实现(1)

[复制链接]

146

主题

3

听众

1503

积分

助理设计师

Rank: 4

纳金币
1794
精华
4
跳转到指定楼层
楼主
发表于 2018-7-8 12:06:30 |只看该作者 |倒序浏览
这一段时间因为工作的原因,有了更多的时间,于是感兴趣学习了深度学习的相关内容,参考了大牛们编写MATLAB,C,Python等版本,自己重新捡起Python,小试牛刀,基本完成了autoencoder的主要功能,并通过小例子进行验证。

什么是深度学习?深度学习的目的又是什么?深度学习即通过多层模型,学习事物的特征,最后得到反映事物本质的真正特征,比如我们要看一段话,首先我们看到的是每一个,然后不同的组成不同的,然后这些组成一话,最后这些子组成了一话,从字到段,这些特征从低级到高级,所表达的意思越来越清晰,深度学习类似,也就是从最简单的特征,映射到另外一个更具本质的特征,具体可以参考博客zouxy09的专栏

回归到正题,本次是要对autoencoder进行Python的实现,什么是autoencoder,UFLDL中给出了解释,这里我简单的说明,

20160518231023608.png

如上图所示,简单神经网络结构,因为autoencoder是非监督学习,为了得到W0,我们增加layer2层,其输出y1=x1,y2=x2,y3=x3,通过神经网络模型的训练机制,得到W0,然后layer0到layer1作为autoencoder的第一层结构a0,layer1的输出作为autoencoder下一层a1的输入,依次类推,得到autoencoder的多层模型结构。

因为autoencoder的本质还是分类,所以最后层选取一个分类器,或者还是原来的神经网络,并利用带标签的数据,进行整体模型结构的微调,本次Python实现的分类层依然是神经网络,因此微调的时候采取的back propagation算法。具体见下图所示

20160518235710972.png

如果不能很好的理解,上述推荐的两个链接里面,有详细的解释,希望可以帮到大家对深度学习和autoencoder有一个初步的印象。
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-14 17:02 , Processed in 0.231634 second(s), 33 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部