回归算法
监督学习是根据输入的训练集学习获得一个假设函数,由特征映射到目标变量。主要解决两种问题,回归问题和分类问题,它们是根据目标变量是连续的还是离散的而分类的。
1 线性回归
对于线性回归,假设函数一般根据特征的个数而设置:
(X0=1)
提出假设函数以后,只要根据训练集求出假设函数中的参数即可。
要求出参数,只要参数使训练集中的最接近y。提出:
根据训练集,只要求出最小J(?)。
LMS算法
LMS(least mean squares,known as Widrow-Hoff学习规则)算法是用来求出最小的J(?),他的思想是梯度下降算法,即为了最小值,根据当前值向下降速度最快的方向移动。
注:梯度下降可能会找到局部最优点,但是由于J(?)是一个只有全局最优的凸函数,所以可以使用梯度下降算法。
给定一个初始? ,
假设训练集中只有一个元素:
则更新规则如下:
对于训练集存在多个元素的情况,有两种方法:
Batch gradient descent
此方法在每一步遍历所有的训练集:
遍历轨迹如图所示:
Incremental gradient descent
此方法在每一步中根据训练集中的一个元素,通常这种方法对于前一种方法更快,尤其在训练集较大的情况下。但此方法只能获得接近最小值的点,但是一般对于机器学习可以接受。
The normal equation
此方法不需要迭代求出J(?)的最小值。思想是令J(?)对于所有的?变量的导数都为0。
具体算法比较复杂,数学公式太多没看懂。
概率解释
此章从概率的角度验证了使用J(?)的合理性。其实我觉得我可以很好的理解或者说感觉J(?)是合理的,这里从另一个角度验证了,也是为了以后使用的概率模型做一个铺垫。
对于线性回归中使用的训练集,我们假设每个元素中由于种种原因会有一些误差,并且这些误差属于正态分布(高斯分布)。
则:
则,?的可能性为所有训练集中元素的可能性的乘积。
现在我们要使?的可能性最大,也就是求出?使L(?)最大
定义:
只要使上式最大,则L(?)也最大。
则只要使最小即可。
局部加权线性回归
在使用线性回归时,提出合理的假设函数很重要,也很难,因为很难确定参数的个数,特征个数确定,但是可以提出多次方程。这就会牵扯到过拟合和欠拟合的概念。
为了减小线性回归对参数假设的以来,可以使用局部加权线性回归。
此方法很简单,思想就是如果要求一个点x对应的结果y,只要根据x附近的训练集(已知数据)求出y。
2分类问题和逻辑回归
对于分类问题,结果变量y是几个离散的变量。
这里我们仅讨论y为0或1的情况,也就是只有两类的分类。
逻辑回归
在逻辑回归中,我们选择的假设函数为:
假设:
推出:
根据训练集,可以得出θ的概率为:
只要求出使L(?)最大化的?。
同样,使用梯度上升算法。
感知器算法
感知器算法是改变了g(z)函数,其他同上一节的一样。
感知器算法表面上同其他算法相似,但是感知器算法没有具体的概率意义,也没有概率最大化的评价算法。
牛顿算法
牛顿算法的引出是快速求出使y=0的x的方法。
对于f(?)只要迭代下式:
就能快速的求出f(?)=0。
而如果要求函数的最大值,只使函数导数为0。
即:
上述是对于?为变量,当?为矢量时,
,
牛顿算法收敛速度极快,但是每一轮牛顿算法都要使用极大的计算量,因为要计算H矩阵,所以不是用与特征较多的情况。
3 广义线性模型
在解决以上两种问题的情况下,我们可以将以上两种模型推导出更广义的线性模型。
广义线性模型是一种概率模型。
指数分布族
对于伯努利分布:
当,
则:
对于高斯分布:
令
由以上推倒可以,高斯分布和伯努利分布都是指数分布族的特例。
构建广义线性模型
说白了,构建广义线性模型就是根据概率分布获得一个比较合适的假设函数。
在构建广义线性模型之前,需要做三个假设:
1 假设y|x; ?属于指数族模型。
2 h(x)=E[y|x]。
3 这个不太像一个假设,更像一个设计。
步骤:
1 首先根据概率公式求出指数族的相关参数。
2 根据参数和假设二求出h(x)的形式。
对最小二乘法:
对于逻辑回归: