机器学习-线性回归

1 回归分析定义与分类

回归分析(Regression Analysis)是一种统计学上分析数据的方法,目的在于了解两个或多个变数间是否相关、相关方向与强度,并建立数学模型以便观察特定变数来预测研究者感兴趣的变量。个人目前的理解就是通过样本数据,在一定条件下去拟合原函数,让我们可以预测一些变量

2 线性回归

线性回归顾名思义就是拟合出来的函数是线性的,形如
通常对于已有的数据,构造损失函数,通过使得最小,得到拟合函数的参数。

2.1 个人理解的回归

将离散的数据洒在纸上,再用一定步骤画出符合要求的线,使其能体现出数据的特点,这就是回归。


样本值

拟合出的线性函数

2.2 关于损失函数

因为是确定参数一般使用
作为损失函数,其中为我们拟合出的线性函数(需要给定的初始值),为样本数据个数。换言之,只要给定一个我们都能根据该定义计算出对应的损失函数值。不难看出,该函数是和每一个数据点到拟合的线性函数的距离和是存在关系的(只是它的)。当拟合函数越接近数据点,则损失函数值越小,换言之当损失函数越小,就更符合要求。

2.3 确定使得最小

就是求的最小值

2.3.1 迭代法 最小\最大梯度

这应该是数值计算的部分,换言之,得到的解是数值解。随着迭代次数的加大,解的精确度就越高。最小梯度方法证明并不给出(实在是不会Orz,感兴趣可以看机械工业出版社的《数值方法》P257)下面只给出这个算法的步骤:
其实只用一个式子即可

其中为学习率,,为中的最大下标。
从线性代数来看有列向量:
列向量:
那么有

不难得到

换言之,只要设定初值就可以通过上式计算出使得 变小的值,然后继续计算,直到 为最小值或者达到迭代次数,而为学习率,目前只需知道应为较小的一个值,过小会导致学习速度下降,迭代次数过大.而过大会导致得不到使得有最小值的值.
其实可以写作

没错,就是我们在高数学到的的梯度
利用该方法就可以得到令有最小值的值了,所以叫最小梯度算法,如果求最大值就叫最大梯度算法(减法改加法)......

2.3.2 正规方程法

其实这两种方法都是去解线性方程组:
\begin{equation} \begin{cases} \frac {\partial}{\partial \theta_0}J(\theta)= 0 \\ \frac {\partial}{\partial \theta_1}J(\theta)= 0 \\ \vdots \\ \frac {\partial}{\partial \theta_k}J(\theta) = 0 \\ \end{cases} \end{equation}
这个方程的解为

证明过程如下:

你可能感兴趣的:(机器学习-线性回归)