转自
http://www.zhihu.com/question/24900876
机器学习的基本框架大都是模型、目标和算法!
重要的事情说三遍!对于一个数据集,首先你要根据数据的特点和目的来选择合适模型。
就你问的而言,选定的 模型是Logistic Regression。现在既然已经选择了模型,那么接下来的问题是:怎么才能让这个模型尽可能好的拟合或者分类数据呢?那么就需要有 目标,所以要定下模型的cost function,但是cost function怎么定呢?凭直觉随便选吗!不!可!能!
我们都知道,Linear Regression的cost function是最小二乘,即
但是Logistic Regression的cost function却是
为什么Logistic Regression不使用最小二乘做cost function呢?
答案是各自的响应变量服从不同的概率分布。
在Linear Regression中,前提假设是 服从正态分布,即 ,而Logistic中的 是服从二项分布的,即 。(为什么不服从正态?因为 非0即1啊!)
因而,在用极大似然估计计算时,所得到的cost function自然是不一样的。(可自行推导)
然而,只有目标是没用的,我们还要有方法来达到目标,这里的方法就是上述的 算法——最优化算法。包括常用的梯度下降法(最速下降法)、牛顿法、拟牛顿法等。这样,一个机器学习算法就算完整了,因为可以用这些最优化算法来 求出 。
所以! 结论是:三者完全没有可比性!
由一些前提假设和 极大似然估计从概率的角度推导出了cost function(Linear中是 最小二乘,Logistic中是对数似然),而 梯度下降只是一个最优化算法,用来优化cost function的。