机器学习的起点——线性回归
一、线性回归的地位
首先,线性回归中最基础的概念是一元线性回归模型。
在回归模型中,线性回归模型是最简单的。其具备两个优势:第一是线性回归模型适合于大数据。训练时消耗的计算资源较少。第二是模型本身具备很好的可解释性。属于“白盒模型”。
二、线性回归的定义
线性回归主要是包括“线性”和“回归”两部分。线性是指其具有线性的决策边界,其中在二维空间里,其决策边界就是一条直线。回归表明其具有预测功能。
这里的任务就成了,如何使用一条线对这些散点进行拟合。我们应该用什么样的标准来评判,那条线是拟合这些散点最好的线呢?
通过直觉我们感觉,蓝色线是拟合程度最好的一条线。那么这个“直觉”从哪里来?我们应当如何整理和表达这个直觉?这个直觉有数学依据吗?
以上三个问题。我们一一来解答:
第一,这个直觉从哪里来? 答案是来自于我们脑子里现有的经验模型,换句话说是一种感觉。
第二,这个直觉怎么表达? 答案是,这个直觉我们可以依托于一个误差函数来表达。我们采用的目标函数是测量真实值和预测值之间的差异。我们使用平方误差函数。
第三,这个直觉有数学依据吗?答案是有的,极大似然估计就是其数学依据,注意这个问题跟第二个问题是有区别的。
三、一元线性回归的代码实现(手写和使用sklearn两种方式)
# 创建数据集,把数据写入到numpy数组
import numpy as np # 引用numpy库,主要用来做科学计算
import matplotlib.pyplot as plt # 引用matplotlib库,主要用来画图
data = np.array([[152,51],[156,53],[160,54],[164,55],
[168,57],[172,60],[176,