百面机器学习
1.特征工程
特征归一化
线性归一化:$x=\frac{x-x_{min}}{x_{max}-x_{min}}$
零均值归一化:归一化为正太分布$z=\frac{x-\mu}{\sigma}$,需要距离度量的算法比较适合。
原因:一般需要使用归一化的算法有两种:1.需要计算距离的,比如KNN,如果不做归一化,小值几乎没有影响。2.需要使用梯度下降的,在训练初期因为参数基本相同,梯度下降时大值的梯度会非常大,导致梯度下降的震荡,导致训练变慢,甚至无法收敛。3.像决策树和概率图模型则不需要归一化。
类别型特征
- 序号编码(ordinal Encoding):类别之间具有大小关系。
- 独热编码(one-hot Encoding):类别之间没有大小 关系。
文本表示模型
词袋模型(Bag of Words):简单的统计词频,忽略每个词的出现顺序。
TF-IDF:$TF-IDF=TFIDF=本文词频log(\frac{文章总数}{出现该词的文章数})$ ,用来表示一个词对于当前文本的重要程度。
主题模型(Topic Model):代表LDA,一种基于隐式Dirichlet先验概率分布的模型结构,无监督模型,整个模型非常的难,属于概率图范畴。简单来说模型计算两个概率分布:文档-主题的概率分布和主题-词汇的概率分布。训练时提供文本和主题数,输出各个文本的主题概率和每个主题下出现词的概率。
注意点:LDA是个非常大的模型,只有当文本特征(词汇、词组)的系统太过复杂,又没有太多的人工分类经验或精力来做时才使用LDA。使用限制:1.文档足够多。2.文档足够长,词要足够多。3.词的种类要足够多的。4.词频足够大。所以LDA对文本的质量要求很严格,一般在特定专业领域比较好用,比如医疗文本分类。
word2vec:Skip-gram和CBOW。Hierarchical Softmax 和 Negative Sampling。
2. 模型评估
详见单章。
3. 经典算法
支持向量机
推导见单章。
是否存在一组参数使误差为0?
高斯核能拟合所有形状。
逻辑回归
如何用逻辑回归处理多分类问题?
- One-Vs-All:转变成N个二分类问题(是否是某一类)。类别比较多的情况下容易造成数据不平均的情况。
- One-Vs-One:转变成C(N,2)个二分类问题(两两组合比较)。避免了数据不平衡问题,但分类器数量会很多。
- 用softmax:改变了模型结构。
决策树
详见单章。
- ID3-最大信息增益。C4.5-最大信息增益率。CART-最大基尼指数。
预减枝、后减枝。
预减枝:设置最大深度。设置节点最小样本数。设置分裂准确度提升阈值。容易造成欠拟合。
后减枝:多种策略。。懒得看了。只知道从下往上判断该分类是否有用。
4. 降维
详见单章。
- PCA,LDA
5. 非监督学习
- K-means,GMM为代表的聚类算法。详见单章。
6.概率图
详见单章。