zoukankan      html  css  js  c++  java
  • 层次softmax函数(hierarchical softmax)

    一、h-softmax

    在面对label众多的分类问题时,fastText设计了一种hierarchical softmax函数。使其具有以下优势

    • (1)适合大型数据+高效的训练速度:能够训练模型“在使用标准多核CPU的情况下10分钟内处理超过10亿个词汇”,特别是与深度模型对比,fastText能将训练时间由数天缩短到几秒钟。
    • (2)支持多语言表达:利用其语言形态结构,fastText能够被设计用来支持包括英语、德语、西班牙语、法语以及捷克语等多种语言。

    可以认为,FastText= (word2vec中)CBOW + h-softmax;其结构为:输入 - 隐层 - h-softmax

    基本原理

    • 根据标签(label)和频率建立霍夫曼树;(label出现的频率越高,Huffman树的路径越短)
    • Huffman树中每一叶子结点代表一个label;

    二、理论分析

    层次之间的映射

    将输入层中的词和词组构成特征向量,再将特征向量通过线性变换映射到隐藏层,隐藏层通过求解最大似然函数,然后根据每个类别的权重和模型参数构建Huffman树,将Huffman树作为输出。 
    这里写图片描述

    模型的训练

    Huffman树中每一叶子结点代表一个label,在每一个非叶子节点处都需要作一次二分类,走左边的概率和走右边的概率,这里用逻辑回归的公式表示 

    如何做到fast

    参考:fastText原理及应用

  • 相关阅读:
    4259. 残缺的字符串
    BZOJ3451. Tyvj1953 Normal
    BZOJ3509. [CodeChef] COUNTARI
    BZOJ3527: [Zjoi2014]力
    BZOJ2194. 快速傅立叶之二
    Educational Codeforces Round 69 (Rated for Div. 2) A~D Sloution
    hibernate对单表的增删改查
    spring中的AOP
    spring笔记二
    struts2的验证
  • 原文地址:https://www.cnblogs.com/eniac1946/p/8818892.html
Copyright © 2011-2022 走看看