细节是慢慢磨出来的。
URL:
https://www.zhihu.com/question/24900876
https://www.zhihu.com/question/20822481
机器学习的基本框架大都是模型、目标和算法!
机器学习的基本框架大都是模型、目标和算法!
机器学习的基本框架大都是模型、目标和算法!
重要的事情说三遍!
对于一个数据集,首先你要根据数据的特点和目的来选择合适模型。
就你问的而言,选定的模型是Logistic Regression。
现在既然已经选择了模型,那么接下来的问题是:怎么才能让这个模型尽可能好的拟合或者分类数据呢?
那么就需要有目标,所以要定下模型的cost function,但是cost function怎么定呢?
凭直觉随便选吗!不!可!能!
我们都知道,Linear Regression的cost function是最小二乘,即
========================================
再附上最近的网摘
在机器学习的理论学习理论中往往会遇到“极大似然估计”的概念,极大似然估计的求解过程非常简单致使我们往往会忽律其背后的原理。当我彻底弄懂了极大似然估计的背后的思想后对机器学习算法的理解有了本质上的提高。
极大似然估计(Maximum Likelihood Estimate,MLE)
假设我们的抽样是理想正确的;
概率大的事件在一次观测中更容易发生(打猎问题);
在一次观测中发生了的事件其概率应该大(身高问题)。
交叉熵和最小二乘都是通过极大似然估计推断出来的,
学者提出了多个方法进行计算损失值,最常见的损失函数有均方误差(MSE)、交叉熵误差(CEE)
均方误差就是经验分布和高斯模型之间的交叉熵
计算误差平方和最小的方法最常见的就是最小二乘法(OLS)与梯度下降法(GD)
我们注意到最小二乘法最后一步要求p个方程组,是非常大的计算量,其实计算起来很难,因此我们就有了一种新的计算方法,就是梯度下降法,梯度下降法可以看作是 更简单的一种 求最小二乘法最后一步解方程 的方法
梯度下降法就是用于求损失值最小时的参数值,相对于最小二乘法复杂的数学公式,它可以通过偏导数斜率的变化更形象地描述解决的过程。
最小二乘和极大似然是目标函数(损失函数),梯度下降是优化算法。
损失函数度量的是预测值与真实值之间的差异。
损失函数和代价函数是同一个东西,目标函数是一个与他们相关但更广的概念,对于目标函数来说在有约束条件下的最小化就是损失函数(loss function)。
目标函数就是一个更加宽泛的概念。目标函数是优化问题中的一个概念。任何一个优化问题包括两个部分:(1)目标函数,最终是要最大化或者最小化这个函数;(2)约束条件。约束条件是可选的,比如x<0。
即使损失函数又是目标函数:最小二乘法
是目标函数但大于损失函数:脊回归-岭回归(Ridge regression)
是目标函数但没有损失函数:极大似然估计
推导关系:极大似然→最小二乘→梯度下降
最小二乘法(极大似然法)是线性回归(逻辑回归)用来建立目标函数(损失函数)的,
而梯度下降法是用来求解目标函数(损失函数)的最小值的
求极大似然是目的,为了求解极大似然需要构建一个最小二乘模型,梯度下降是解决最小二乘所用的方法
梯度下降又称最速下降法,目标函数一阶泰勒展开近似得到的,最小二乘法我觉得在线性条件下可以看作牛顿法,利用了二阶导数信息,按理说收敛速度应该更快一些。我觉得一个原因在于二阶导数实在不好求,即使后续发展了拟牛顿、BFGS这些近似方法,也肯定不如梯度下降法简单有效。另外,注意逻辑回归里loss function大多采用交叉熵形式,而非均方误差的形式,最小二乘未必通用。这里有解释为什么常采用交叉熵形式的损失函数Neural networks and deep learning,主要结论是交叉熵的收敛速度恰好为预测值与实际值的误差,这样也就意味着误差越大收敛越快,因此其初始点的选取对结果影响不是特别大,而均方误差形式的初始点选取对误差曲线影响很大,可以参考一下~
最小二乘和极大似然也不是对立的。最小二乘是从函数形式上来看的,极大似然是从概率意义上来看的。事实上,最小二乘可以由高斯噪声假设+极大似然估计推导出来。当然极大似然估计还可以推导出其他的loss function,比如logistic回归中,loss function是交叉熵.
机器学习的基本框架大都是模型、目标和算法!
机器学习的基本框架大都是模型、目标和算法!
机器学习的基本框架大都是模型、目标和算法!
重要的事情说三遍!
网友评论