Stochastic Methods in Machine Learning: Outline
几个细分topics之间的关系和逻辑。
首先,介绍了待解决问题的背景,机器学习的问题。机器学习中的优化问题是什么?
优化的方法:
- Coordinate Descent:坐标下降法
- Stochastic Gradient Descent:随机梯度下降法
- 解决Binary Classification问题
- Over-Paramaterization
- Minibatch SGD
- SVRM(Stochastic Variance Reduction Method)
- Perceptron方法
机器学习
机器学习有三个维度:
- 数据:数据之间有输入和输出,输入和输出之间有隐藏关系。
- 模型:给定输入,经过模型,有相应预测输出$\hat{y}$。
- 优化:找到模型的最优参数。
Loss function: $l(y,\hat{y})$损失函数测量了真实值$y$和预测值$\hat{y}$之间的距离,是一个非负的值。
- 平方损失:$l(y,\hat{y})={1\over 2}(y-\hat{y})^2$,用在回归问题。
- 0-1损失:用在分类问题。
机器学习中的优化问题是什么?
- ${1\over m}\sum_{i=1}^m l(y^i,h_x(s^i))$是数据拟合项(data fitting term)。
- $\lambda \cdot r(x)$是正则化项,防止数据过拟合。
- 如果数据$x=(x_1,x_2,…,x_n)$是高维度$n$:采用一阶算法,例如梯度下降(gradient descent)。
- 如果是大规模数据$m$:采用随机算法,例如随机梯度下降(stochastic gradient descent)。
解决优化问题的算法
坐标下降(Coordinate Descent, CD)
坐标下降指沿着一个坐标轴(维度)下降,保持其他坐标轴(维度)数据不变。
$e^i=(0,…,0,1,0,…,0)^\mathrm{T}$指的是标准基向量,其中第$i$个位置是1,其他位置是0。
坐标下降公式:在第$k$次迭代中,我们选择$i_k \in {1,2,…,n}$($x$有$n$个维度,即选择沿着第$i_k$个坐标轴下降):
如何计算$\eta_k$呢?可以选择exact coordinate minimization,即选择让$f(x^k+\eta e^{i_k})$最小的$\eta$。
Exact Coordinate Minimization解决Linear Regression问题
我们选择$ik \in {1,…,n}$,可得到:
<!— $$
x{ik}={s{ik}^\mathrm{T}(y-v{ik})}\over {s{ik}^\mathrm{T}s{ik}}},\ v{ik}=\sum{j:j\neq i_k} x_js_j
arg\min{x\in R^n} {f(x)={1\over m}\sum{i=1}^m f_i(x)}
随机梯度下降,即随机选择一个维度的梯度下降,不需要求出所有维度的梯度:
SGD for Binary Classification
- SVM:找到一个超平面(或边界),最大化不同类别之间的间隔(margin)。它可以用于线性和非线性分类。
SVM问题的优化问题,一共有$m$组数据:
其中,对于第$i$组训练数据,有
所以,SVM的优化问题可以改写为:
第一步需要计算$\nabla f_i(x)$:
- 如果预测正确,即$$
- Logistic Regression:
神经元法(Perceptron)
本质上是神经网络方法,perceptron是神经网络的一个结点。