机器学习的模型训练中的具体模型是什么问题

做者:知乎用户
连接:https://www.zhihu.com/question/29271217/answer/44147568
来源:知乎
著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。
 算法

我以为机器学习(仍是仅指有监督学习)在本质上实际上是根据样本数据进行函数拟合的过程。这个过程分为两个步骤,首先是肯定要拟合函数所属的家族,究竟是线性的呢?仍是非线性的呢?函数式大概是什么样子的呢?这就是咱们所说的函数的假设空间,不一样的假设空间定义了该函数族不一样的函数形态。而这些不一样的假设空间构成了不一样的机器学习算法的类型。所以,第一步选择假设空间的过程就是选择机器学习算法类别的过程。这个过程可能须要根据研究员的经验,以及数据的分布状况进行决策。机器学习

可是选择好了假设空间并不意味着咱们的工做已经完成了,由于假设空间中有无穷多个该类型的函数,举个简单的例子,对于指数函数来讲,F(x) = a^x,只要咱们的参数a稍微变更一下就获得了一个不同的函数。那么接下来就是肯定函数参数的过程了,只有函数的参数选择对了,函数拟合的过程也就完成了,拟合到了这个函数之后,不管咱们是分类仍是回归均可以用了。函数

那么如今机器学习问题就转换成了怎样求参数a的问题了。应该怎么求呢?直接一个个穷举确定是不行的,由于a的取值是无限的。所以这里咱们引入了一种衡量咱们选择a好坏的标准,并用一个函数来计算这个标准。这里咱们就引入了一个新的函数叫作代价函数,也叫损失函数。这个函数的输入是参数a,训练数据x,以及训练数据的label y(这也就是我一直强调有监督学习的缘由,由于无监督是没有label值y的),咱们给出损失函数的定义C(a, x, y)。在实际训练过程当中,对于任意一个a,咱们均可以根据F(x) = a^x算出咱们这个模型所能给出来的值,咱们称之为y',可是y'和真实的y之间是有差距的,这个差距就用代价函数C来衡量,C越大意味着预测值与真实值差的越远,也就是咱们的a值选的越很差。反之C越小,则意味着咱们选的a就越好。今后机器学习问题就转换为求C的最小值问题了~~(中国人民的老朋友了),有没有以为熟悉了不少呢?求最小值问题应该大一的时候就学过吧?导数等于零,求驻点嘛~~学习

可是,注意我说可是了!!不少时候C的驻点不是那么好求的,有的是由于C的定义式太复杂,其导数为零的方程很难求得解析解,有的是由于要求的a太多了,一个个的偏导数太难搞定。所以,有别于一步到位的解法,咱们采用了渐进式解法,也就是梯度降低法,牛顿法,拟牛顿法等。这些方法可使咱们沿着a该变大或者该变小的方向走下去,越走C越小,越走越接近最优的a'(固然能接近多少就不能保证了,有可能陷入局部最优),也就引入了最优化问题。优化

后来啊~~~ 因为现实问题太复杂,咱们可能不是在全域上随便走动a,可能有一些针对a能取值的约束,例如实际问题中a就不能小于2,因此即使是a的最优解在原点0处,那么a也只能取一个大于等于2的值。这就引入了有约束的最优化问题。io

相关文章
相关标签/搜索