回归模型
传统上而言,编程就是设定好每一步骤让程序实现某个结果,机器学习将它反过来了,我们先定义结果,程序进行自我学习,寻找步骤来实现它
比如,想做一个识别车牌的程序,不需要直接把代码写出来,
而是告诉机器如何识别数百种特征,
比如给机器车牌字母的形状、颜色这些样本数据,让机器自己去摸索步骤,来识别它们
机器学习分类
- 监督学习:给模型一些带标签的数据集,如车的图片,机器收到反馈
[每一步都收到反馈],哪些信息是正确的,哪些是错误的
机器将标签和数据做映射,就能解决给定的任务,如:将图像中的汽车进行分类 - 无监督学习:给模型一堆没有标签的数据集,机器没有获得正确与否的反馈,需要自我学习数据的结构解决给定的任务(大部分数据都没有标记且杂乱无章)
[从头到尾都没有反馈] - 强化学习:模型并未立刻收到反馈,只有在达到目标时才收到反馈,例如创建一个强化学习机器人,让它学习下棋击败人类,它只会在它赢棋那一刻收到反馈
[与环境互动、不断试错]
预测动物体重
不同动物的测量值的数据集,要根据大脑重量来预测动物的体重,因为这些数据都已有标签,将采用监督学习,采取机器学习的方式叫做”回归”
散点图上会显示出所有的数据点,x轴代表脑重、y轴代表体重
1 | # -*- coding: utf-8 -*- |
运行结果
1 | 根据脑容量预测动物体重: [[ 107.20287533]] |
大脑重量和体重之间似乎有很强的关联性,根据回归线,给定任意大脑重量,我们都能相应地预测体重
传统编程是认为定义步骤来实现结果,机器学习则是定义结果,程序自己寻找实现方式
线性回归在自变量和因变量之间建立模型,构建出一条最佳拟合直线,可以用它来做预测
线性回归注意事项
线性回归会根据训练数据生成直线模型。
如果训练数据包含非线性关系,需要选择:调整数据(进行数据转换)、增加特征数量或改用其他模型

容易受到异常值影响
线性回归的目标是求取对训练数据而言的 “最优拟合” 直线。如果数据集中存在不符合总体规律的异常值,最终结果将会存在不小偏差。
但若添加若干不符合规律的异常值,会明显改变模型的预测结果


多元线性回归
如果预测结果取决于多个变量,则需相应创建更加复杂的模型
只要所选自变量/预测变量适合当前场景,增加变量有助于改善预测结果
在只有单个预测变量时,线性回归模型是一条直线,而增加预测变量,相当于增加图像维度
在仅有单个预测变量时,直线模型的公式为
1 | y=mx+b |
图像如下所示:

1 | y=m1x1+m2x2+...+mnxn+b |
此时需要使用三维图像来进行展示,线性回归模型也变成了平面:

预测变量的数量可以超过两个,甚至在合适的情况下多多益善!
若使用n个预测变量,那么模型公式则为:
模型中的预测变量越多,就越难以通过图像展示
幸好线性回归的其他环节不发生变化,仍然可以用相同方式拟合模型和做出预测
1 | # -*- coding: utf-8 -*- |

本文作者 : Matrix
原文链接 : https://matrixsparse.github.io/2017/05/16/深度学习-回归模型/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
知识 & 情怀 | 二者兼得