1、逻辑回归:LR
-
逻辑回归(Logistic Regression)是机器学习中的一种分类算法,主要用于解决二分类问题
-
通过 sigmoid函数 对 线性回归结果 进行非线性激活,得到分类概率值(0-1之间)
-
损失函数: 对数似然损失
2、支持向量机:SVM
-
在保证样本全部分类正确的情况下,实现间隔最大化,从而找出一个距离正负样本距离最远的分类超平面,使模型的泛化能力、对未知样本的预测能力更好一些;SVM中还可以使用软间隔、核函数使得模型对一些线性不可分的场景拥有更好的泛化能力
-
SVM 和 LR比较
- 逻辑回归和支持向量机寻找一条分类直线,目标是将两个类别的样本分开。
- 逻辑回归的条件是:准确率,而支持向量机的条件是:准确率+最大间隔。
- 逻辑回归的分类直线可能存在多条,但是支持向量机的分类直线只有一条。
准确率+最大间隔既考虑了模型在训练集中的预测能力,也考虑到了对未知样本的泛化能力。
-
核函数
- 当样本集在低维空间无法划分时,SVM 会通过核函数将原始数据映射到高维空间、或者增加数据维度,使得样本能够线性可分,此时使用支持向量机的最大间隔寻找分割超平面。常用:高斯核
3、决策树
- ID3(多叉树):信息增益
- C4.5(多叉树):信息增益率
- CART(二叉树):基尼指数
4、集成算法
-
1:Bagging集成思想
- 训练:有放回的抽样(自助法)产生不同的训练集,从而训练不同的学习器
- 预测:通过平权投票、多数表决的方式决定预测结果
-
2:Boosting集成思想
- 训练:每一个训练器重点关注前一个训练器不足的地方进行训练
- 预测:通过加权投票的方式,得出预测结果
-
3:Bagging和Boosting的区别
- Bagging和Boosting 都是将多个弱学习器组合到一起变成一个强学习器 的方法
- 区别一:数据方面
- Bagging:对数据进行采样训练
- Boosting:根据前一轮学习结果调整数据的权重
- 区别二:投票方面
- Bagging:所有学习器平权投票
- Boosting:对学习器进行加权投票
- 区别三:学习顺序
- Bagging的学习是并行的,每个学习器没有依赖关系
- Boosting学习是串行,学习有先后顺序
5、随机森林
6、GBDT
- GBDT全称是梯度提升决策树,相比于决策树采用了梯度提升思想和Boosting集成算法,通过迭代训练多个决策树弱学习器,每个决策树通过拟合上一个模型的负梯度,从而提高了整个强学习器预测精度的上限
- 因为GBDT每次迭代要拟合的是负梯度,是连续值所以要用CART回归树
7、XGBoost
- 1、求解损失函数极值时使用泰勒二阶展开
- 2、在损失函数中加入了正则化项
- 两个正则化项分别考虑了树的复杂度和树的输出值的复杂度
8、Xgboost与GBDT差别
- 区别一:
- XGBoost 生成树时考虑了树的复杂度
- GDBT在树的剪枝步骤中考虑了树的复杂度
- 区别二:
- XGBoost 是拟合上一轮损失函数的二阶导展开,GDBT是拟合上一轮损失函数的一阶导展开,因此,XGBoost的准确性更高,且满足相同的训练效果,需要的迭代次数更少。
- 区别三:
- XGBoost 与 GDBT 都是逐次迭代来提高模型性能,但是XGBoost在选取最佳切分点时可以开启多线程进行,大大提高了运行速度
9、TF-IDF
- 词频:某文章中 某词语出现次数 / 文章总词数
- 逆文档频率:log(总文档数/包含该词语的文档数)
10、CRF&HMM
- HMM是一个序列模型,采用了隐马尔科夫假设,当前隐藏状态只依赖于前一个隐藏状态
- 而CRF不采用隐马尔科夫假设,它可以依赖于前一个和后一个隐藏状态,而且引入了观测状态这个先验条件