今天给大家分享的是最优化理论。
简单的来说,就是求一个函数(空间上的一条曲线或曲面)在一个区间中的最小值。由于函数有可能很复杂,或区间范围很大,我们就利用最优化来将区间缩小。最后,确定我们所要的最小值是在经过计算后的缩小的范围中能够得到。
当然,以上的说法不是特别准确。但是,我们可以简单认为是求函数的最小值,但是一般很难一下子求到。所以,我们通过像是线搜法,梯度下降法,牛顿法,拟牛顿法等等方法,缩小了最小值可能存在的区间范围。
最优化理论在机器学习中的应用很广。这里需要介绍的就是凸函数。因为,凸函数的性质很优秀:连续可导,且有最小值。所以,在机器学习中,一些损失函数(很有可能是离散的,不连续的,如0/1)。所以,我们都会将其改造为连续可导的凸函数,然后就是求最小值。但是,现实中很多问题都是NP问题(你不遍历完所有可能性,你就不知道哪个是最优解,就好像有100种口味的肉包子,你不吃完100种,你不能说哪一种是你最喜欢的)。遍历完所有值的计算量有时非常非常大,计算机有可能很难实现。所以,我们一般使用最优化理论,快速的缩小最优解可能在的区域,在这个区域中,我们能找到最优解或是找到次优解(已经比其他区域中的值小很多了)。所以,最优化理论就是在计算资源有限的条件下,使我们能够找到最小的那个值(一般是次优解)。
分享链接:
今天晚上添加链接