17个机器学习的常用算法!https://mp.weixin.qq.com/s/Xpx6gfd4O01I4Vhyx_sGjA
1. 监督式学习
2. 非监督式学习
3. 半监督式学习
4. 强化学习
5. 算法类似性
6. 回归算法
7. 基于实例的算法
8. 正则化方法
9. 决策树学习
10. 贝叶斯方法
11. 基于核的算法
12. 聚类算法
13. 关联规则学习
14. 人工神经网络
15. 深度学习
16. 降低维度算法
17. 集成算法
常见机器学习算法优缺点:
1. 朴素贝叶斯
优点:对小规模的数据表现很好,适合多分类任务,适合增量式训练。
缺点:对输入数据的表达形式很敏感。
2. 决策树
优点:计算量简单,可解释性强,比较适合处理有缺失属性值的样本,能够处理不相关的特征;
缺点:容易过拟合(后续出现了随机森林,减小了过拟合现象)。
3. Logistic回归
优点:
1.实现简单
2. 分类时计算量非常小,速度很快,存储资源低;
缺点:
1.容易欠拟合,一般准确度不太高
2. 只能处理两分类问题(在此基础上衍生出来的softmax可以用于多分类),且必须线性可分;
4.线性回归
优点:实现简单,计算简单;
缺点:不能拟合非线性数据;
5. KNN算法
优点:
1.想简单,理论成熟,既可以用来做分类也可以用来做回归;
2. 可用于非线性分类;
3. 训练时间复杂度为O(n);
4. 准确度高,对数据没有假设,对outlier不敏感;
缺点:
1.算量大;
2.平衡问题(即有些类别的样本数量很多,而其它样本的数量很少);
3 需要大量的内存;
6.SVM算法
优点:
1.可用于线性/非线性分类,也可以用于回归;
2. 低泛化误差;
3. 容易解释;
4. 计算复杂度较低;
缺点:
1.参数和核函数的选择比较敏感;
2. 原始的SVM只比较擅长处理二分类问题;
7.Boosting算法
优点:
1.低泛化误差;
2. 容易实现,分类准确率较高,没有太多参数可以调;
缺点:
1.对outlier比较敏感;