深度学习输入符号编码



对于一些符号数据,比如用户ID、字词等。可以通过通过以下方法进行编码。
step 1). one-host编码。
step 2). multi-hot编码。因为符号数据的one-hot是非常稀疏的,维度非常大,不利于训练。因此要用six-hot类似的编码,或是挂靠编码。
step 3). nn编码。即使是six-hot,维度也是非常大的, 通过神经网络来进行编码学习embedding,比如稀疏层, 即只有hot的地方采用连接。

### 常见的深度学习文本编码方式 在深度学习领域,文本数据通常需要被转换成数值形式以便于模型处理。以下是几种常见的文本编码方法: #### 1. **词袋模型(Bag of Words, BoW)** 词袋模型是一种简单的文本表示方法,它忽略了词语之间的顺序关系,仅关注词汇的存在与否及其频率。在这种方法中,文档中的每个单词都被视为独立单元,并赋予其对应的权重或计数[^1]。 - 缺点在于丢失了句子结构信息。 - 优点是可以反映某些场景下单词的重要性[^2]。 #### 2. **TF-IDF (Term Frequency-Inverse Document Frequency)** TF-IDF 是一种改进版的词袋模型,不仅考虑了某个词在当前文档中的出现次数(TF),还引入了一个逆文档频率因子(IDF)。这使得那些在整个语料库中频繁出现但在特定文档中有意义的词获得更高的权重。 计算公式如下: \[ \text{TF}(t,d) = \frac{\text{Number of times term } t \text{ appears in document } d}{\text{Total number of terms in document } d} \] \[ \text{IDF}(t,D) = \log_e\left(\frac{\text{Total number of documents}}{\text{Number of documents with term } t}\right) \] 最终得分由两者的乘积决定。 #### 3. **One-Hot Encoding** 每篇文章或者一段话都可以通过 one-hot 向量来表达其中每一个独特的字词。具体做法是为词汇表中的每个唯一单词分配一个固定位置,当该单词存在于某篇文档时,则将其对应的位置标记为 1;否则置零[^3]。 这种方法虽然直观易懂,但对于大规模的数据集来说非常稀疏且占用大量存储空间。 #### 4. **Word Embedding** 相比上述静态特征提取技术,word embedding 提供了一种动态的学习机制让机器自动获取更深层次的语言规律。典型的例子有 Word2Vec 和 GloVe 等工具生成低维稠密型实值向量作为各个单词的新表现形式。 ##### (a)CBOW 模式下的 word2vec 假设我们的训练语料只有一句话:“Hope can set you free”,如果采用 CBOW 的工作原理并设置窗口大小为 3 ,那么第一个训练实例将是基于 “Hope” 和 “set” 来预测中间的目标词 “can”。在这个过程中,所有参与运算的词汇均需先转化为它们各自的一热码形式后再进一步操作。 ```python import numpy as np def cbow_example(vocab_size=5, embed_dim=3): W1 = np.random.rand(embed_dim, vocab_size) # 输入层到隐藏层权值矩阵初始化 context_words = [[0], [2]] # 当前上下文中两个单词索引分别为第0号和第2号 embedded_vectors = [] for idx in context_words: vector = W1[:,idx].reshape(-1,) embedded_vectors.append(vector) avg_vector = sum(embedded_vectors)/len(context_words) # 计算平均后的嵌入向量 return avg_vector ``` 此函数模拟展示了如何利用变换矩阵完成从离散符号至连续分布空间映射的过程。 --- #### 总结 不同的应用场景可能适合不同类型的文本编码方案。对于小型项目而言,传统统计学基础之上构建起来的方法如 TF-IDF 可能已经足够满足需求;然而随着任务复杂度增加以及对性能追求不断提高,现代神经网络驱动下的分布式表示则逐渐成为主流选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mao_feng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值