机器学习 朴素贝叶斯的优点: 对小规模的数据表现很好,适合多分类任务,适合增量式训练。 缺点: 对输入数据的表达形式很敏感。 决策树的优点: 计算量简单,可解释性强,比较适合处理有缺失属性值的样本,能够处理不相关的特征; 缺点: 容易过拟合(后续出现了随机森林,减小了过拟合现象); Logistic回归优点: 1、实现简单; 2、分类时计算量非常小,速度很快,存储资源低; 缺点: 1、容易欠拟合,一般准确度不太高 2、只能处理两分类问题(在此基础上衍生出来的softmax可以用于多分类),且必须线性可分; 线性回归优点: 实现简单,计算简单; 缺点: 不能拟合非线性数据; KNN算法的优点: 1. 思想简单,理论成熟,既可以用来做分类也可以用来做回归; 2. 可用于非线性分类; 3. 训练时间复杂度为O(n); 4. 准确度高,对数据没有假设,对outlier不敏感; 缺点: 1. 计算量大; 2. 样本不平衡问题(即有些类别的样本数量很多,而其它样本的数量很少); 3. 需要大量的内存; SVM算法优点: 可用于线性/非线性分类,也可以用于回归; 低泛化误差; 容易解释; 计算复杂度较低; 缺点: 对参数和核函数的选择比较敏感; 原始的SVM只比较擅长处理二分类问题; Boosting算法的优点: 低泛化误差; 容易实现,分类准确率较高,没有太多参数可以调; 缺点: 对outlier比较敏感; k-means算法的优点: (1)k-means算法是解决聚类问题的一种经典算法,算法简单、快速。 (2)对处理大数据集,该算法是相对可伸缩的和高效率的,因为它的复杂度大约是O(nkt),其中n是所有对象的数目,k是簇的数目,t是迭代的次数。通常k<<n。这个算法通常局部收敛。 (3)算法尝试找出使平方误差函数值最小的k个划分。当簇是密集的、球状或团状的,且簇与簇之间区别明显时,聚类效果较好。 缺点: (1)k-平均方法只有在簇的平均值被定义的情况下才能使用,且对有些分类属性的数据不适合。 (2)要求用户必须事先给出要生成的簇的数目k。 (3)对初值敏感,对于不同的初始值,可能会导致不同的聚类结果。 (4)不适合于发现非凸面形状的簇,或者大小差别很大的簇。 (5)对于"噪声"和孤立点数据敏感,少量的该类数据能够对平均值产生极大影响。 |