机器学习day2

2020-05-28  本文已影响0人  rivrui

组合特征

为了能够使得组合特征避免出现参数过多,过拟合等问题,因此,我们需要找到有效的方法帮助我们进行特征的组合。
以预测问题举例。
输出特征有年龄,性别,购买物品类别,用户类型
组合特征可以如下,满足下面的条件为1,不满足则为0,特征为4维向量。

  1. 年龄\le35且性别=女
  2. 年龄\le35且物品类型=护肤
  3. 用户类型=付费且物品类别=食物
  4. 用户类型=付费且年龄\le40
是否点击 年龄 性别 用户类型 物品类型
28 免费 护肤
36 付费 食品

那么对应样本的特征可以分别为(1,1,0,0)和(0,0,1,1)

文本表示模型

文本是一类非常重要的非结构化数据,那么怎么在机器学习中表示需要输入的文本。

词袋模型

词袋模型是非常简单的表示文本的模型。把每篇文章,拆分出一个个地词语,忽略词语的顺序。把一段文本,看成一个长的向量,每一维代表一个词,值由词决定。一般使用TF-IDF来计算权重
TF-IDF(t,d)=TF(t,d)×IDF(t)
其中TF(t,d)表示单纯t在文档d中出现的频率,IDF(t)是逆文档频率,用来衡量单词t对表达语义所起的重要性。
IDF(t)=log^{\frac{文章总数}{包含词语t的文章总数+1}}
简单解释:如果一个词语在非常多的文章里面出现,那么它可能是一个比较通用的词语。
直接将文章的词语分割并不是一个很好的办法。因此有N-gram法,把连续的几个词语作为一个单独的特征方法哦向量中。

主题模型

从文本库发现具有代表性的主题,计算出每篇文章的主题分布。

词嵌入与深度学习模型

词嵌入的核心思想就是,将每个词语映射到低维空间上的一个稠密向量。略

Word2Vec

w2v是谷歌2013年提出了,目前最常用的词嵌入模型之一。w2c实际上是一种浅层的神经网络模型,它有两种网络结构,分别是CBOW和Skip-gram。

CBOW和Skip-gram

CBOW根据上下文出现的词语,预测当前词生成的概率。Skip-gram是根据当前词预测上下文中各词出现的概率。
如图


其中,w(t)是我们当前关注的词,w(t-2),...,w(t+2)是上下的词语。这里设置前后滑动窗口大小为2。
输入时,每个单词由独热编码表示,每个词表示成一个N维向量。N是词语的总数,在向量中,每个词语与之对应的维度设为1,其他为0。
映射层包含K个隐含单元。
输出层的向量则根据隐含层向量,连接隐含层和输出层之间的K×N维权重矩阵计算得到。输出层使用Softmax激活函数,可以计算出每个单词的生成概率。Softmax函数

代表N维原始输入向量,是在原始输入向量中与单词对应维度的取值。
上一篇下一篇

猜你喜欢

热点阅读