CS224d lecture04

博客围绕机器学习中的分类展开,介绍了假定输入固定时训练参数预测概率的具体过程,包括总类别数、模型参数矩阵等相关计算。还阐述了词窗口分类,即训练softmax分类器给中心词分配标签,用窗口连接前后单词。最后讲解了更新词向量的方法,涉及目标概率分布、链式法则等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

训练数据集:{xi,yi}i=1N\{x_i,y_i\}^N_{i=1}{xi,yi}i=1N

机器学习中的分类

假定输入x是固定的,训练参数W,预测P(y∣x)=Wy,x)∑c=1Cexp(Wc,x)P(y|x)=\frac{W_y,x)}{\sum^C_{c=1}exp(W_c,x)}P(yx)=c=1Cexp(Wc,x)Wy,x)

具体过程:
在这里插入图片描述
C:总类别数。
W:模型参数矩阵。
对c=1…C都要计算fcf_cfc
Wy⋅x=∑i=1dWyixi=fyW_y\cdot{x}=\sum^d_{i=1}W_{y_i}x_i=f_yWyx=i=1dWyixi=fy
归一化:
P(y∣x)=exp(fy)∑c=1Cexp(fc)=softmax(f)yP(y|x)=\frac{exp(f_y)}{\sum^C_{c=1}exp(f_c)}=softmax(f)_yP(yx)=c=1Cexp(fc)exp(fy)=softmax(f)y

总体损失函数:J(θ)=1N∑i=1N−log(efyi∑c=1Cefc)+λ∑kθk2J(\theta)=\frac{1}{N}\sum^N_{i=1}-log(\frac{e^{f_{y_i}}}{\sum^C_{c=1}e^{f_c}})+\lambda{\sum_k\theta_k^2}J(θ)=N1i=1Nlog(c=1Cefcefyi)+λkθk2
其中λ∑kθk2\lambda{\sum_k\theta_k^2}λkθk2是正则项:使模型权值尽可能小。
f=Wxf=Wxf=Wxfff是模型。

词窗口分类(Window Classification)

训练一个softmax分类器,给中心词分配一个标签,然后用一个窗口把它前后的单词连接起来。

例:窗口长度为2=>中心词左右各两个单词,加中心词,窗口内共五个单词。
...museums in Paris are amazing......museums\ in\ Paris\ are\ amazing......museums in Paris are amazing...
xwindow=[Xmuseums Xin XParis Xare Xamazing]T∈R5dx_{window}=[X_museums\ X_{in}\ X_{Paris}\ X_{are}\ X_{amazing}]^T\in{R^{5d}}xwindow=[Xmuseums Xin XParis Xare Xamazing]TR5d
x=xwindowx=x_{window}x=xwindow:
yy^=P(y∣x)=exp(Wy⋅x)∑c=1Cexp(Wc⋅x)\widehat{y_y}=P(y|x)=\frac{exp(W_y\cdot{x})}{\sum^C_{c=1}exp(W_c\cdot{x})}yy=P(yx)=c=1Cexp(Wcx)exp(Wyx)
其中yy^\widehat{y_y}yy指模型预测的正确类别。

更新词向量

标记:
ttt:目标概率分布。独热向量:只有在正确类别y的值为1,其余为零。
f=f(x)=Wx∈RCf=f(x)=Wx\in{R^C}f=f(x)=WxRC:C维向量,C是类别的数量。
链式法则:
∂∂x−log(softmax(fy(x))\frac{\partial}{\partial{x}}-log(softmax(f_y(x))xlog(softmax(fy(x))
=∑c=1C−∂log(softmax(fy(x)∂fc⋅∂fc(x)∂x=\sum^C_{c=1}-\frac{\partial{log(softmax(f_y(x)}}{\partial{f_c}}\cdot{\frac{\partial{f_c(x)}}{\partial{x}}}=c=1Cfclog(softmax(fy(x)xfc(x)
考虑两种情况:
(1)c=yc=yc=y
(2)c≠yc\neq{y}c̸=y
∂∂x−log(softmax(fy(x))=[y1^,y2^,...,yy^−1,...yC^]T\frac{\partial}{\partial{x}}-log(softmax(f_y(x))=[\widehat{y_1},\widehat{y_2},...,\widehat{y_y}-1,...\widehat{y_C}]^Txlog(softmax(fy(x))=[y1,y2,...,yy1,...yC]T
在正确类别减一,其他什么也不做。
公式向量化:
∂∂x−log(softmax(fy(x))=[y^−t]=δ\frac{\partial}{\partial{x}}-log(softmax(f_y(x))=[\widehat{y}-t]=\deltaxlog(softmax(fy(x))=[yt]=δ
δ\deltaδ:误差信号
=∑c=1C−∂log(softmax(fy(x)∂fc⋅∂fc(x)∂x=∑c=1CδcWcT=\sum^C_{c=1}-\frac{\partial{log(softmax(f_y(x)}}{\partial{f_c}}\cdot{\frac{\partial{f_c(x)}}{\partial{x}}}=\sum^C_{c=1}\delta_cW_c^T=c=1Cfclog(softmax(fy(x)xfc(x)=c=1CδcWcT
∂∂x−logP(y∣x)=∑c=1CδcWcT=WTδ∈R5d\frac{\partial}{\partial{x}}-logP(y|x)=\sum^C_{c=1}\delta_cW_c^T=W^T\delta\in{R^{5d}}xlogP(yx)=c=1CδcWcT=WTδR5d
这里的x指窗口,则:
∇xJ=WTδ=δxwindow=[∇xmuseums,∇xin,∇xParis,∇xare,∇xamazing]T∈R5d\nabla_xJ=W^T\delta=\delta_{x_{window}}=[\nabla_{x_{museums}},\nabla_{x_{in}},\nabla_{x_{Paris}},\nabla_{x_{are}},\nabla_{x_{amazing}}]^T\in{R^{5d}}xJ=WTδ=δxwindow=[xmuseums,xin,xParis,xare,xamazing]TR5d
这个窗口中有ininin,则这个梯度会出现在所有包含ininin的窗口中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值