sigmodi公式
双曲正切
relu
relu(x)=max(0, x)
笛卡尔积
A×B={(x,y)|x∈A∧y∈B}。例如,A={a,b}, B={0,1,2},则A×B={(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}
libsvm的数据格式
1 1:1 32:1 90:1 这个样本是正样本,第1、32、90个位置取1,其他位置取0
均方根误差
该指标是衡量模型对回归问题的预测能力的一个重要指标
公式中每一个t代表一个样本,n表示样本的总个数
召回率
召回率是对分类器的一个评价指标,样本中一共有100个正样本,分类器预测了其中有90个正样本,猜对了其中的80个,那么召回率就是80%
用户画像
用户画像就是把用户向量化,用户画像不是推荐系统的目的,而是在构建推荐系统的过程中产生的一个关键环节的副产品。用户画像既可以用在召回阶段也可以用在排序阶段。
构建用户画像有三种方式
- 用户静态信息
直接使用原始数据作为用户画像的内容,如注册的年龄、性别等统计学信息,或展现、点击历史等,除了数据清洗等工作,数据本身没有做任何抽象和归纳,这类数据在用户冷启动等场景非常有用 - 统计/挖掘用户历史数据
用用户的历史数据中统计某些信息,如用户最感兴趣的标签等,这也是我目前见过的最常用的用户画像 - embedding
使用各种机器学习算法构建用户的embedding,这种embedding不具有可读性,但是效果应该是挺好的
从文本中提取关键词的算法
最常用的有TF-IDF和TextRank算法
命名实体识别的方法
人物、位置和地点、著作、影视剧、历史事件和热点事件等,常用基于词典的方法结合 CRF 模型。
TF-IDF
TF(Term Frequency):词频,词在该文本中出现的次数
IDF(Inverse Document Frequency):逆文档频率,是提前统计好的。
N:一共有多少个文本(所有词的N都是一样的)
n:词在多少个文本中出现过
- 直观来看这个公式,n越大,说明这个词在很多文档中出现过,就说明这个词越不重要;
- +1的目的:当一个词从来没有出现过,n就等于0,导致IDF无穷大
- 对于一个新词,n应该是0,但也可以取所有n的平均数
词权重=TF*IDF,根据该权重筛选关键词时有两种方法。
- 给定一个K,取top K个词作为关键词,但这样不合理,若词的总个数小于K,那么左右ci都是关键词了;
- 计算所有词权重的平均值,大于平均值的才是关键词
- 在某些情况下,会根据词性进行过滤,比如只取动词和名词作为关键词
PageRank
TextRank
LDA
LDA要比传统的聚类方法更好,LDA不仅能准确地抓住主题,而且可以得到软聚类(一个文本可以属于多个类簇)的效果,
LDA需要设定主题的个数,如何筛选这个K,可以通过实验来对比,方法:
- 每次计算K个主题两两之间的平均相似度,选择较低的K值
- 只要资源够用,主题数可以尽可能的多些
Word Embedding
Word Embedding可以为每一个词计算一个K维的向量,向量中各个维度上的值大小代表了词包含各个语义的多少。拿到每个词的Embedding后可以做下面几个事情
- 计算词之间的相似度
- 累加得到一个文本的稠密向量
- 用于聚类