摘要: 在实际机器学习应用中, 不但要进行模型的训练, 还要进行输入参数的控制. 本文描述了一般性的过程, 仅供参考.
对于一个输入为
m
m
m 个特征, 输出为一个决策指标, 可以建立机器学习模型
f
:
R
m
→
R
(1)
f: \mathbb{R}^m \to \mathbb{R} \tag{1}
f:Rm→R(1)
其中
R
\mathbb{R}
R 为实数集合. 如果不同的特征有自己的取值范围, 则该机器学习模型可以表示为
f
:
∏
i
=
1
m
V
i
→
R
(2)
f: \prod_{i=1}^m \mathbf{V}_i \to \mathbb{R} \tag{2}
f:i=1∏mVi→R(2)
其中
V
i
\mathbf{V}_i
Vi 是第
i
i
i 个特征的取值范围.
简单起见, 下文仅讨论 (1) 式所对应的模型.
给定含有
n
n
n 个实例的特征矩阵
X
=
[
x
1
,
…
,
x
n
]
T
∈
R
n
×
m
\mathbf{X} = [\mathbf{x}_1, \dots, \mathbf{x}_n]^{\mathrm{T}} \in \mathbb{R}^{n \times m}
X=[x1,…,xn]T∈Rn×m 和相应的标签向量
Y
∈
R
n
\mathbf{Y} \in \mathbb{R}^n
Y∈Rn, 机器学习的优化目标一般可以表示为
min
f
L
(
f
(
X
)
,
Y
)
+
R
(
f
)
(3)
\min_f \mathcal{L}(f(\mathbf{X}), \mathbf{Y}) + R(f) \tag{3}
fminL(f(X),Y)+R(f)(3)
其中
f
(
X
)
=
[
f
(
x
1
)
,
…
,
f
(
x
n
)
]
f(\mathbf{X}) = [f(\mathbf{x}_1), \dots, f(\mathbf{x}_n)]
f(X)=[f(x1),…,f(xn)] 为预测的标签的向量,
R
(
f
)
R(f)
R(f) 为
f
f
f 中参数的正则项. 如果优化目标是一个凸函数, 则可以使用梯度下降法很快找到最优解. 对于正则项:
对于一些实际问题, 输入特征有些是客观的, 有些是是可控的. 不失一般性, 令前
m
1
m_1
m1 个特征为客观的, 后
m
2
m_2
m2 个特征是可控的 (因此我们也将其称为参数),
m
1
+
m
2
=
m
m_1 + m_2 = m
m1+m2=m. 假设已经通过大量的数据训练出一个可靠的机器学习模型
f
f
f, 且我们期望最大化决策指标. 给定客观特征向量
x
b
∈
R
m
1
\mathbf{x}_b \in \mathbb{R}^{m_1}
xb∈Rm1, 参数优化的目标函数为
arg max
x
u
∈
R
m
2
f
(
x
b
∥
x
u
)
(4)
\argmax_{\mathbf{x_u} \in \mathbb{R}^{m_2}} f(\mathbf{x}_b \| \mathbf{x}_u)\tag{4}
xu∈Rm2argmaxf(xb∥xu)(4)
其中
∥
\|
∥ 表示将向量拼接操作.