假设你已经建立了一个面部识别模型,现在正在使用验证集调整测试集上的实验参数。可悲的是,您的实验产生了令人失望的测试结果。我们如何知道解决这个特定问题的良方是什么?先了解hypothesisboosting问题,然后看看我们能否从该算法派生出的AdaBoost算法的结果中提取出实用的原理来解决问题。线性预测器线性回归线性回归对解释变量或自变量与标量响应或因变量之间的关系进行建模。使用线性预测函数对关系建模。>LinearRegression回归的损失函数需要定义由于我们的预测与标签或目标的真实结果之间的差异,我们应该受到多少惩罚。均方误差使用平方损失函数来最小化这种差异。>均方误差其中n是预测变量的数量,Y是被预测变量的观测值,?是预测值。一些学习任务需要非线性预测器,例如多项式预测器。>多项式回归任务的线性回归通过使用最小二乘算法最小化曲线上各点的偏移量(“残差”)的平方和来找到一个优秀的系数向量,可以将此问题简化为线性回归问题。逻辑回归在逻辑回归中,我们学习对某个类别或事件出现在区间[0,1]上的概率建模。logistic函数是一个sigmoid函数,它接受任何实际输入并输出0到1之间的值。假设提升问题“一组弱学习器可以创建一个强学习器吗?”—MichaelKerns和LeslieGabrielValiantBoosting使用线性预测泛化变量来解决以下问题:偏差-方差权衡让我们定义一些术语:近似误差是我们先验知识中的误差,或者我们的算法输出最佳答案的概率.估计误差是我们的算法预测未见数据结果的误差。候选模型越复杂,逼近误差越小,但估计误差越大。Boosting允许学习者通过使学习者从可能具有较大近似误差的简单模型开始并逐步发展到最小化近似误差和估计误差的模型来控制这种权衡。学习的计算复杂性增加可以提高弱学习器或简单算法的准确性,这些算法的性能略好于随机猜测。这个想法是试图将弱学习者转变为强学习者,以便产生与难以学习和计算复杂的学习者相媲美的有效预测器。AdaptiveBoostingAdaBoost(AdaptiveBoosting)是一种基于理论假设提升问题的算法,该问题由假设与单一假设的线性组合组成,用于检测图像中的人脸。AdaBoost的伪代码,>AdaBoost伪代码对于指定的轮数,AdaBoost算法分配的权重与每个假设的误差成反比。然后针对假设为真的情况更新此权重,这将获得较低的概率权重,而不是假设不正确的示例。这是多轮执行的,因此,在随后的每一轮中,弱学习器都会关注有问题的样本。然后根据所有弱假设的加权和生成一个“强分类器”。其中T是训练轮数,h是弱学习器的运行时间,AdaBoost算法的运行时间实际上是O(Th)。用于人脸识别的AdaBoost让我们回到我们想要构建一个人脸识别模型的示例,该模型采用24x24像素图像并使用该信息来确定图像是否描绘了人脸。我们将使用线性函数来表示这四个基本假设,>人脸识别的基本假设每个假设的函数形式包括:轴对齐矩形R,最多24个轴对齐矩形A,B,C或D类型并映射图像到一个标量值。为了计算我们的学习函数,我们计算红色矩形内像素的灰度值总和,并从蓝色矩形内像素的灰度值总和中减去它。我们可以通过首先计算每个图像上函数的所有可能输出,然后应用AdaBoost算法来实现弱学习器。这会导致面部区域的强度增加,这可能会导致更好的预测。模型选择和验证我们已经到了可以从多个模型中选择最终解决方案的地步。对于我们的特定问题,什么是好的模型?我们可以将样本分成训练集和测试集,以找到近似误差和估计误差之间的平衡。在训练模型的时候,我们会使用训练集,我们会使用独立的测试集来验证模型,得到经验误差。这将使我们直观地判断我们是过度拟合、过于紧密地拟合我们的训练样本,还是欠拟合和没有充分拟合我们的训练样本。>多项式回归模型选择的验证近似误差和估计误差究竟取决于什么?首先定义一些术语:让我们的假设类代表我们可以为机器学习算法选择的所有可能假设的集合。让我们将分布定义为未知函数,它确定样本空间中任何单个观察值的真实概率。我们的近似误差取决于分布和假设类别。添加假设类或使用其他特征表示可能会为我们提供一些可能改善近似误差的替代知识。我们的估计误差取决于训练样本的大小。为了改善估计误差,我们必须有足够数量的训练样本。较大的假设类别通常会增加估计误差,因为它更难找到好的预测变量。AdaBoost算法的结果是一个“强分类器”,它基于所有弱假设的加权和,从本质上减少了假设的类别。结论从线性回归到自适应提升向我们展示了一个在如何解决学习成绩不佳方面存在歧义的例子。模型选择、验证和学习曲线是我们可以用来帮助我们理解学习失败原因的工具,以便我们找到补救措施。很好地总结了以下原则,这些原则直接来自对机器学习的理解:从理论到算法:1.如果学习涉及参数调整,请绘制模型选择曲线以确保参数调整适当。>选型曲线2。如果训练误差过大,考虑扩大假设类,完全改变它,或者改变数据的特征表示。3.如果训练误差很小,则绘制学习曲线并尝试从中推断出问题是估计误差还是近似误差。>学习曲线:估计误差与近似误差4。如果近似误差看起来足够小,请尝试获取更多数据。如果这不可能,请考虑降低假设类别的复杂性。5.如果近似误差看起来也很大,尝试完全改变数据的假设类或特征表示。
