基于神经网络的文本特征提取——从词汇特征表示到文本向量

本文介绍了基于神经网络的文本特征提取,从线性回归、梯度下降和神经网络的基本概念,到word2vector模型(CBOW和Skip-gram)的原理,再到fastText和文本分布表示方法。最后探讨了深度学习模型和近期的简单词嵌入模型(SWEM)在文本向量生成中的应用。
摘要由CSDN通过智能技术生成

重磅专栏推荐:
《大模型AIGC》
《课程大纲》
《知识星球》

本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经验分享,旨在帮助读者更好地理解和应用这些领域的最新进展

在实际系统我们会接触到许许多多的文本类型数据。如何将这部分数据用于作为机器学习模型的输入呢?一个常用的方法是将文本转化为一个能很好的表示它的向量,这里将称该向量称作为文本向量。本文将以尽可能少的数学公式介绍目前业界比较流行的基于神经网络进行文本特征提取,得到文本向量的方案。

1. 背景知识

这部分内容将介绍线性回归、梯度下降、神经网络、反向传播。对于有基础的同学这部分可以跳过,对于之前没有接触过相关知识点的同学,我会用尽可能少的公式去介绍。希望能讲明白 ==

1.1 线性回归模型

其实线性回归模型很简单,它类似于我们中学学的多元一次方程的形式,如:
y ^ = w 1 x 1 + w 2 x 2 + w 3 x 3 + b \large \hat{y} = w_1x_1 + w_2x_2 + w_3x_3+b y^=w1x1+w2x2+w3x3+b
其中 y ^ \hat{y} y^是我们要预测的值。 x x x是我们的输入的特征,举例来说,我们要预测房价( y ^ \hat{y} y^),我们输入的特征有该房子面积( x 1 x_1 x1)、有该房子室数( x 2 x_2 x2)、有该房子地域热度( x 3 x_3 x3)。我们知道历史数据中的 x x x和其对应的真实房价 y y y,而线性回归模型任务就是要找到最佳的参数 W W W b b b,使得预测值 y ^ \hat{y} y^和真实值 y y y最相近。

1.2 梯度下降

哪我们如何找到最佳的参数 W W W b b b呢?业界最流行的方法就是使用梯度下降。
这里为了让问题更加简单形象,我们暂时把模型简化$ \hat{y} = wx+b 。想让预测值 。想让预测值 。想让预测值\hat{y} 和真实值 和真实值 和真实值y$最相近,首先我可以使用它们之间的平方误差来度量:
J ( w , b ) = ( y ^ − y ) 2 \large J(w,b)=(\hat{y}-y)^2 J(w,b)=(y^y)2

梯度下降法的形象化说明:

在这个碗形图中,横轴表示参数 W W W b b b,在实践中,可以是更高的维度。
如图那个小红点,采用随机初始化的方法初始化的参数 W W W b b b


我们的目标是将它下落到碗形图的最底部,即 m i n ( J ( w , b ) ) min(J(w,b)) min(J(w,b))

那红点会怎么下落呢?回想下中学学的物理就很形象了,我们先只看 w w w轴。没错,沿着斜率方向下降,红点会快的接近碗底。

当然,如何一直沿着最初的斜率方向走是不能到达碗底的,而应该一小步一小步的走,每走一步调整方向为当前的斜率方向:

对于 b b b轴也类似,那么红点就会如下图一步一步的下降:

于是每一步我们更新参数为:


其中 α \alpha α 为每一步的步长。
这样不断的迭代,不断的下降,参数 W W W b b b的取值就不断的被优化了。

1.3 神经网络

我们先来介绍单个神经元的模型结构,如下图:

其实这个和我们上文讲的的线性回归模型非常相似。 x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3就是线性回归模型的特征输入,箭头边可以看做就是线性回归模型权重参数 w 1 w_1 w1 w 2 w_2 w2 w 3 w_3 w3,每个输入经过箭头都会乘以相应边上的权重。图中的圆圈就是所谓的神经元,经过箭头进入神经元的元素会被相加,然后在加上一个偏置参数 b b b,即上文的 w 1 x 1 + w 2 x 2 + w 3 x 3 + b w_1x_1 + w_2x_2 + w_3x_3+b w1x1+w2x2+w3x3+b,最后输出预测值 y ^ \hat{y} y^

1.3.1 激活函数

唯一不同的是神经元里面还可以存在激活函数,如果神经元没激活函数,那么就和上文讲的线性回归模型基本上一模一样。常见的激活函数有:

  • sigmoid函数


  • Tanh函数

  • ReLU函数
    f ( z ) = m a x ( 0 , z ) f(z) = max(0,z) f(z)=max(0,z)

这里的 z z z就是神经元的输入,如我们这里的 w 1 x 1 + w 2 x 2 + w 3 x 3 + b w_1x_1 + w_2x_2 + w_3x_3+b w1x1+

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小爷毛毛(卓寿杰)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值