一、问题的引入
回归分析大多属于监督学习的一种方法。这种方法主要是根据从贴有便签的理算数据通,通过统计等方法得到数学模型,然后将模型运用于预测或者分类。通常是多维的,如果存在高维空间时,可通过核函数等方法优化处理。
例如房屋的价钱和很多因素有关,而每一个因素也成为一个维度。这里和多臂老虎机问题(multi-armed bandit problem)中的老虎机的臂数类似。
这里我们简化为题分析,只提出房屋的价钱和面积有关联。数据如下:
其打点图为:
假设这个数据集中又再次添加了一个房屋的面积数据,想要知道这个房屋的价钱的估计值,该怎么办呢?
我们可以通过已知的数据去尽量准确的拟合这些数据,当这个新的房屋面积输入进来,我们便可以利用这条拟合曲线求出近似值。
图中,红色的曲线就是原有数据拟合出来的,而新加入的点大概在3500左右,而根据红色曲线,能够得到估计值在500左右。
首先给出一些概念和常用的符号。
房屋销售记录表:训练集(training set)或者训练数据(training data),是我们流程中的输入数据,一般称为x
房屋销售价钱:输出数据,一般称为y
拟合的函数(或者称为假设或者模型):一般写作y=h(x)
训练数据的条目数:一条训练数据是由一对输入数据和输出数据组成的输入数据的纬度n(特征的个数)
这个例子的特征是两维的,结果时一维的,然而回归方法能够解决多维特征,结果时一维多离散值或者一维连续值的问题。
三、学习过程
如同上面给出一个新的房屋面积数据,根据之前的训练数据拟合出的曲线能够的到新的输入数据的估计值,而得到这条拟合曲线的过程就是学习过程。下图给出一种学习过程流程图。
四、线性回归
我们通常为了简化模型,将其曲线的数学模型假定为线性的:
式中的h()即为需要得到的学习模型,也就是通过学习过程得到公式中的,
在上面的那个例子中就好比房间的面积。但是当问题为多维的时候,比如还有房屋的朝向,房屋的地理位置,房屋的楼层等等因素。
通常我们也习惯于将其写成矩阵的形式
为了评估我们所选择的曲线是否良好,换句话说就是学习得到的是否比较好,我们通常使用一种叫做损失函数来描述好坏程度。
上方是一个比较典型的错误函数,这个函数就是对估计值Xi与真实值Yi之间差的平方作为损失估计函数,而乘上1/2是为了方防止在求导的时候系数消失的问题。
如何调整theta使得损失函数取得最小值有很多方法,其中有最小二乘法等等。