0x00 前言:机器学习方法论
在此之前,我们已经学习了分类算法:kNN算法,回归算法:线性回归。我们知道:
机器学习就是需找一种函数f(x)并进行优化, 且这种函数能够做预测、分类、生成等工作。
那么其实可以总结出关于“如何找到函数f(x)”的方法论。可以看作是机器学习的“三板斧”:
- 第一步:定义一个函数集合(define a function set)
- 第二步:判断函数的好坏(goodness of a function)
- 第三步:选择最好的函数(pick the best one)
我们先把目光放在第三步上:How to pick the best one ? 我们的目标是让损失函数最小化。这就引出了下面需要介绍的方法:梯度下降是目前机器学习、深度学习解决最优化问题的算法中,最核心、应用最广的方法。
0x01 为什么需要梯度下降算法
如果我们抛开具体场景,仅从数学抽象的角度来看:每个模型都有自己的损失函数,不管是监督式学习还是非监督式学习。损失函数包含了若干个位置的模型参数,比如在多元线性回归中,损失函数&#