C07. 优化算法
7.1 有监督学习的损失函数
二分类问题的损失函数
- 0-1损失函数:$L_{0-1}(f,y)=1_{fy\leqslant0}$
- $1_P$ 是指示函数(Indicator Function):当且仅当 $P$ 为真时取值为1,否则取值为0
- 函数是非凸、非光滑、不能用梯度下降法优化
- 0-1损失函数的代理损失函数
- Hinge损失函数:$L_{\text{hinge}}(f,y)=\max{0,1-fy}$
- 0-1损失函数相对紧的凸上界,在 $fy=1$ 处不可导,不能用梯度下降法优化,而是用次梯度下降法优化
- Logistic损失函数:$L_{\text{logistic}}=\log_2(1+\exp{-fy})$
- 0-1损失函数的光滑凸上界,可以用梯度下降法优化,对异常值相对更敏感一些
- Cross-Entropy损失函数:$L_{\text{corss entropy}}(f,y)=-\log_2(\frac{1+fy}2)$
- 0-1损失函数的光滑凸上界,可以用梯度下降法优化
- Hinge损失函数:$L_{\text{hinge}}(f,y)=\max{0,1-fy}$
回归问题的损失函数
- 平方损失函数:$L_{\text{square}}(f,y)=(f-y)^2$
- 平方损失函数是光滑的,可以用梯度下降法优化,做均值回归,对异常点比较敏感
- 绝对损失函数:$L_{absolute}(f,y)=|f-y|$
- 绝对损失函数在 $f=y$ 处无法求导数,不能直接用梯度下降法优化,做中值回归,对异常点更鲁棒
- Huber损失函数:$L_{Huber}=\begin{cases}(f-y)^2,&|f-y|\leqslant\delta\2\delta|f-y|-\delta^2,&|f-y|>\delta\end{cases}$
- 处处可导,可以用梯度下降法优化,对异常点鲁棒
7.2 机器学习中的优化问题
凸优化问题,所有的局部最小值都是全局极小值,相对容易求解
- 逻辑回归
- 线性回归
- 支持向量机
非凸优化问题,比较难求解
- 主成分分析
- SVD 可以帮助 PCA 得到全局极小值
- 低秩模型(矩阵分解)
- 深度神经网络模型