前言
似乎主要要讲梯度下降的方法
正文
自适应的学习率
自适应学习率是一种学习率调整策略,在神经网络和深度学习中非常重要。基本上,它意味着学习率可以根据训练过程中模型的行为动态地调整。 在梯度下降优化算法中,学习率控制了每次参数更新的步长。过小的学习率可能导致训练过程非常缓慢,而过大的学习率可能导致训练过程过于不稳定,甚至导致学习过程不能收敛。自适应学习率策略试图解决这个问题,通过自动调整学习率来找到一个合理的步长,从而提高训练效率。 这类策略包括 Adagrad、Adadelta、RMSprop、Adam 等。这些方法根据过去的梯度信息去不断地调整学习率,能够更好地适应不同的参数、不同的特征甚至不同的训练阶段。 例如,Adam 是最流行的自适应学习率优化器之一。它结合了 RMSProp 和 Adagrad 的思想,通过计算梯度的一阶矩估计和二阶矩估计来动态地调整每个参数的学习率。因此,对于那些梯度大的或者更新快的参数,Adam 会减小其学习率,相反,对于那些梯度小的或者更新慢的参数,Adam会增大其学习率。 总的来说,自适应学习率方法在实际应用中扮演着很重要的角色,它们让我们能够更容易地训练出好的模型,无需手动调整学习率这样的超参数。
随机梯度下降
随机梯度下降(Stochastic Gradient Descent,SGD)是一种优化算法,通常用于神经网络和其他机器学习算法的训练过程。它是标准梯度下降算法的一个主要变体,通过仅使用单个或一小批训练样本来估计梯度,以此来减少计算量并加速训练过程。 下面概述一下 SGD 的工作原理: 1. 初始化参数:开始时,你需要初始化模型参数。可以将所有参数设置为零,或者从均匀或正态分布中随机选择值。 2. 计算梯度:在传统的梯度下降中,你会在整个数据集上计算损失函数的梯度。但在 SGD 中,你只选择一个样本(或者一小批样本)来估计梯度。 3. 更新参数:然后,你将使用以下公式来更新模型参数:θ = θ - η * ∇J(θ),其中 θ 是参数,η 是学习率(一个超参数),∇J(θ) 是损失函数的梯度。 4. 重复步骤2和3:将上述过程在多个周期(epoch)中重复,直到模型的性能满足你的要求,或者无论怎么更新参数,模型的性能都不再提高。 SGD 的主要优点是计算效率高,特别是在处理大数据集时。它的一个挑战是需要手动设置一个合适的学习率,该学习率可能需要在训练过程中进行调整。此外,SGD 由于其随机性,可能会在达到最小值点附近时“震荡”不止,这就需要更复杂的学习率调整策略,如学习率衰减等,来解决。
L0L1L2泛式
L1和L2范数是机器学习中常用的正则化方法,都可以用于减小过拟合的风险。然而它们在实际应用中的效果和适用场景有一些差异。 L1范数,也被称为Lasso回归,是指参数向量中各个元素的绝对值之和。使用L1范数作为正则项的最大特点就是在权值向量中产生稀疏性,也就是说,很多参数的权重会被直接逼近为0。这个特性使得L1范数特别适合做特征选择。 L2范数,也被称为岭回归,是指参数向量中各个元素的平方和再开平方。L2范数与L1范数不同,不会将权值逼为0,而只会让权值尽可能小,趋近于0。因此,使用包括L2范数的惩罚项的模型,通常会使得模型的所有参数都接近0,但并不会真的等于0。这使得模型对输入数据的各个特征的依赖程度更加均匀。 总结来说,L1和L2范数是处理过拟合问题的常用手段,但选择哪种正则化方式还需要根据具体应用场景做权衡。如果你需要稀疏解,从而做特征选择,那么L1范数可能更加合适。如果你希望模型的复杂度更低,或者对所有特征更加均匀,那么L2范数可能更好。当然,你也可以通过Elastic Net将两者结合起来,以达到两全其美的效果。
正则化模型是机器学习领域中常用的一类模型,它们的特点是在模型训练的过程中,除了最小化原始的损失函数以外,还会考虑模型的复杂度,尽量保持模型的简单。此种方法可以有效地防止模型过拟合,提高模型的泛化能力。 过拟合是指模型在训练集上表现很好,但在测试集或者新的数据上表现差的现象。这是因为模型过于复杂,学习到了训练数据中的噪声和异常值,没有学到数据背后真正的规律。 因此,人们提出了正则化的概念,通过在损失函数中加入一个正则项(也称为惩罚项),这个正则项通常与模型的复杂度有关,例如模型参数的L1范数或L2范数。加入正则项后,模型在训练过程中就需要在拟合数据和保持简单之间做出权衡。 常见的正则化模型包括Lasso回归(L1正则化)、岭回归(L2正则化)和Elastic Net(L1和L2的结合)。正则化是一种非常有效的防止模型过拟合的方法,被广泛应用在各种机器学习模型,包括线性回归、逻辑回归、神经网络等,中。
L0、L1和L2范数对数据的选取或者说特征选择的侧重点是不同的: 1. L0范数:L0范数可以直接衡量特征的数量,也就是向量中非零元素的个数。在理想情况下,我们希望通过最小化L0范数来选择最少的特征,并且保证模型的效果。但由于L0范数使得优化问题变得十分困难,所以在实践中并不常用。 2. L1范数:L1范数会尽量将某些特征的权重压缩为0,从而实现特征选择。如果你的数据集中有大量无关的特征,或者特征之间存在高度共线性,那么使用L1正则化可以帮助减小模型复杂度,提高模型的泛化能力。 3. L2范数:L2范数会使得模型中所有的特征都尽量趋于0,但不会真的等于0。所以L2更加倾向于选择所有的特征,但给每个特征赋予较小的权重。当你认为所有的特征都对模型有一定的贡献,或者数据中存在噪声时,那么L2正则化是一个不错的选择。 总的来说,选用哪种范数需要根据具体的问题和数据来决定。有时候可能需要你对数据有一定的理解,或者通过交叉验证等方式来决定哪种范数更适合你的问题。
大部分地方都是鞍点而不是极值点,因为前者更多,后者很少
逻辑回归
简介
逻辑回归是一种常用的分类算法,它是机器学习中的一种监督学习方法,用于处理二分类(如是或否、1或0、正或负)或者多分类问题。 逻辑回归虽然名字中带有“回归”,但它实际上是解决分类问题的一种方法。它的基本思想是设定一个预测函数(或者说决策函数),通过这个函数将实数空间映射到(0,1)区间,得到一个概率预测值。 这个预测函数通常采用sigmoid函数,形式为:f(z) = 1 / (1 + e^(-z))。其中z是模型的预测输入,可以是一些特征向量的线性组合。 然后,在模型训练过程中,逻辑回归会通过优化一个叫做对数损失(log loss)的损失函数,来调整模型的参数。通过这种方式,模型学习到了如何根据输入的特征来预测结果的概率。 逻辑回归模型有很多优点,例如它简单、效率高、理解和实现都比较容易。同时也适合处理线性可分的问题。在实际应用中,逻辑回归经常被用于垃圾邮件检测、信用卡欺诈预测、疾病的风险评估等众多领域。
分类器
它的目标是预测给定输入数据的类别。常见的分类算法包括决策树、朴素贝叶斯、逻辑回归、支持向量机、随机森林等等。
判别式模型
判别式模型,如逻辑回归、支持向量机、决策树等,他们试图学习输入数据和输出标签之间的映射关系,即条件概率P(Y|X),其中Y是输出标签,X是输入数据。他们的主要目标是找到一个决策边界,可以将不同类别的数据点分开。
生成式模型
生成式模型,如朴素贝叶斯、隐马尔可夫模型等,他们试图学习输入数据和输出标签的联合概率分布P(X, Y),然后根据贝叶斯定理来求解条件概率P(Y|X)。他们的主要目标是理解数据是如何生成的。