机器学习中的分类算法总结

参考资料《机器学习算法的数学解析与Python实现》,作者莫凡。

机器学习分类算法对比表
分类算法优点缺点应用领域基本Python库导入
Logistic回归分类算法简单,可解释性强易出现欠拟合二分类;作为神经网络的激活函数from sklearn.linear_model import LogisticRegression
备注(助理解)Logistic函数在不同跨度下观察,其图像可出现线性或阶跃的形态;需要损失函数+梯度下降等优化方法调整模型参数。
KNN分类算法简单,可实现在线训练对样本分布比较敏感模式识别(如OCR);文本分类;多分类领域from sklearn.neighbors import KNeighborsClassifier
备注(助理解)KNN算法中“多数表决”和距离的计算是关键;K的确定一般依靠具体问题和经验来决定。
朴素贝叶斯分类算法可解释性强,对于大规模数据集训练效率高假设特征“相互独立”,但实际若违背假设将导致预测偏差垃圾邮件分类;以及其他文本分类from sklearn.naive_bayes import MultinomialNB
备注(助理解)该算法会涉及到先验概率、后验概率、条件概率、似然度。一般令朴素贝叶斯算法求的是后验概率。“朴素”是指在使用算法时给问题作了假设,比如假设特征相互独立等。对结果的判断也是看的概率。
决策树分类算法算法逻辑清晰,树形结构易可视化容易过拟合,特征相互关联时易对结果造成影响相关“决策”领域,如商业决策等from sklearn.tree import DecisionTreeClassifier
备注(助理解)决策树算法指的是一类算法,比如具有代表性的决策树算法有:ID3、C4.5、CART等。这类算法关键在于决策条件的选择(机器选择+人工完善)、提高“纯度”(一组中某一类的占比)。决策条件从数据特征中来,可依靠“信息增益”、“增益率”、“基尼指数”方法来选择等。对于“过拟合”的问题,可通过前期或后期删除相关决策条件来改善。
支持向量机分类算法能解决非线性问题,适合小样本分类对非线性问题缺乏通解,核函数有时难找广泛用于各种分类问题,如文本分类等from sklearn.svm import SVC
备注(助理解)支持向量机分类重点要关注最大间隔、高维映射、核函数,其中核函数就是用来完成高维映射的。将“非线性的问题”转换为“线性问题”再解决。一般使用拉格朗日乘子法搭配SMO算法使间隔最大。
K-means聚类算法简单,运算效率高需要人为根据经验决定簇的个数;只适合数值类型数据;对孤立点敏感;适用于特征纬度为数值型的聚类问题from sklearn.cluster import KMeans
备注(助理解)是无监督算法,但和KNN在某些方面类似,比如“多数表决”“距离度量”等。但K-means方法需要不断更新质心,直达质心不再变化,通过计算均值来确定质心。
神经网络分类算法网络结果拓展性好,通过调参可能会有意想不到的效果可解释性差,调参依赖经验,可能陷入局部最优解应用领域广,如图像处理、语音识别、自然语言处理等from sklearn.neural_network import MLPClassifier
备注(助理解)关键理解“节点”、“激活函数”、“正向传播”、“反向传播”、“权值更新”。具有代表性的激活函数有:Sigmoid函数、Tanh函数、ReLu函数。
集成学习方法可以集合多种机器学习算法的长处部分算法易出现过拟合、学习时间长、可解释性差(因算法而异)分类问题、回归问题、特征选取和异常点检测等from sklearn.ensemble import RandomForestClassifier/GradientBoostingClassifier/AdaBoostClassifier(随机森林或GBDT或Adaboost算法)
备注(助理解):集成学习中可分为“串联学习”、“并联学习”,并联是指集成中的各学习器训练是同时进行的,串联是各学习器依次学习,前一个会把学习后的结果传给后一个学习器;而将结果集成的方法有:平均法和投票法;集成学习中常见的有:Bagging算法、Boosting算法、Stacking算法。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值