Notes for Neural Network Methods for Natural Language Processing

什么是深度学习?   一种机器学习算法,based on 【多层】【非线性变换】的【神经网络】结构

优点:可以使用 低维 稠密 连续 的向量表示不同粒度的语言单元,

还可以使用循环、卷积、递归等神经网络模型对不同的语言单元向量进行组合,获得更大的语言单元,

甚至可以将图像、语言等不同的东西表示在同一个语义向量空间中

=====================================

1.

Robust, 鲁棒性,健壮性,指系统稳定,抗风险,比如面对训练数据有部分异常值,依然可以表现稳定。

skipgram就被证明具有鲁棒性,且训练的结果更好(我目前还是使用CBOW,后期使用skipgram试试)

2.

word2vec窗口大小有很大影响:

窗口大更容易学习到主题的相似性:dog  bark leash

而窗口小,更容易学习到近义词,比如walk和run和approach(比如我们本次任务中,经测试windows=3是比较合理的)

3.

窗口中所有不同的上下文词同等重要,与距离无关

4.

如果使用句法窗口,将句法依存树的信息作为特征,可以训练出功能相似词,比如颜色,动作,

是不是可以用来生成新的文本内容?

5.

如果你希望你的输出和原始输入一样,那么就是最常见的自编码模型(Auto-Encoder) 

 6.

词的相似性定义:使用了分布式假设,我们认为,两个词,如果他们周围的词的分布是一样的,那么这两个词是相似的

7.

https://blog.csdn.net/hrbeuwhw/article/details/79010712

word2vec原理详解

softmax

https://blog.csdn.net/bitcarmanlee/article/details/82320853

 至于为什么会提出反向传播算法,我直接应用梯度下降(Gradient Descent)不行吗?想必大家肯定有过这样的疑问。答案肯定是不行的,纵然梯度下降神通广大,但却不是万能的。梯度下降可以应对带有明确求导函数的情况,或者说可以应对那些可以求出误差的情况,比如逻辑回归(Logistic Regression),我们可以把它看做没有隐层的网络;但对于多隐层的神经网络,输出层可以直接求出误差来更新参数,但其中隐层的误差是不存在的,因此不能对它直接应用梯度下降,而是先将误差反向传播至隐层,然后再应用梯度下降,其中将误差从末层往前传递的过程需要链式法则(Chain Rule)的帮助,因此反向传播算法可以说是梯度下降在链式法则中的应用。

 https://www.cnblogs.com/wuzhitj/p/6298011.html

详解神经网络

https://blog.csdn.net/lyl771857509/article/details/78990215

原文地址:https://www.cnblogs.com/yjybupt/p/9964342.html