当前位置: 首页 > news >正文

wordpress搭建短视频网站自建论坛

wordpress搭建短视频网站,自建论坛,公司简介怎么写吸引人,表白网页制作源代码在本系列的第二篇文章中#xff0c;我们将继续探讨Word2Vec模型#xff0c;这次重点介绍负采样#xff08;Negative Sampling#xff09;技术。负采样是一种优化Skip-gram模型训练效率的技术#xff0c;它能在大规模语料库中显著减少计算复杂度。接下来#xff0c;我们将…        在本系列的第二篇文章中我们将继续探讨Word2Vec模型这次重点介绍负采样Negative Sampling技术。负采样是一种优化Skip-gram模型训练效率的技术它能在大规模语料库中显著减少计算复杂度。接下来我们将通过详细的代码实现和理论讲解帮助你理解负采样的工作原理及其在Word2Vec中的应用。 1. Word2Vec负采样原理 1.1 负采样的背景 在Word2Vec的Skip-gram模型中我们的目标是通过给定的中心词预测其上下文词。然而当词汇表非常大时计算所有词的预测概率会变得非常耗时。为了解决这个问题负采样技术被引入。 1.2 负采样的工作原理 负采样通过从词汇表中随机选择一些词作为负样本来简化训练过程。具体来说除了正样本即真实的上下文词我们还为每个正样本选择若干个负样本。模型的目标是最大化正样本的预测概率同时最小化负样本的预测概率。这样训练过程只需要考虑部分词汇从而减少了计算量。 2. Word2Vec负采样实现 我们将通过以下步骤来实现带有负采样的Word2Vec模型 2.1 定义简单数据集 首先我们定义一个简单的语料库来演示负采样的应用。 import numpy as np import torch import torch.nn as nn import torch.optim as optim import matplotlib.pyplot as plt import torch.nn.functional as F# 定义语料库 corpus [apple banana fruit, banana apple fruit, banana fruit apple,dog cat animal, cat animal dog, cat dog animal]corpus [sent.split( ) for sent in corpus] print(corpus)2.2 数据预处理 获取词序列和唯一词汇并进行数值化处理。 # 获取词汇表 flatten lambda l: [item for sublist in l for item in sublist] vocab list(set(flatten(corpus))) print(vocab)# 数值化 word2index {w: i for i, w in enumerate(vocab)} print(word2index)# 词汇表大小 voc_size len(vocab) print(voc_size)# 添加UNK标记 vocab.append(UNK) word2index[UNK] 0 index2word {v: k for k, v in word2index.items()}2.3 准备训练数据 定义一个函数用于生成Skip-gram模型的训练数据。 def random_batch(batch_size, word_sequence):skip_grams []for sequence in word_sequence:for i, word in enumerate(sequence):context [sequence[j] for j in range(max(0, i - 1), min(len(sequence), i 2)) if j ! i]for ctx_word in context:skip_grams.append((word, ctx_word))return skip_grams2.4 负采样 实现负采样的训练过程。 class Word2Vec(nn.Module):def __init__(self, vocab_size, embedding_dim):super(Word2Vec, self).__init__()self.in_embed nn.Embedding(vocab_size, embedding_dim)self.out_embed nn.Embedding(vocab_size, embedding_dim)self.in_embed.weight.data.uniform_(-1, 1)self.out_embed.weight.data.uniform_(-1, 1)def forward(self, center_word, context_word):in_embeds self.in_embed(center_word)out_embeds self.out_embed(context_word)scores torch.matmul(in_embeds, out_embeds.t())return scores# Initialize model embedding_dim 10 model Word2Vec(voc_size, embedding_dim) optimizer optim.SGD(model.parameters(), lr0.01)2.5 训练模型 进行模型训练并应用负采样技术来优化模型。 def train_word2vec(model, skip_grams, epochs10):for epoch in range(epochs):total_loss 0for center, context in skip_grams:center_idx torch.tensor([word2index[center]], dtypetorch.long)context_idx torch.tensor([word2index[context]], dtypetorch.long)optimizer.zero_grad()scores model(center_idx, context_idx)target torch.tensor([1], dtypetorch.float32)loss F.binary_cross_entropy_with_logits(scores.squeeze(), target)loss.backward()optimizer.step()total_loss loss.item()print(fEpoch {epoch 1}, Loss: {total_loss})# Prepare skip-gram pairs skip_grams random_batch(10, corpus) train_word2vec(model, skip_grams)结语         在本篇文章中我们详细探讨了Word2Vec模型中的负采样技术并通过代码实现展示了如何在Python中应用这一技术来优化Skip-gram模型。负采样通过减少计算量提高了模型的训练效率使得在大规模数据集上的训练变得可行。         在下一篇文章中我们将继续探讨另一种词向量表示方法——GloVeGlobal Vectors for Word Representation。敬请期待 如果你觉得这篇博文对你有帮助请点赞、收藏、关注我并且可以打赏支持我 欢迎关注我的后续博文我将分享更多关于人工智能、自然语言处理和计算机视觉的精彩内容。 谢谢大家的支持
http://www.dnsts.com.cn/news/52654.html

相关文章:

  • 太原市做网站公司网站推广网站
  • 甜品网站建设策划书辽宁网站建站优化公司
  • p2p理财网站建设旅游网页设计模板免费
  • 怎么做博客网站局域网网页制作
  • 网站开发学生鉴定表云商城之歌
  • 旅游网站建设目的手机软件推荐
  • 做网站的硬件wordpress 腾讯视频插件
  • 企业为什么要建站软件工程造价师
  • flash网站导航怎么做网站开发者morz
  • 威海建设公司网站在线制作非主流流光闪字 急切网
  • 上海网站建设技术指导公司移动互联网软件开发与应用
  • 手机网站模板下载免费网站建设宁波
  • 机械加工外协网站网站标题栏做多大
  • 网站开发长春外贸型网站
  • 郑州网站建设郑州网站建设七彩科技360官方网站
  • 静态网站漏洞用新华做网站名是否侵权
  • 裕华区建设局网站视频生成网址链接
  • 顺的网站建设效果多多淘宝客网站
  • 做营销型网站用什么技术济南手机网站制作
  • 重庆电商网站创新的江苏网站建设
  • 搜狐视频网站联盟怎么做上海市建设工程监理咨询有限公司
  • 个人成立公司怎么做企业网站专业新站整站快速排名公司
  • xampp做网站可以吗大都会app约
  • 兖矿东华建设有限公司网站龙岩网站建设一般多少钱
  • 网站注册商标wordpress wpsyntax
  • 毕业设计做网站起个名字接外包项目的网站
  • 武威市住房和城乡建设局网站石家庄电商网站开发
  • 如何维护给做网站的客户做响应式网站的流程
  • 展示型网站建设流程品牌推广公司排行榜
  • 金融互助平台网站制作莱阳网站开发