优化与机器学习


13

我想知道多少机器学习需要优化。据我所知,对于从事机器学习的人们来说,统计数据是一个重要的数学主题。同样,对于从事机器学习的人来说,了解凸优化或非凸优化有多重要?


2
“使用机器学习进行工作”是一个模糊的概念-致力于开发更好的ML方法将意味着一个答案,使用已知方法开发ML系统是完全不同的事情。
Peteris

Answers:


28

我的观察方式是统计/机器学习告诉您应该优化的内容,而优化就是您实际的操作方式。

Y=Xβ+εE(ε)=0Var(ε)=σ2Iβ^

β^=argminbRp||YXb||2.

β^

f^=argminfF1ni=1nL(yi,f(xi))

Ff^

为了回答您的确切问题,知道一些优化当然是有帮助的,但是通常没有人是所有这些领域的专家,因此您可以学到很多,但是某些方面对您而言总是一个黑匣子。可能您没有正确研究您喜欢的ML算法背后的SLT结果,或者您可能不知道所使用的优化程序的内部工作原理。这是一生的旅程。



13

在实践中,很多软件包都会为您提供优化和大部分数学细节。例如,TensorFlow可以进行反向传播+随机梯度下降以自动为您训练神经网络(您只需指定学习率)。scikit-learn的ML工具通常不需要您真正了解优化实际上是如何发生的,而只需设置一些调整参数,其余的工作(例如优化程序运行的迭代次数)就可以了。例如,您可以在不了解scikit-learn的任何数学的情况下训练SVM,只需输入数据,内核类型并继续前进即可。

话虽这么说,了解基本优化(例如,在Boyd和Vandenberghe的凸优化/ Bertsekas的非线性规划方面)对算法/问题的设计和分析会有所帮助,尤其是在您从事理论工作的时候。或者,您自己实施优化算法。

请注意,教科书的优化方法通常需要进行调整,才能在现代环境中实际应用。例如,您可能不使用经典的Robbins-Munroe随机梯度下降法,而是使用更快的加速变体。不过,您可以从处理优化问题中获得一些见解。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.