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原理及应用

  • 相关阅读:
    boost test学习(二)
    log4cxx的使用(2)
    Windows CE下流驱动的动态加载
    linux powerqorpp1010rdb 编译过程
    cadence allegro 设计重用
    Linux中VMware虚拟机硬盘空间扩大方法
    WINCE系统启动直接运行自己的程序
    linux6410触摸屏驱动
    cadence allegro和ad9之间的转换
    wince 6.0和5.0的区别
  • 原文地址:https://www.cnblogs.com/eniac1946/p/8818892.html
Copyright © 2011-2022 走看看