大类 | 小类 | 算法名称 | 特点 | 典型应用场景 |
---|---|---|---|---|
监督学习 | 分类 | 支持向量机 (support vector machine) | 对线性和非线性数据的二分类问题都支持;但对于多分类问题的效果不佳 | 文本分类;图像识别;目标检测 |
人工神经网络 (artificial neural network) | 具有很强的非线性拟合能力,鲁棒性强;但模型基本没有解释能力,并且需要大量的训练样本 | 图像识别;自然语言处理;语音识别 | ||
逻辑回归 (logistic regression) | 计算量小,训练速度快;但容易产生欠拟合,预测准确度不高,只能处理二分类问题 | 欺诈检测;疾病风险判断 | ||
决策树 (decision tree) | 模型有很强的解释性,擅长处理带缺失值的样本,但容易产生过拟合 | 基于规则的个人信用评估 | ||
K 近邻 (K-nearest neighbors) | 可用于线性与非线性数据的多分类,对异常值不敏感 | 人群分类 | ||
随机森林 (random forest) | 不容易产生过拟合,即使数据有大量缺失值也能保持高准确率,能评估各个特征在分类结果上的重要性 | 图像识别;疾病风险判断 | ||
朴素贝叶斯 (naive Bayes) | 擅长处理小规模数据集,适合多分类任务;但对输入数据的格式敏感 | 情感分析;垃圾邮件检测 | ||
预测 | 线性回归 (linear regression) | 实现简单,计算快速,但无法拟合非线性数据 | 客流量预测;商品价格预测;考试成绩预测 | |
回归树 (regression tree) | 对线性和非线性数据分类都支持,不易产生过拟合 | 疾病风险判断 | ||
无监督学习 | 聚类 | K-Means 聚类 | 算法简单快速,但要求用户必须事先给定 K 的个数,对初始聚类中心敏感 | 人群分类;种群基因分类;商户选址;恶意流量识别 |
DBSCAN 聚类 | 不需要事先定义簇的数量,可以发现任意形状的簇,但当空间密度不均匀时聚类效果较差 | 同上 | ||
Birch 聚类 | 不需要事先定义簇的数量,聚类速度快,但对高维特征的数据效果较差 | 同上 | ||
降维 | 主成分分析 (PCA) | 计算方法简单易实现,但形成的主成分解释性较弱 | 特征提取 | |
因子分析 (factor analysis) | 形成的因子是原始变量的重新组合,解释性较强 | 特征提取 |
【References】
[1] 裔隽,张怿檬,张目清等.Python机器学习实战[M].北京:科学技术文献出版社,2018