机器学习总结(算法):回归、分类、正则化、模型优化、生成学习

2020-11-03 阅读量 963

  机器学习总结(算法):回归、分类、正则化、模型优化、生成学习

  原创不靠谱的猫2019-09-20 20:05:32

  在本文中,我们深入了解传统机器学习(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)。

4人点赞

相关推荐

数字中国,催动发展蝶变丨人民时评
秘书处小彬|2019-05-15
第13届中国—东盟社会发展与减贫论坛在广西南宁举行
国际在线·广西|2019-06-27
广西信息化组织发展联合会员名录
2019-05-08