线性回归——简单线性回归

给定数据集,其中。线性回归试图学得一个线性模型以尽可能准确线性回归试图学得一个线性模型以尽可能准确地预测实值输出标记。(注:上面的以及均表示向量;的取值表示在向量上的第d个属性)

先考虑最简单的情形(简单线性回归):输入属性的数目只有一个。简单线性回归线性回归试图学得

,使得

我们可以通过使均方误差最小化来求w和b,即

均方误差对应了常用的欧氏距离。基于均方误差最小化来进行模型求解的方法成为“最小二乘法”。在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧式距离之和最小。

,分别对w和b求偏导,可得:

这里是凸函数,当它关于w和b的导数均为0时得到w和b的最优解。令上面的偏导为0可得:

,其中

通过上式,可算出:

这就表明,在简单线性回归中,对应属性数目只有一个(也就是二维)时,最优解w是所有纵坐标之和除以所有横坐标之和。最优解b是在该w之下,数据集中所有点对应截距总和的平均值(即每个点在该w之下会有一个自己的截距,求出所有点的对应截距再求和,最后平均之后作为最优的截距)。

参考资料:机器学习(周志华版)

注:上述公式都可以简单推导出来,书中给出的w是上面的复杂的公式,在推到过程中可以不必太在意这个公式,直接结合求出的w和b的公式,联合方程组就可以求出上面那个简洁的w公式。个人认为这里推出的w很漂亮,因为很容易理解,算是第一次粗略地感受到数学之美。后续还会写一篇多元线性回归的博文,希望也可以做一个很好的解释。

时间: 2024-10-09 17:31:17

线性回归——简单线性回归的相关文章

简单线性回归

协方差:两个变量总体误差的期望. 简单的说就是度量Y和X之间关系的方向和强度. X :预测变量Y :响应变量 Y和X的协方差:[来度量各个维度偏离其均值的程度] 备注:[之所以除以n-1而不是除以n,是因为这样能使我们以较小的样本集更好的逼近总体的协方差,即统计上所谓的"无偏估计".而方差则仅仅是标准差的平方] 如果结果为正值,则说明两者是正相关的(从协方差可以引出"相关系数"的定义), 如果结果为负值就说明负相关的 如果为0,也是就是统计上说的"相互独立

简单线性回归算法

/**  * 简单线性回归算法  * @param array y轴数据  * @param array x轴数据  * @returns array(slope,intercept,r2)  */ function linearRegression(y, x) {     var lr = {};     var n = y.length;     var sum_x = 0;     var sum_y = 0;     var sum_xy = 0;     var sum_xx = 0;

SPSS数据分析—简单线性回归

和相关分析一样,回归分析也可以描述两个变量间的关系,但二者也有所区别,相关分析可以通过相关系数大小描述变量间的紧密程度,而回归分析更进一步,不仅可以描述变量间的紧密程度,还可以定量的描述当一个变量变化时,对另一个变量的影响程度,这是相关分析无法做到的,正因为如此,回归分析更多用来预测和控制变量值,但是回归分析并不等同于因果关系. 根据模型的不同可以分为线性回归和非线性回归 线性回归分析一般用线性模型来描述,和方差分析模型一样,只是各部分的叫法有所不同,回归模型分为常量.回归部分.残差常量就是所谓

sklearn学习笔记之简单线性回归

简单线性回归 线性回归是数据挖掘中的基础算法之一,从某种意义上来说,在学习函数的时候已经开始接触线性回归了,只不过那时候并没有涉及到误差项.线性回归的思想其实就是解一组方程,得到回归函数,不过在出现误差项之后,方程的解法就存在了改变,一般使用最小二乘法进行计算. 使用sklearn.linear_model.LinearRegression进行线性回归 sklearn对Data Mining的各类算法已经有了较好的封装,基本可以使用fit.predict.score来训练.评价模型,并使用模型进

机器学习六--回归--简单线性回归Simple Linear Regression

一.回归和分类 回归(regression)y变量为连续数值型(continuous numerical variable),如房价,降雨量. 分类(classification)y变量为类别型categorical variable.如颜色类别,电脑品牌等. 二.统计量:描述数据特征 2.1集中趋势衡量:均值(mean),中位数,众数. 2.2离散程度衡量:方差       标准差S 三.简单线性回归介绍 1.简单线性回归包含一个自变量(x)和一个因变量(y) 2.以上两个变量的关系用一条直线

机器学习与Tensorflow(1)——机器学习基本概念、tensorflow实现简单线性回归

一.机器学习基本概念 1.训练集和测试集 训练集(training set/data)/训练样例(training examples): 用来进行训练,也就是产生模型或者算法的数据集 测试集(testing set/data)/测试样例 (testing examples):用来专门进行测试已经学习好的模型或者算法的数据集 2.特征向量 特征向量(features/feature vector):属性的集合,通常用一个向量来表示,附属于一个实例 3.分类问题和回归问题 分类 (classific

ML_简单线性回归

1. 前提介绍: 为什么需要统计量? 统计量:描述数据特征 1.1 集中趋势衡量 1.1.1 均值(平均数.平均值)(mean) {6 2 9 1 2} (6+2+9+1+2)/5=4 1.1.2 中位数(medain):将数据中的各个数值按照大小顺序排列,居于中间位置的变量 1.1.3 众数(mode):数据中出现次数最多的数 1.2 1.2.1 离散程度衡量 1.2.1.1 方差(variance) 1.2.1.2 标准差(standard  deviation) 1. 介绍:回归(regr

机器学习-简单线性回归(二)

一.简单线性回归模型举例 汽车卖家做电视广告数量与卖出去的汽车数量: 1.1 列出适合简单线性回归模型的最佳回归线? 使sum of squares最小 1.2 计算 1.3 预测 假设有一周的广告数为6.预测的汽车销售量为多少? 代码: # -*- coding:utf-8 -*- #简单线性回归:只有一个自变量 y=k*x+b 预测使得(y-y*)^2最小 import numpy as np def fitSLR(x, y): n = len(x) dinominator = 0 #分母

03_有监督学习--简单线性回归模型(调用 sklearn 库代码实现)

有监督学习--简单线性回归模型(调用 sklearn 库代码实现)0.引入依赖1.导入数据(data.csv)2.定义损失函数3.导入机器学习库 sklearn4.测试:运行算法,从训练好的模型中提取出系数和截距5.画出拟合曲线6.附录-测试数据 有监督学习--简单线性回归模型(调用 sklearn 库代码实现) 0.引入依赖 import numpy as npimport matplotlib.pyplot as plt 1.导入数据(data.csv) points = np.genfro