学习算法有什么区别和一个假设?
如果可能的话,我正在寻找一些具体的例子。
例如,决策树和随机森林是否会被视为两种不同的学习算法?浅层神经网络(最终学习线性函数)和线性回归模型,两者都使用梯度下降来学习参数,是否会被视为不同的学习算法?
无论如何,据我了解,一种改变假设的方法将是更改参数值,甚至可能是决策树的超参数值。有没有其他变通方式? 我们如何改变?
学习算法有什么区别和一个假设?
如果可能的话,我正在寻找一些具体的例子。
例如,决策树和随机森林是否会被视为两种不同的学习算法?浅层神经网络(最终学习线性函数)和线性回归模型,两者都使用梯度下降来学习参数,是否会被视为不同的学习算法?
无论如何,据我了解,一种改变假设的方法将是更改参数值,甚至可能是决策树的超参数值。有没有其他变通方式? 我们如何改变?
在计算学习理论中,一种学习算法(或学习器)是一种选择假设的算法(它是一个函数), 在哪里是输入空间和是目标空间,来自假设空间.
例如,考虑图像分类任务(例如MNIST)。您可以使用梯度下降训练神经网络来对图像进行分类。在这种情况下,梯度下降是学习者,梯度下降考虑的所有可能的神经网络的空间就是假设空间(因此神经网络的每个参数组合代表一个特定的假设),是您要分类的图像空间,是所有可能类的空间,最终训练的神经网络是假设由学习者选择.
例如,决策树和随机森林是否会被视为两种不同的学习算法?
决策树和随机森林不是学习算法。一个特定的决策树或随机森林是一个假设(即上述形式的函数)。
在决策树的上下文中,ID3 算法(一种可以用来构造决策树,即假设的决策树算法)是学习算法(aka learner)的一个例子。
学习者考虑的所有树的空间是假设空间/类。
浅层神经网络(最终学习线性函数)和线性回归模型,两者都使用梯度下降来学习参数,是否会被视为不同的学习算法?
这里也可以这样说。一个特定的神经网络或线性回归模型(即一条线)对应一个特定的假设。您考虑的所有神经网络(或线,在线性回归的情况下)的集合对应于假设类。
无论如何,据我了解,一种改变假设的方法将是更改参数值,甚至可能是决策树的超参数值。
如果你考虑一个神经网络(或决策树)模型,参数,那么这些参数的特定组合对应于特定假设。如果您更改这些参数的值,您也会自动更改假设。但是,如果您更改超参数(例如特定层中的神经元数量),您将更改假设类,因此您考虑的假设集。
有没有其他变通方式?
在我的脑海中,只有通过改变参数,你才能改变假设。
我们如何改变?
让我们将梯度下降视为学习算法。在这种情况下,要更改学习者,您可以更改例如学习率。
假设是一种陈述,它建议对您打算测试的两个或多个现象之间的关系进行尚未证实的解释。一位农学家认为油菜籽上更多的氮总是会增加作物产量
改变假设可以简单地增加或减少函数的参数,或者改变关系的性质,例如风的加速度而不是风的速度。
“学习”算法描述了如何根据 delta 规则改变数值模型的参数,即学习率是多少以及是否要应用动量。
随机森林和决策树是“分类”算法。它们显然是朝着模型目标前进的逐步过程,但它们首先指定模型将采用的形状,并为参数可能采用的值设置边界。
学习和分类算法都先验地指定模型将采取的形状,并通过这样做限制其与特定问题的相关性。