关于线性回归实物相关介绍.doc

上传人:白大夫 文档编号:3388720 上传时间:2019-08-20 格式:DOC 页数:3 大小:16.50KB
返回 下载 相关 举报
关于线性回归实物相关介绍.doc_第1页
第1页 / 共3页
亲,该文档总共3页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《关于线性回归实物相关介绍.doc》由会员分享,可在线阅读,更多相关《关于线性回归实物相关介绍.doc(3页珍藏版)》请在三一文库上搜索。

1、关于线性回归实物相关介绍1 原理1.1 引入线性回归是最为常用的一种数据分析手段,通常我们拿到一组数据后,都会先看一看数据中各特征之间是否存在明显的线性关系。例如,现在我们拿到了一组学校中所有学生基本资料的数据,该数据以二维表格的形式呈现,如下表所示。示例数据表每行代表一个学生,每列代表该学生的一个属性(或称为特征),那么如果我们对特征进行仔细观察,不难发现身高和年龄总是呈现正相关关系,数学成绩与物理成绩也基本呈现正相关关系。那么我们是否可以给这样的两个特征之间拟合出一条近似的直线来表达他们之间的线性函数关系呢?这里我们的想法其实就是机器学习的世界观:数据驱动构建模型。1.2 模型只不过这里的

2、模型非常简单,只是线性模型,也就是一条直线方程,通长我们可以表达成如下公式:这里,数据中我们将某一特征列作为自变量 x (例如身高),因变量 y (如体重)也就是我们想要预测的值, x 和 y 都已知,现在的任务就是:加入新增了一个 x ,而其对应的 y 未知,那么我们该如何预测出一个 它?显然,我们需要构建 y 与 x 之间的函数关系:对于身高体重这样的简单问题而言,就可以直接使用上述的线性方程作为我们想要拟合的模型。接下来的问题就是,如何拟合这个模型,也就是说,如何求得线性模型中的两个参数 w 和 b?1.3 损失函数要求解最佳的参数,首先我们需要让计算机知道一个目标,毕竟解决任何问题都需

3、要确立一个明确的目标才行,对于计算机这样的数字世界,我们就需要给它确定一个定量化的目标函数式,在优化问题中,我们通常称之为目标函数,或者损失函数(Loss function)。无论我们选择什么样的模型,最终都是可以得到一组预测值 ,对比已有的真实值 y ,数据行数为 n ,我们很自然地可以将损失函数定义如下:即预测值与真实值之间的平均的平方距离,统计中我们一般称其为MAE(mean square error)均方误差。把之前我们确定的 带入损失函数:注意,对于损失函数 L 而言,其自变量不再是我们习惯中的 x(其实 x 和 y 都是在训练数据中的已知值),损失函数 L 的自变量应该是我们要求解

4、的参数 w 和 b,因此我们可以把损失函数重新记为:现在,我们的任务就是希望把这个损失函数交给计算机,然后跟计算机说,帮我把这个函数最小化,然后告诉我 L 最小时的一组 w 和 b 是多少就行了。但是显然计算机还没那么聪明,它并不知道怎么算,我们还是要靠自己解决。核心的优化目标式:这里有两种方式:一种是“最小二乘法”(least square method),可直接求解;另一种是梯度下降(gradient descent),有关梯度下降的方法原理可参考我之前这篇文章 - link。1.4 最小二乘法求解 和 是使损失函数最小化的过程,在统计中,称为线性回归模型的最小二乘“参数估计”(parameter estimation)。我们可以将 L 分别对 w 和 b 求导,得到:令上述两式为0,可得到 w 和 b 最优解的闭式(closed-form)解:1.5 梯度下降法求解2 代码实现 (使用梯度下降法)首先建立 liner_regression.py 文件,用于实现线性回归的类文件,包含了线性回归内部的核心函数。建立 train.py 文件,用于生成模拟数据,并调用 liner_regression.py 中的类,完成线性回归任务。显示结果:原始数据x, y和拟合的直线方程利用梯度下降法优化过程中损失函数的下降情况

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1