视频要点
P20 分类问题的概述与解决方案
- 回归预测连续值,分类预测离散值
- 不同类别预测错误的代价不相同
- 真阳性TP:预测值和真实值都为正例;
- 真阴性TN:预测值与真实值都为正例;
- 假阳性FP:预测值为正,实际值为负;
- 假阴性FN:预测值为负,实际值为正;
- 混淆矩阵(Confusion Matrix):混淆矩阵的每一列代表了预测类别,每一列的总数表示预测为该类别的数据的数目;每一行代表了数据的真实归属类别,每一行的数据总数表示该类别的数据实例的数目。
-
分类模型的指标:
- 准确率:分类正确的样本数占总样本的比例,即:
A
C
C
=
T
P
+
T
N
F
P
+
F
N
+
T
P
+
T
N
ACC = \frac{TP+TN}{FP+FN+TP+TN}
ACC=FP+FN+TP+TNTP+TN?.
- 精度:预测为正且分类正确的样本占预测值为正的比例,即:
P
R
E
=
T
P
T
P
+
F
P
PRE = \frac{TP}{TP+FP}
PRE=TP+FPTP?.
- 召回率:预测为正且分类正确的样本占类别为正的比例,即:
R
E
C
=
T
P
T
P
+
F
N
REC = \frac{TP}{TP+FN}
REC=TP+FNTP?.
- F1值:综合衡量精度和召回率,即:
F
1
=
2
P
R
E
×
R
E
C
P
R
E
+
R
E
C
F1 = 2\frac{PRE\times REC}{PRE + REC}
F1=2PRE+RECPRE×REC?.
- ROC曲线:以假阳率为横轴,真阳率为纵轴画出来的曲线,曲线下方面积越大越好。
-
sklearn中的指标
P21 逻辑回归
见作业1
P22 基于概率的分类模型:线性判别分析与朴素贝叶斯
- 线性判别分析:
- 基于贝叶斯公式对线性判别分析的理解:
- 贝叶斯公式:
P
(
Y
=
k
∣
X
=
x
)
=
π
k
f
k
(
x
)
∑
l
=
1
K
π
l
f
l
(
x
)
{P(Y=k|X=x) = \dfrac{{\pi}_kf_k(x)}{\sum\limits_{l=1}^K{\pi}_lf_l(x)}}
P(Y=k∣X=x)=l=1∑K?πl?fl?(x)πk?fk?(x)?
- 总共有
K
K
K类,
π
k
{\pi_k}
πk?为随机选择的观测来自第
k
{k}
k类的 先验概率,也就是样本里面第
k
{k}
k类的样本个数除以总样本的个数:
π
k
=
n
k
n
{\pi_k = \dfrac{n_k}{n}}
πk?=nnk??。(容易求)
-
f
k
(
x
)
=
P
(
X
=
x
∣
Y
=
k
)
{f_k(x) =P(X=x|Y=k)}
fk?(x)=P(X=x∣Y=k)是在
Y
=
k
{Y=k}
Y=k的样本里
X
=
x
{X=x}
X=x的样本个数,即
f
k
(
x
)
=
P
(
X
=
x
∣
Y
=
k
)
=
n
(
X
=
x
,
Y
=
k
)
n
(
Y
=
k
)
{f_k(x) = P(X=x|Y=k) = \dfrac{n_{(X=x,Y=k)}}{n_{(Y=k)}}}
fk?(x)=P(X=x∣Y=k)=n(Y=k)?n(X=x,Y=k)??
-
∑
l
=
1
K
π
l
f
l
(
x
)
=
P
(
X
=
x
)
=
n
(
X
=
x
)
n
{\sum\limits_{l=1}^K{\pi}_lf_l(x)}=P(X=x)=\dfrac{n_{(X=x)}}{n}
l=1∑K?πl?fl?(x)=P(X=x)=nn(X=x)??是样本中
X
=
x
{X=x}
X=x的概率
- 在
P
(
Y
=
k
∣
X
=
x
)
=
π
k
f
k
(
x
)
∑
l
=
1
K
π
l
f
l
(
x
)
{P(Y=k|X=x) = \dfrac{{\pi}_kf_k(x)}{\sum\limits_{l=1}^K{\pi}_lf_l(x)}}
P(Y=k∣X=x)=l=1∑K?πl?fl?(x)πk?fk?(x)?这个公式中,分母
∑
l
=
1
K
π
l
f
l
(
x
)
=
P
(
X
=
x
)
{{\sum\limits_{l=1}^K{\pi}_lf_l(x)} = P(X=x)}
l=1∑K?πl?fl?(x)=P(X=x)当样本给定的时候是一个与分类
k
{k}
k无关的常数,所以我们的问题可以简化为只需要计算分子
π
k
f
k
(
x
)
{{\pi}_kf_k(x)}
πk?fk?(x),进而比较哪个类别的概率最大就知道属于哪个类别
- 基于降维分类的思想理解线性判别分析:
- 先降维,在分类,希望投影之后所有正类挨得很近,所有负类也挨得很近,但是正类和负类之间相距尽可能远。简称为:类内方差小,类间方差大,在计算机语言叫“松耦合,高内聚”。
- 朴素贝叶斯:
- 朴素贝叶斯假设各个特征之间是不相关的,相当于对线性判别分析做了进一步简化。根据偏差-方差理论,朴素贝叶斯比线性判别分析模型的方差小,偏差大。
- 实际中使用朴素贝叶斯的案例非常多,甚至多于线性判别分析,例如鼎鼎大名的新闻分类,垃圾邮件分类等。
作业
1. 回归问题和分类问题的联系和区别,如何利用回归问题理解分类问题?
- 分类问题与回归问题的区别:回归问题与分类问题需要预测的因变量不一样。在回归问题中,因变量是连续性变量,我们需要预测
E
(
Y
∣
X
)
E(Y|X)
E(Y∣X)是一个连续的实数,但是在分类问题中,我们往往是通过已知X的信息预测Y的类别,往往是一个离散集合中的某个元素。
- 用回归问题解决分类问题:
- 回归问题,如线性回归,其预测结果的范围是
[
?
∞
,
+
∞
]
\left[ -\infty, +\infty \right]
[?∞,+∞],但分类问题的输出结果是一个实例属于某个类别的概率,其范围应是
[
0
,
1
]
\left[ 0, 1 \right]
[0,1]。所以要想用回归解决分类问题,首先要想办法将回归的预测结果映射到
[
0
,
1
]
\left[ 0, 1 \right]
[0,1]之间。典型方法就是使用logistic 函数,具体的形式为
p
(
X
)
=
e
β
0
+
β
1
X
1
+
e
β
0
+
β
1
X
{p(X) = \dfrac{e^{\beta_0 + \beta_1X}}{1+e^{\beta_0 + \beta_1X}}}
p(X)=1+eβ0?+β1?Xeβ0?+β1?X?,图像如下图所示。
- logistic回归用于多分类问题效果不好,需要借助其它模型。
2. 为什么分类问题的损失函数可以是交叉熵而不是均方误差?
参考:
3. 线性判别分析和逻辑回归在估计参数方面有什么异同点?
4. 尝试从0推导SVM。
5. 二次判别分析,线性判别分析,朴素贝叶斯之间的联系和区别?
6. 使用python+numpy实现逻辑回归。
7. 了解梯度下降,牛顿法,拟牛顿法与SMO算法等优化算法。
|