【更新-在去年这个时候写的基础上做了修改】
今天正式开始机器学习之路(看的斯坦福大学的视频课以及讲义),由于看的时候蒙蒙的,因此想要找个平台保存一下自己学习的成果,因此写了此篇文章,作为机器学习的小白,文章可能有诸多不妥之处,不作为学术理论的深入研究范围。因为我是小白,我是小白,我是小白。
其中用到的一些算法基本的解释:
(1)最小二乘法(来自百度百科):最小二乘法。最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。
(2)梯度下降法-优化算法(来自百度百科):梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。反过来,如果我们需要求解损失函数的最大值,这时就需要用梯度上升法来迭代了。在机器学习中,基于基本的梯度下降法发展了两种梯度下降方法,分别为随机梯度下降法和批量梯度下降法。
回归问题主要情况如下:
(1)线性回归
首先举一个简单的例子,来说明问题。
比如温度和湿度,对生长期的农作物的影响。
y表示农作物生长速度。x为影响因素。构建的线性模型如下:其中表示权重
如果影响因素更多的话,就利用下面的公式。
其中n表示影响因素个数。建立了一个这样的模型之后,要通过训练集求解权重。
即利用 ,去逼近样本的真实值。
(这个公式体现最小二乘法的思想)
其中m为样本个数, 表示第i个样本,表示第i个样本中的n个影响因素。
总结一下
上面这个图的意思就是,一般的回归问题可以分为两个分支:
1,假设残差服从一定的分布,从极大似然估计去求解参数(思想:概率最大的事件最可能发生)
2,最小二乘法(像百度百科说的那样)其主要思想在于误差平方和的思想,求解参数。
(1)针对极大似然估计
预测值和真实值之间都肯定存在误差,对于每个样本:
假设误差服从高斯分布(二维的时候为正太分布)则有:
将残差分布公式带入,得到在已经参数w和,预测值的条件概率:
已知预测值的条件概率,就可以利用极大似然的思想去求解里面的参数w。
构造如下:
再利用,求导的方式求解参数。
在对上式利用求导求解参数的时候,就是对这部分求导,可以发现这部分与最小二乘法中的误差平方和几乎一致。
误差平方和表示如下:
由于对w求解,所以是可以忽略的。因此最终两条路是走到了同一个终点,前提(假设残差正态分布)。
(2)针对最小二乘法
接极大似然估计思想,对应误差平方,求解过程如下:
对J(w)关于w求导有:
令导数等于0,有:
故最小二乘法关于权重的求解,最终可以得到一个公式:
但是,一般情况下,这种矩阵表示很难求解,主要原因是不可逆,因此关于参数求解,有了梯度下降法、拟牛顿法等一系列的优化算法方法。
为了思路更清楚,优化算法重新开一篇。
参考文献:
感谢刘小朋友提供了PPT。