有监督学习
- 数据集有标记(答案)
- 若预测的值是离散值,如年龄,此类学习任务称为“分类”
- 若预测的值是连续值,如房价,此类学习任务称为“回归”
线性回归
线性回归是在样本属性和标签中找到一个线性关系的方法,根据训练数据找到一个线性模型,使得模型产生的预测值与样本标 签的差距最小。
若用表示第𝑘个样本的第𝑖个属性,则线性模型一般形式为:
f
(
x
k
)
=
w
1
x
1
k
+
w
2
x
2
k
+
⋯
+
w
m
x
m
k
+
b
=
∑
i
=
1
m
w
i
x
i
k
+
b
f(x^k) = w_1x_1^k+w_2x_2^k+\cdots+w_mx_m^k+b = \sum_{i=1}^m w_ix_i^k+b
f(xk)=w1x1k+w2x2k+⋯+wmxmk+b=i=1∑mwixik+b
线性回归学习的对象就是权重向量𝑤和偏置向量𝑏。如果用最小均方 误差来衡量预测值与样本标签的差距,那么线性回归学习的目标可以表示为:
(
w
∗
,
b
∗
)
=
a
r
g
m
i
n
(
w
,
b
)
∑
k
=
1
n
(
f
(
x
k
)
−
y
k
)
2
=
a
r
g
m
i
n
(
w
,
b
)
∑
k
=
1
n
(
w
T
x
k
+
b
−
y
k
)
2
(w^*,b^*) = argmin_{(w,b)}\sum_{k = 1}^n(f(x^k)-y^k)^2 = argmin_{(w,b)}\sum_{k = 1}^n(w^Tx^k+b-y^k)^2
(w∗,b∗)=argmin(w,b)k=1∑n(f(xk)−yk)2=argmin(w,b)k=1∑n(wTxk+b−yk)2
逻辑回归
逻辑回归是利用𝑠𝑖𝑔𝑚𝑜𝑖𝑑函数,将线性回归产生的预测值压缩到0和1之间。此时将𝑦视作样本为正例的可能性,即
g
(
f
(
x
k
)
)
=
{
1
,
1
1
+
e
−
(
w
T
x
k
+
b
)
≥
0.5
0
,
o
t
h
e
r
w
i
s
e
g(f(x^k))= \left\{\begin{array}{l} 1, \frac{1}{1+e^{-(w^Tx^k+b)}}\geq 0.5 \\ 0, otherwise \end{array}\right.
g(f(xk))={1,1+e−(wTxk+b)1≥0.50,otherwise
注意,逻辑回归本质上属于分类算法,sigmoid函数的具体表达形式为:
g
(
x
)
=
1
1
+
e
−
x
g(x) = \frac{1}{1+e^{-x}}
g(x)=1+e−x1.
支持向量机
支持向量机是有监督学习中最具有影响力的方法之一,是基于线性判别函数的一种模型。
SVM基本思想:对于线性可分的数据,能将训练样本划分开的超平 面有很多,于是我们寻找“位于两类训练样本正中心的超平面”, 即margin最大化。从直观上看,这种划分对训练样本局部扰动的承 受性最好。事实上,这种划分的性能也表现较好。
下面我们以线性分类为例:二类可分数据集, 其中 y = 1 y=1 y=1 和 y = − 1 y= -1 y=−1 分别表示两类样本,定义分类的超平面 f ( x ) = w T x + b f(x)=w^Tx+b f(x)=wTx+b(决策边界 decision boundary) , “最合适”的分类标准就是使得超平面距离两边数据的间隔最大。
记
γ
\gamma
γ 为样本 x 到超平面的距离,那么有
x
=
x
0
+
γ
w
∥
w
∥
γ
=
w
T
x
+
b
∥
w
∥
=
f
(
x
)
w
\begin{align} x &= x_0 + \gamma \frac{w}{\|w\|} \\ \gamma &= \frac{w^Tx + b}{\|w\|} = \frac{f(x)}{w} \end{align}
xγ=x0+γ∥w∥w=∥w∥wTx+b=wf(x)
目标函数:
arg
max
w
,
b
arg
min
x
i
∈
D
∣
w
T
x
i
+
b
∣
∑
i
=
1
d
w
i
2
s
.
t
.
∀
x
i
∈
D
,
y
i
(
w
T
x
i
+
b
)
≥
0
\arg \max_{w,b} \arg \min_{x_i \in D} \frac{|w^Tx_i+b|}{\sqrt{\sum_{i = 1}^dw_i^2}} \\s.t. \forall x_i \in D,y_i(w^Tx_i+b)\geq 0
argw,bmaxargxi∈Dmin∑i=1dwi2∣wTxi+b∣s.t.∀xi∈D,yi(wTxi+b)≥0
通常为方便优化,我们选择加强约束条件:
∀
x
i
∈
D
,
∣
w
T
x
i
+
b
∣
≥
1
\forall x_i \in D,|w^Tx_i+b| \geq 1
∀xi∈D,∣wTxi+b∣≥1.
那么,原问题可以近似为:
arg
min
w
,
b
1
2
∑
i
=
1
d
w
i
2
s
.
t
.
∀
x
i
∈
D
,
∣
w
T
x
i
+
b
∣
≥
1
\arg \min_{w,b} \frac{1}{2}\sum_{i = 1}^d w_i^2\\s.t. \forall x_i \in D,|w^Tx_i+b| \geq 1
argw,bmin21i=1∑dwi2s.t.∀xi∈D,∣wTxi+b∣≥1
对于线性不可分的数据集,我们可以做下面的操作
- 特征空间存在超曲面(hypersurface)将正类和负类分开
- 核函数(kernelfunction)
- 使用非线性函数将非线性可分问题从原始的特征空间映射至更高维
- 决策边界的超平面表示为 w T ϕ ( x ) + b = 0 w^T \phi(x)+b = 0 wTϕ(x)+b=0.
- 定义映射函数的内积为核函数 K ( X i , x j ) = ϕ ( x i ) T ϕ ( x j ) K(X_i,x_j) = \phi(x_i)^T \phi(x_j) K(Xi,xj)=ϕ(xi)Tϕ(xj).
决策树
决策树是一种基于树结构进行决策的机器学习方法,这恰是人类面临决策 时一种很自然的处理机制。
- 在这些树的结构里,叶子节点给出类标而内部节点代表某个属性;
- 例如,银行在面对是否借贷给客户的问题时,通常会进行一系列的决 策。银行会首先判断:客户的信贷声誉是否良好?良好的话,再判断 客户是否有稳定的工作? 不良好的话,可能直接拒绝,也可能判断客 户是否有可抵押物?..这种思考过程便是决策树的生成过程。
决策树的生成过程中,最重要的因素便是根节点的选择,即选择哪种特征作为决策因素:ID3算法使用信息增益作为准则。
随机森林
-
集成学习(Ensemblelearning)
- 组合多个弱监督模型以期得到一个更好更全面的强监督模型,集成学 习潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分 类器也可以将错误纠正回来。
-
随机森林用随机的方式建立起一棵棵决策树,然后由这些决策树组成 一个森林,其中每棵决策树之间没有关联,当有一个新的样本输入 时,就让每棵树独立的做出判断,按照多数原则决定该样本的分类 结果。
随机森林构建的基本步骤
- 随机有放回地从训练集中的抽取m个训练样本,训练集 D t D_t Dt.
- 从 D t D_t Dt 对应的特征属性中随机选择部分特征,构建决策树
- 重复上述步骤构建多个决策树
预测步骤
- 向建立好的随机森林中输入一个新样本
- 随机森林中的每棵决策树都独立的做出判断
- 将得到票数最多的分类结果作为该样本最终的类别
无监督学习
- 数据集没有标记信息(自学)
- 聚类:我们可以使用无监督学习来预测各样本之间的关联度,把关 联度大的样本划为同一类,关联度小的样本划为不同类,这便是 “聚类”
- 降维:我们也可以使用无监督学习处理数据,把维度较高、计算复 杂的数据,转化为维度低、易处理、且蕴含的信息不丢失或较少丢 失的数据,这便是“降维”
聚类
聚类的目的是将数据分成多个类别,在同一个类内,对象(实体)之间具 有较高的相似性,在不同类内,对象之间具有较大的差异。
对一批没有类别标签的样本集,按照样本之间的相似程度分类,相似的归为一类,不相似的归为其它类。这种分类称为聚类分析,也 称为无监督分类
常见方法有K-Means聚类、均值漂移聚类、基于密度的聚类等
K-means聚类是一个反复迭代的过程,算法分为四个步骤:
- 选取数据空间中的K个对象作为初始中心,每个对象代表一个聚 类中心;
- 对于样本中的数据对象,根据它们与这些聚类中心的欧氏距离, 按距离最近的准则将它们分到距离它们最近的聚类中心(最相似) 所对应的类;
- 更新聚类中心:将每个类别中所有对象所对应的均值作为该类别 的聚类中心,计算目标函数的值;
- 判断聚类中心和目标函数的值是否发生改变,若不变,则输出结 果,若改变,则返回2)。
降维
降维的目的就是将原始样本数据的维度𝑑降低到一个更小的数𝑚,且尽量使得样本蕴含信息量损失最小,或还原数据时产生的误差最小。比如主成分分析法…
降维的优势:
- 数据在低维下更容易处理、更容易使用;
- 相关特征,特别是重要特征更能在数据中明确的显示出来;
- 如果只有二维或者三维的话,能够进行可视化展示;
- 去除数据噪声,降低算法开销等。