详细:https://www.julyedu.com/question/big/kp_id/23/ques_id/2533
贝叶斯分类法
优点:
对小规模的数据表现良好,适合多分类任务,适合增量式训练
1)所需估计的参数少,对于缺失数据不敏感。
2)有着坚实的数学基础,以及稳定的分类效率。
缺点:
对输入数据的表达形式很敏感
1)假设属性之间相互独立,这往往并不成立。(喜欢吃番茄、鸡蛋,却不喜欢吃番茄炒蛋)。
2)需要知道先验概率。
3)分类决策存在错误率。
决策树
信息熵的计算公式:
H
=
−
∑
i
=
1
n
p
(
x
i
)
l
o
g
2
(
p
(
x
i
)
)
H=-\sum_{i=1}^np(x_i)log_2(p(x_i))
H=−i=1∑np(xi)log2(p(xi))
优点:
计算量简单,可解释性强,比较适合处理有缺失属性值的样本,能够处理不相关的特征;
1)不需要任何领域知识或参数假设。
2)适合高维数据。
3)简单易于理解。
4)短时间内处理大量数据,得到可行且效果较好的结果。
5)能够同时处理数据型和常规性属性。
缺点:
1)对于各类别样本数量不一致数据,信息增益偏向于那些具有更多数值的特征。
2)易于过拟合。
3)忽略属性之间的相关性。
4)不支持在线学习。
支持向量机(SVM)
损失函数:Hinge loss
优点:
1)可以解决小样本下机器学习的问题。
2)提高泛化性能。
3)可以解决高维、非线性问题。超高维文本分类仍受欢迎。
4)避免神经网络结构选择和局部极小的问题。
缺点:
1)对缺失数据敏感。
2)内存消耗大,难以解释。
3)运行和调差略烦人。
K近邻
优点:
1)思想简单,理论成熟,既可以用来做分类也可以用来做回归;
2)可用于非线性分类;
3)训练时间复杂度为O(n);
4)准确度高,对数据没有假设,对outlier不敏感;
缺点:
1)计算量太大
2)对于样本分类不均衡的问题,会产生误判。
3)需要大量的内存。
4)输出的可解释性不强。
Logistic回归
Logistic是用来分类的,是一种线性分类器
1、logistic函数表达式:
其导数为
g
(
z
)
=
g
(
z
)
(
1
−
g
(
z
)
)
g(z)=g(z)(1-g(z))
g(z)=g(z)(1−g(z));
2、logisstic回归方法主要是用最大似然估计来学习的
单个样本的后验概率为:
整个样本的后验概率为:
其中:
化简
L
(
θ
)
L(\theta)
L(θ):
3、损失函数:
−
l
(
θ
)
-l(\theta)
−l(θ)
我们要使损失函数最小,使用梯度下降法
logistic求解
θ
\theta
θ,可以使用梯度下降,
α
\alpha
α为学习率:
θ
j
:
θ
j
+
α
(
y
(
i
)
−
h
0
(
x
i
)
)
x
j
(
i
)
\theta_j: \theta_j+\alpha(y^{(i)}-h_0{(x^i)})x_j^{(i)}
θj:θj+α(y(i)−h0(xi))xj(i)
优点:
实现简单,计算量小
1)速度快。
2)简单易于理解,直接看到各个特征的权重。
3)能容易地更新模型吸收新的数据。
4)如果想要一个概率框架,动态调整分类阀值。
缺点:
容易欠拟合,准确度不高
只能处理两分类问题,且必须线性可分(在此基础上衍生出来的softmax可以用于多分类)
特征处理复杂。需要归一化和较多的特征工程。
神经网络
优点:
1)分类准确率高。
2)并行处理能力强。
3)分布式存储和学习能力强。
4)鲁棒性较强,不易受噪声影响。
缺点:
1)需要大量参数(网络拓扑、阀值、阈值)。
2)结果难以解释。
3)训练时间过长。
Adaboost
损失函数:指数损失
优点:
1)adaboost是一种有很高精度的分类器。
2)可以使用各种方法构建子分类器,Adaboost算法提供的是框架。
3)当使用简单分类器时,计算出的结果是可以理解的。而且弱分类器构造极其简单。
4)简单,不用做特征筛选。
5)不用担心overfitting。
缺点:
对outlier比较敏感
参考:https://blog.csdn.net/timcompp/article/details/61209027