机器学习总结(算法):回归、分类、正则化、模型优化、生成学习
在本文中,我们深入了解传统机器学习(ML)算法,包括回归、分类、核、高斯过程、贝叶斯线性回归、SVM、聚类和决策树,还包括成本函数,正则化,MLE, MAP,拉普拉斯近似和受限玻尔兹曼机,我们也将快速了解像LSTM这样的深度网络。
回归
线性回归
线性回归模型y = f(x),线性向量为w。
添加偏差
标准化
在许多机器学习(ml)算法或回归中,我们假设输入已经被预处理和标准化。
残差平方和加权平方和
为了训练一个线性回归机器学习模型,我们最小化了一个成本函数。一个常见的目标函数是rss(残差平方和)。相应的回归称为最小二乘线性回归。
用多项式回归变换基
为了增加模型的复杂性,我们可以添加或更改输入的基。在下面的示例中,添加了多项式基(polynomial bases)。
如果没有这种变换,如果它们的边界是非线性的,则很难将两类数据分开。但是,增加的x 12和x 2 2分量将低维空间中的非线性决策边界变换为高维空间中的线性边界。理论上,低维中的任何边界形状都可以转换为更高维度的线性边界。转换后,我们可以将数据分类为具有线性代数的组。
线性回归的一般形式是
其中g可以是任意函数,包括非线性、对数等。通常认为线性回归只对线性函数建模是错误的。通过扩展输入的基,y = f(x)中的函数f可以是复杂的非线性的。
在机器学习(ML)中,特征工程师应用领域知识来构造类似于输入和预测之间关系的g。但是,它很难,我们很容易做过头。为了纠正这个问题,我们可以应用L1惩罚。L1成本有利于w的稀疏性,这允许训练在进行预测时选择较少的基向量。当包含太多多输入特征并且机器学习模型很以容易过度拟合时,则可以缓解这个问题。
Gram矩阵
线性回归的一般解可以用下面的Gram矩阵计算
基于参数和非基于参数
对于线性回归y =wᵀx,我们使用训练数据拟合模型以找到w。这种类型的模型称为基于参数的模型。该函数是预先定义的,我们的任务是找到最适合数据的模型参数θ。对于非基于参数的模型,我们对函数没有假设,我们让数据来模拟函数本身。
接下来,我们将研究一个名为Kernel的非基于参数的模型。
Kernel
在此之前,我们将线性回归推广为y =wᵀg(x)。随着核方法的概念,我们进一步拓展思路,探讨x与其它训练数据点X ⁽ⁱ⁾的关系。这允许我们基于训练数据而不是预定义的函数来构建函数。
这里,我们不是从wᵀx进行预测,而是计算x和训练数据点xᵢ之间的相似度k。然后,我们将它与相应的模型参数wᵢ相乘。我们汇总了所有数据点的结果以进行预测。直观地,我们计算训练数据标签的加权平均值。如果数据相似,我们就用较大的权重;如果数据不同,我们就用较小的权重。例如,在预测您多年受教育的薪水时,我们会对具有相同教育年限的数据使用更高的权重,然后我们从训练数据工资中计算加权平均值。
核的一般定义是:
通常,它将xᵢ和xⱼ映射到高维空间并计算其内积以探索相似性。但实际上,我们可以将方程式简化为一种简单测量两个数据点相似性的形式。例如,我们可以使用下面的高斯分布。
径向基函数(RBF - 高斯核)
RBF对核函数使用高斯函数。我们形成一个新的basis z为输入,其中zᵢⱼ测量训练数据点i和j之间的相似性。然后我们使用训练数据来使用像MSE这样的目标函数拟合模型参数w。
核函数是对称的,矩阵是正半定的。
为了进行新的预测,我们使用核函数将x转换为矩阵。
直观地,RBF计算输入到每个训练数据点的距离,并将其乘以相应的权重wᵢ 进行预测。我们根据相似度计算输出的加权平均值。
分类
回归分类
我们可以应用贝叶斯定理来检查输入x是否应属于类y = 0或类y = 1。例如,如果标签y应为1,我们希望p(y = 1 | x)> p(y = 0 | x)。或者,我们可以用等式xᵀw+ b计算线性回归值。如果符号为负,则y属于1.如下所示,如果p(x | y)是高斯分布的,则贝叶斯定理等效于线性回归。
但是,当我们希望我们的预测为-1或1时,xᵀw是无界的。成本函数的选择在这里必须要小心。如下所示,使用xᵀw作为输入的最小平方成本函数可以在成本函数中添加惩罚,即使它正确地预测x的类而没有歧义。
要解决此问题,我们可以使用逻辑回归或切换到其他成本函数,如hinge损失或逻辑损失。
逻辑回归
在做出决定之前,我们可以将xᵀw的结果应用于逻辑函数(也称为sigmoid函数)。这会将无界xᵀw挤压在0和1之间。
如下图所示,logistic函数与对数比值(logits)有关。事实上,我们可以从Logit导出Logistic函数。在这个例子中,我们将使用xᵀw来计算logistic函数的得分。但是可以使用其他的评分方法,包括深度网络代替线性回归方法。
贝叶斯分类器
贝叶斯分类器应用贝叶斯定理将x分类为最佳y值,该值为下面的RHS项提供最高值。
成本函数与正则化
均方误差(MSE)
MSE很受欢迎,因为它易于使用平滑差分进行计算。但它容易受到离群值的影响,我们会不成比例地惩罚大误差。如果我们有嘈杂的噪声数据,我们会过多地关注将这些数据,我们应该首先忽略它们。线性回归的MSE成本函数是
相应的优化解析解(正规方程)是
具有L2正则化的MSE称为岭回归。相应的最优解是
以下是使用最小均方误差(LMS)的梯度下降
L0,L1,Huber Loss或正则化
Huber损失将低误差范围内的L2损失与高误差范围内的L1损失相结合。
L1和L2正则化比较
L2具有更平滑的梯度,因此训练更稳定。但是L1也很受欢迎,因为它促进了稀疏性。如下图所示,添加L1正则化后的最优点倾向于参数为0。
如果L1正则化与最小二乘误差一起使用,则线性回归称为Lasso回归。虽然选择取决于具体的数据和问题领域,L2正则化似乎更受欢迎,但可以自由尝试两者。
凸性
让我们考虑以下通用的p-norm成本函数。我们应该如何在不同情景下优化目标函数?
- 如果我们没有任何正则化(λ = 0),如果XᵀX是可逆的,则可以优化解析解。
- 如果p = 2,则保证有解析解。
- 对于p≥1但不等于2,我们可以使用迭代方法来找到全局最优。
- 当p<1时,目标函数不为凸函数。与其他选择相比,全局最优是没有保证的。我们只能用数值方法求得局部最优解。
交叉熵
在机器学习(ML)中,我们希望我们的预测与ground truth相匹配,其中P是ground truth,Q是模型预测。对于分类,P(xᵢ)= 1表示ground truth标签i,否则P(xⱼ)= 0。因此,交叉熵是H(P,Q)= -log Q(xᵢ)。
Softmax函数
对于多类分类,我们可以在计算交叉熵之前将softmax函数应用于计算得分。在线性回归中,ground truth类的得分等于xᵀw。
KL散度
KL-divergence测量两个数据分布之间的差异。P是ground truth,Q是模型预测的分布。
注意:KL-Divergence不是对称的,它总是大于或等于0。
Jensen-Shannon散度
Jensen-Shannon散度是对称的。
逻辑损失
它根据逻辑函数来度量损失。我们可以将逻辑函数应用于输出,并使用交叉熵损失或直接使用逻辑损失,而不需要将输出传递给逻辑函数。
Hinge损失
只有当预测错误或太接近决策边界时,Hinge损失才会对分类错误进行惩罚。Hinge损耗用于SVM。
小结
模型优化
最大似然估计(MLE)
MLE找到最大化观测数据xᵢ的可能性的模型参数。
负对数似然(NLL)
MLE有一个很长的乘法链,很容易出现递减或爆炸的问题。为了解决这个问题,我们在目标函数上取对数函数。由于“对数”是单调函数,因此最大化MLE与最小化负对数似然(NLL)相同。
在优化目标时,只要模型参数是不变的,就可以加(减)或乘(除)值。我们也可以加上一个单调函数。最优解保持不变。
如下所示,NLL也与优化交叉熵相同
如果p(y |θ)可以通过zero-centered独立高斯分布建模,我们可以证明最大化MLE等同于最小化MSE。
综上所述,高斯分布的指数函数的平方部分导致了MLE与最小二乘优化相同的原因。
线性回归的MLE
假设w是线性回归模型yᵢ = Xᵢᵀwᵢ + εᵢ的ground truth权重,其中εᵢ 为zero-centered高斯分布的噪声,方差等于σᵢ²。
由于噪声是高斯分布的,我们可以将y建模为
在采集数据样本后,可以使用MLE训练W。我们想问的下一个问题是,用这种方法,我们的期望值和w的方差是多少。
如前所述,使用mle目标估计的w是无偏的。然而,如果σ²(XᵀX)-1较大,则方差较大,即我们将得到具有不同训练数据集的非常不同的模型。总之,估计的w值对测量数据中的噪声很敏感。这是一个很好的例子,即使您的估计是无偏的,如果我们的估计模型具有高方差,则该机器学习模型也不好。
每一个矩阵X都可以用SVD来分解
上面的计算表明(XᵀX)-1与S²的倒数成正比。 S是对角矩阵,对角元素包含X的奇异值。因此,如果一些奇异值很小,则方差σ²(XᵀX)-1很高。因此,通过评估X的奇异值,我们可以理解训练模型的方差。
当X中的列高度相关时,会发生小的奇异值
当信息高度相关时,训练后的模型容易受到方差的影响,容易被过度拟合。
为了解决这个问题,我们可以添加L2正则化(岭回归)来约束模型参数。这种正则化在数值上稳定了逆。没有它,即使X的微小变化也会导致w * 发生很大变化。
使用岭回归训练的w是
当Sᵢᵢ非常小时,λ就有用了,S⁻¹中的单个元素将具有一定的上限。 否则,它将是无限大的并且放大数据的轻微变化并导致w的很大变化。
下面的公式比较了用岭回归和最小二乘法训练的w的差异。
λ再次限制了ridge回归与最小二乘解的距离。 ridge回归的期望值和方差是
MLE是无偏的,但它可能有很高的方差。岭回归有偏,但方差较低。因为我们总是可以调整λ,所以我们可以使用岭回归调整对数据分布敏感的解。
可选步骤中的优化
在许多情况下,我们需要将机器学习问题分解为两个可选步骤的迭代,一个步骤优化一个子集参数,另一个步骤优化其余参数。EM算法就是一个例子。在这些问题中,我们不能同时优化这两组参数(或者它太难或非常不稳定)。这两组参数之间往往存在相互依赖关系,不能同时计算它们的导数。由于这种相互依赖,我们一次优化一个(参数θ1或θ2)(同时固定另一个)。
在每个步骤中,成本下降,解将收敛到局部或全局最优。然而,对于非凸目标函数,我们不太可能达到全局最优,但在实践中,许多问题仍然产生了良好的结果。
该算法利用了成本的单调降低。在一定精度内,θ₁和θ₂的空间尺寸有限,我们不能永远地降低成本,因此,解会收敛。
最大后验(MAP)
在此以前,我们将MSE用作训练模型的成本函数。 MAP可用于优化模型。 它可以用来证明其他目标函数,如MSE。 在MLE中,我们找到了p(yθ,x)中最高值的θ。 在MAP中,我们优化θ以最大化p(θ| y,x)。
除了向相反方向逼近条件概率外,还有一个重要的区别。MLE用观测值的最佳似然找到θ的点估计。MAP使用bayes定理计算θ的所有值的概率分布。
为了计算p(θ| y,x),我们应用贝叶斯定理
如果我们假设模型参数θ为zero centered,并且p(θ)和p(y |θ)都是高斯分布的,我们可以证明MAP到达的目的与使用L2作为成本函数并加入L2正则化相同。
简而言之,我们先前认为θ是高斯分布的。结合由高斯模型模拟的y(观测)的似然性,我们得到了与岭回归相同的目标。
牛顿优化方法
我们可以迭代地应用牛顿方法来定位最低成本。
这是梯度下降法的一种替代方法,它只使用一阶导数。利用f (f”)的曲率,牛顿法更精确。然而,它的计算量很大,不值得在许多问题上花费精力。然而,对于曲率较大的目标函数,这是非常有用的。为了解决复杂性问题,需要进行某种近似以使其具有可扩展性。
泰勒级数
利用泰勒级数,我们可以展开并近似一个函数f。在下面的例子中,我们把f展开到二阶。
通过微分上面的ε等式,最小化f的最佳 step ε*等于
纳什均衡
在博弈论中,纳什均衡是指在非合作环境下,在考虑了对手的所有可能策略后,没有任何一方会改变其策略。双方都对对方怀有敌意,他们没有办法传达自己的行动。考虑一下彼得和玛丽可能在监狱服刑的时间,看看他们是如何认罪的。
双方都保持坦白(Quiet)是有道理的,因为这是最低的入狱时间。为了在不合作的环境下达到纳什均衡,如果双方都保持抵赖(confess)并获得6个月的监禁,而不是1个月的监禁。
生成学习VS判别学习
在深度学习(DL)中,我们设计一个深度网络来从数据x预测标签y,生成学习为给定的y建立一个模型,由朴素贝叶斯分类器可以看出,对p(x|y)建模比p(y, x)更容易
在生成学习中,我们可以应用贝叶斯定理从p(x | y)模型预测p(y | x)。
一般来说,生成学习是对p(x)的研究。通过这种数据分布,我们可以采样(或生成)数据。在GAN中,我们创建了一个生成器,通过对噪声z进行采样来创建x。它模型为p(x | z)。在高斯混合模型中,我们使用高斯分布的混合来模拟p(x)。