1 模型工作原理
机器学习学习模型主要分为监督学习、无监督学习、半监督学习和强化学习,本文聚焦探讨目前应用最为广泛的监督学习问题,下午如未特殊指明,机器学习特指有监督学习机器学习。
众所周知,监督学习模型是通过一定数学原理,根据输入特征数据计算出预测结果的函数映射,它由自变量、函数参数和因变量组成。其中,自变量是输入模型的特征数据,模型参数分普通参数和超参数两种,因变量是模型计算出的预测结果。
超参数直接由开发者人工给定;而普通参数由观测到的训练集数据估计得到,估计过程首先由映射函数构建出目标函数,再借助参数优化方法逐步找到令目标函数最佳的参数取值,这一过程成为模型训练。
2 模型创建方法
由上所述,可以总结出创建一种机器学习算法的三要素为:
- 映射函数建立方法
- 目标函数构造方法
- 参数优化方法
2.1 映射函数建立方法
根据预测生效的数学原理不同,机器学习模型可分为概率模型(probabilistic model)和非概率模型(non-probabilistic model)两种。概率模型的映射函数由条件概率分布 P ( Y ∣ X ; θ ) P(Y|X; \theta) P(Y∣X;θ) 表示,非概率模型的映射函数由决策函数(decision function) Y = f ( X ) Y = f(X) Y=f(X) 表示。概率模型和非概率模型可以相互转化,条件概率分布最大化后得到决策函数,决策函数归一化后得到条件概率分布;例如属于非概率模型的线性回归算法,决策函数输入Sigmoid激活函数归一化后可转变为条件概率分布,成为概率模型逻辑回归算法的映射函数。
2.2 目标函数建立方法
假设我们观测到数据集 D = ( x i , y i ) i = 1 n D={(x_{i}, y_{i})_{i=1}^{n}} D=(xi,yi)i=1n,用于模型训练。
2.2.1 概率模型目标函数建立方法
概率模型目标函数建立有两种常用方法,一种是假设映射参数给定,最大化观测样本预测正确的概率,称作最大似然估计;另一种是假设数据给定,最大化见到最佳映射参数的概率,称作最大后验估计。
最大似然估计:
对于概率模型,自然能想到对数据集D中所有样本预测正确概率最高时,模型效果最优,可作为优化目标。概率模型,对数据集D单个样本预测正确的概率为
P
(
y
i
∣
x
i
;
θ
)
,
x
i
∈
X
P(y_{i}|x_{i}; \theta), x_{i} \in X
P(yi∣xi;θ),xi∈X,对所有样本预测正确概率的合计为
∏
i
=
1
n
P
(
y
i
∣
x
i
;
θ
)
\prod_{i=1}^{n} P(y_{i}|x_{i}; \theta)
∏i=1nP(yi∣xi;θ) ,因此概率模型的目标函数可定义为:
θ
^
=
a
r
g
m
a
x
∏
i
=
1
n
P
(
y
i
∣
x
i
;
θ
)
\hat{\theta} = argmax\prod_{i=1}^{n} P(y_{i}|x_{i}; \theta)
θ^=argmaxi=1∏nP(yi∣xi;θ)
因为对数函数在(0, 1)区间为单调递增函数,为简化计算,不妨将目标函数改写为:
θ
^
=
a
r
g
m
a
x
∑
i
=
1
n
l
o
g
(
P
(
y
i
∣
x
i
;
θ
)
)
\hat{\theta} = argmax\sum_{i=1}^{n} log(P(y_{i}|x_{i}; \theta))
θ^=argmaxi=1∑nlog(P(yi∣xi;θ))
参数优化中,最大化问题一般统一改写成最小化问题以方便计算,因此目标函数可进一步简化为:
θ
^
=
a
r
g
m
i
n
−
∑
i
=
1
n
l
o
g
(
P
(
y
i
∣
x
i
;
θ
)
)
\hat{\theta} = argmin-\sum_{i=1}^{n} log(P(y_{i}|x_{i}; \theta))
θ^=argmin−i=1∑nlog(P(yi∣xi;θ))
最大后验估计:
2.2.2 非概率模型目标函数建立方法
对于非概率模型,自然能想到决策函数值与数据集D中样本标签差距最小时,模型预测效果最优,可作为优化目标。决策函数预测值与样本标签的差距,常用平方损失函数(quadratic loss function)或绝对损失函数(absolute loss function)度量,它们是常用损失函数(loss function)的一种,用来度量模型一次预测的好坏。
- 平方方损失函数(quadratic loss function)
L ( Y , f ( X ; θ ) ) = ( Y − f ( X ; θ ) ) 2 L(Y, f(X;\theta)) = (Y - f(X;\theta))^{2} L(Y,f(X;θ))=(Y−f(X;θ))2 - 绝对损失函数(absolute loss function)
L ( Y , f ( X ; θ ) ) = ∣ Y − f ( X ; θ ) ∣ L(Y, f(X;\theta)) = | Y - f(X;\theta) | L(Y,f(X;θ))=∣Y−f(X;θ)∣
损失函数值越小,模型就越好,所以非概率模型的目标函数可定义为:
θ
^
=
a
r
g
m
i
n
1
n
∑
i
=
1
n
L
(
y
i
,
f
(
x
i
;
θ
)
)
\hat{\theta} = argmin \frac{1}{n} \sum_{i=1}^{n} L(y_{i}, f(x_{i};\theta))
θ^=argminn1i=1∑nL(yi,f(xi;θ))
2.2.3 模型目标函数建立方法的统一性
若根据信息论原理,提炼出对数似然损失函数(log-likelihood loss function):
L
(
Y
,
P
(
Y
∣
X
;
θ
)
)
=
−
l
o
g
(
P
(
Y
∣
X
;
θ
)
)
L(Y, P(Y|X;\theta)) = -log(P(Y|X;\theta))
L(Y,P(Y∣X;θ))=−log(P(Y∣X;θ))
那么不难发现
a
r
g
m
i
n
1
n
∑
i
=
1
n
−
l
o
g
(
P
(
Y
∣
X
;
θ
)
)
argmin\frac{1}{n} \sum_{i=1}^{n} -log(P(Y|X;\theta))
argminn1∑i=1n−log(P(Y∣X;θ)) 与
a
r
g
m
i
n
−
∑
i
=
1
n
l
o
g
(
P
(
y
i
∣
x
i
;
θ
)
)
argmin-\sum_{i=1}^{n} log(P(y_{i}|x_{i}; \theta))
argmin−∑i=1nlog(P(yi∣xi;θ)) 等效,估计得到的
θ
^
\hat{\theta}
θ^ 相同。
2.3 参数优化方法
凸优化,梯度下降法