zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Java多线程总结(二)锁、线程池
    Java多线程总结(一)多线程基础
    如何创建并运行java线程
    Java高效计数器
    在JLabel上显示图片,并且图片自适应JLabel的大小
    用java读写ini配置文件
    Java读取ini配置
    JAVA – 虚函数、抽象函数、抽象类、接口
    Java UDP Socket
    18、面向对象基本原则及UML类图简介
  • 原文地址:https://www.cnblogs.com/yjybupt/p/9964342.html
Copyright © 2011-2022 走看看