理解LSTM网络

Recurrent Neural Networks(RNN)

人类是依靠自己过往的经验来学习,如同我们在读文章时,每一时刻,我们对于当前的概念的理解总要添加上对于之前获取的知识经验,总之,我们的思维是有持续性的。

传统的神经网络模型无法做到这一点,而这也是它的主要缺陷之一。

循环神经网络解决了这个难题,所谓循环,简单来说其结构允许信息在网络内留存,也即是,网络是有记忆的。

Read More

Rephil和MapReduce: 描述长尾数据的数学模型

Google Rephil是Google AdSense背后广告相关性计算的头号秘密武器。但是这个系统没有发表过论文。只是其作者(博士Uri Lerner和工程师Mike Yar)在2002年在湾区举办的几次小规模交流中简要介绍过。所以Kevin Murphy把这些内容写进了他的书《Machine Learning: a Probabilitic Perspecitve》里。在吴军博士的《数学之美》里也提到了Rephil。

Rephil的模型是一个全新的模型,更像一个神经元网络。这个网络的学习过程从Web scale的文本数据中归纳海量的语义——比如“apple”这个词有多个意思:一个公司的名字、一种水果、以及其他。当一个网页里包含”apple”, “stock”, “ipad”等词汇的时候,Rephil可以告诉我们这个网页是关于apple这个公司的,而不是水果。

这个功能按说pLSA和LDA也都能实现。为什么需要一个全新的模型呢? 从2007年至今,国内外很多团队都尝试过并行化pLSA和LDA。心灵手巧的工程师们,成功的开发出能学习数万甚至上十万语义(latent topics)的训练系统。但是不管大家用什么训练数据,都会发现,得到的大部分语义(相关的词的聚类)都是非常类似,或者说“重复”的。如果做一个“去重”处理,几万甚至十万的语义,就只剩下几百几千了。

这是怎么回事?

Read More

note for CS224d:1

最近学习了斯坦福的CS224d课程,该课 程的主要内容是神经网络在自然语言处理领域的应用。 这里记录相关的学习笔记,大概分 成以下几个部分:word2vec,窗口分类,神经网络,循环神经网络,递归神经网络,卷积 神经网络。

##为什么需要深度学习

传统的机器学习方法都是人为的设计特征或者表示,深度学习的目的是希望能够通过神经网络让机器自动学习到有效的特征表示,这里所说的深度学习更偏向于关注各种类型的神经网络。探索机器学习的原因主要有以下几方面:

Read More

Python OOP(Object Oriented Programming)

面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。

面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度。

而面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。

在Python中,所有数据类型都可以视为对象,当然也可以自定义对象。自定义的对象数据类型就是面向对象中的类(Class)的概念。

Read More

使用文本处理命令获取链接批量下载


前几天看到一个不错的方法,现在分享给大家,希望有帮助

比如我看到Nmap的资源很想把他全部下载到本地怎么办呐?右键一个个点?用工具镜像整个站点?

以前我用的方法是左边打开浏览器,右边打开Notepad++ 一个个链接拖到Notepad++里,最后就有了一个完整的下载列表

现在有更好的方法,利用Linux的文本处理工具提取完整的下载链接,文本处理工具我很早就学过了,但是平常不用,学了就忘

Read More