基于word2vec的中文词向量训练
使用katex解析的数学公式,csdn好像不支持
word2vec来源
-
Google开源
-
可以在百万数量级的词典和上亿的数据集上进行高效地训练
-
该工具得到的训练结果--
词向量(word embedding)
,可以很好地度量词与词之间的相似性
基本知识
激活函数
-
神经网络中处理非线性数据
-
饱和
当一个激活函数h(x)满足[\lim_{n\to +\infty} h’(x)=0]时我们称之为右饱和。
当一个激活函数h(x)满足[\lim_{n\to -\infty} h’(x)=0]时我们称之为左饱和。当一个激活函数,既满足左饱和又满足又饱和时,我们称之为饱和。
-
硬饱和与软饱和
对任意的(x),如果存在常数(c),当(x > c)时恒有 (h’(x) = 0)则称其为右硬饱和,当(x < c)时恒 有(h’(x)=0)则称其为左硬饱和。若既满足左硬饱和,又满足右硬饱和,则称这种激活函数为硬饱和。但如果只有在极限状态下偏导数等于0的函数,称之为软饱和。
Sigmoid 函数
-
神经网络中常用的
激活函数
-
Sigmoid
函数函数定义:
[F(x)=\frac{1}{1+e^{-x}}]函数图像:
-
函数性质
导数可以用自身的形式来表达
[F’(x)=\frac{e{-x}}{(1+e{-x})^2}=F(x)(1-F(x))]
Tanh 函数
-
Tanh
是Sigmoid
的变形,与sigmoid
不同的是,tanh
是0均值
的。因此,实际应用中,tanh
会比sigmoid
更好。 -
Tanh
函数函数定义:
[F(x)=\frac{ex-e{-x}}{ex+e{-x}}=2sigmoid(2x)-1]函数图像:
-
函数导数
[F’(x)=1-F(x)^2]
逻辑回归
设 ({(x_i,y_i)}_{i=1}^m) 为一个二分类问题的样本数据,其中(x_i \in R^n,y_i \in {0,1}),当(y_i=1)时称相应的样本为 正例
,当(y_i=0)时称相应的样本为 负例
。
利用 Sigmoid函数
,对于任意样本(x=(x_1,x_2,…,x_n)^T),可将二分类问题的hypothesis函数
写成:
[h_θ(x)=δ(θ_0+θ_1x_1+θ_2x_2+…+θ_nx_n)]
其中,(θ=(θ_0,θ_1,…,θ_n)^T) 为待定参数。符号简化,引入(x_0=1)将(x)扩展为((x_0,x_1,x_2,…,x_n)^T),将其仍记为(x)。于是,(h_θ)可简写为:
[h_θ(x)=δ(θTx)=\frac{1}{1+e{-θ^Tx}}]
取阈值(T=0.5),则二分类的判别公式为:
[y(x) = \begin{cases}
1 & h_θ(x) \geqq 0.5 \
0 & h_θ(x) < 0.5
\end{cases}
]
Bayes 公式
记 (P(A)),(P(B)) 分别表示事件 A
和事件B发生的概率,(P(A|B))表示事件B发生的情况下事件A发生的概率,(P(A,B))表示事件A,B同时发生的概率,则有:
[P(A|B)=\frac{P(A,B)}{P(B)},P(B|A)=\frac{P(A,B)}{P(A)}]
综上:
[P(A|B)=P(A)\frac{P(B|A)}{P(B)}]