优化算法的分类
分类算法的方式有多种多样,并没有一个统一的标准,这里只是其中一种形式。上图参考自这里。
损失函数
损失函数被称为 cost function, object function, loss function等,这里不区分几种用法的微小区别。
机器学习离不开目标函数,我们分析一下目标函数:
其中,前一项是经验风险,后一项是结构风险。前者是为了增加 ML 对已有系统的 fitting,后者是尽量减少 ML 模型的复杂度,以避免 overfitting。整个损失函数称为正则化经验风险最小化(R-ERM),对其进行简化:
假设优化算法在其结束时的第 T 步选代中输出的模型是
w
T
w_T
wT,
w
∗
=
a
r
g
m
i
n
w
f
(
w
)
w^*=argmin_w f(w)
w∗=argminwf(w),一个有效的优化算法会随着法代的进行使输出的模型
w
T
w_T
wT 越来越接近于最优模型
w
∗
w^*
w∗ :
ε
(
T
)
→
0
\varepsilon(T) \rightarrow 0
ε(T)→0则算法是收敛的。通常使用
l
o
g
(
ε
(
T
)
)
log(\varepsilon(T))
log(ε(T))来评价收敛率,如果其与 T 同阶,则该算法具有线性收敛率,如果小于 T 称为次线性收敛率,如果大于 T 则称为 超线性收敛率。然而,正则化风险最小化的优化算法并不一定总是收敛的,需要目标函数具有相对良好的性质,为此我们需要引人一些基木的假设条件 。例如,我们一般假设 R-ERM 具有凸性、光滑性,凸优化问题已经被人们很好的掌握了,利用凸函数可以比较好的对损失进行分析:
其中,w,v是f的两个参数(自变量)。相对的强凸函数为:
其中,||.||是范数,上式称为
α
−
\alpha-
α−强凸(strong convex)。
另外,我们可以利用 Lipschitz 性质来描述一个函数的光滑性(smooth,函数的一个小变量,带来函数值的小变化,不出现跳跃),如果函数的变化值满足:
则称 f 是关于 模 || || 是 Lipschitz 连续的。对于可导函数,其光滑性依赖其可导性:
称上式为
β
−
\beta-
β−光滑的,它和
α
−
\alpha-
α−强凸的形式是一样的。