线性回归

matlab一元线性回归及多元线性回归方程

岁酱吖の 提交于 2020-01-19 05:12:01
%%1、bint表示回归系数区间估计可参考http://www.360doc.com/content/11/0801/20/2537127_137246007.shtml %2、r表示残差 %3、rint代表置信区间 %4、stas表示用于检验回归模型的统计量,有三个数值 r^2 F 与F对应的概率P 例如p<0.05 残差95% % r^2越接近于1,回归方程越显著 %alpha表示显著水平 %% x=[143 144 145 147 148 150 153 154 155 156 157 158 159 160 161 162]’; X=[ones(16,1),x]; Y=[87 85 88 91 92 90 93 95 98 98 97 95 97 99 100 102]’; [b,bint,r,rint,stats]=regress(Y,X) t=1:16; %% figure(1); y_fitting=X(t,:)*b; plot(t,y_fitting,‘r-’, t,Y(t,:),‘b-’, t,abs(y_fitting-Y(t,:)),‘k-’); legend(‘红–拟合值’,‘蓝–实际值’,‘黑–误差值’); text(3,50,strcat(‘相关系数R=’,num2str(stats(1,1 )))); text(7,50,strcat(‘F=’

机器学习入门笔记02-线性回归

守給你的承諾、 提交于 2020-01-19 01:00:34
首先做一道高中数学题 下表提供了某厂节能降耗技术改造后产生甲产品过程中记录的产量x(单位:吨)与相应的生产能耗y(单位:吨/标准煤)的几组对照数据。 x 3 4 5 6 y 2.5 3 4 4.5 请画出上表数据的散点图; 请根据上表提供的数据,用最小平方发求出y关于x的线性回归方程; 已知该厂技改前100吨甲产品的生产能耗为90吨/标准煤。试根据(2)求出的线性回归方程预测生产100吨甲产品的生产能耗比技改前降低多少吨/标准煤?(参考数值:3×2.5+4×3+5×4+6×4.5=66.5) 【解】(1)散点图如下: (2)根据题中所给数据,可得: ∴所求线性回归方程为 (3)根据(2)求出的线性回归方程及题干,得降低的生产能耗为: y =90 - 0.7×100+0.35 =19.65( 吨/标准煤 ) 上面这道高考题所考察的知识就是最基本的线性回归。我记得中学阶段求解回归方程的重要公式: 中学阶段我们已经知道线性回归就是利用已知数据(根据上述公式)求得回归方程,通过回归方程预测未知数据。上面这道题的回归方程图像下: 事实上,这道题中所涉及的回归问题正是输入数据只有一个属性(即样本的类型只有一种,换句话说,仅通过一类样本——如题中的产量,来预测结果——如题中的生产能耗)的线性回归问题。首先从单属性回归任务入手: 假设输入数据样本D={( x 1, y 1), … , ( x m,

机器学习之线性回归

痞子三分冷 提交于 2020-01-18 08:11:21
主要是对吴恩达机器学习的视频来学习,学习了线性回归内容,总体进行复盘总结; 1、一元线性回归 回归模型是表示输入变量到输出变量之间映射的函数,回归问题等价于函数拟合,回归函数的求解最常用的代价函数是平方损失函数,平方损失函数可以用最小二乘法进行解决,本例中使用梯度下降法进行处理; 梯度下降法:优点:可以处理复杂的目标函数 缺点:如果代价函数不是凸函数,则容易得到局部最优解 学习率的选择,过小导致收敛速度慢,过大则会造成震荡 方法一:自己编写python代码实现 x = [ 1 , 2 , 3 , 4 , 5 , 6 ] y = [ 7 , 8 , 9 , 10 , 11 , 12 ] #x,y,数据,a 学习率,m迭代轮数 def linerRegre ( x , y , a , m ) : theta0 = 0 theta1 = 0 diff = [ 0 , 0 ] l = len ( x ) while m > 0 : for i in range ( l ) : diff [ 0 ] += theta0 + theta1 * x [ i ] - y [ i ] diff [ 1 ] += theta0 * x [ i ] + theta1 * x [ i ] * x [ i ] - x [ i ] * y [ i ] theta0 = theta0 - a / l *

机器学习线性回归

好久不见. 提交于 2020-01-18 06:52:20
1.线性回归的原理 进入一家房产网,可以看到房价、面积、厅室呈现以下数据: 我们可以将价格和面积、厅室数量的关系习得为f(x)=θ0+θ1x1+θ2x2f(x)=θ0+θ1x1+θ2x2,使得f(x)≈yf(x)≈y,这就是一个直观的线性回归的样式。 2.线性回归的一般形式: 有数据集{(x1,y1),(x2,y2),…,(xn,yn)}{(x1,y1),(x2,y2),…,(xn,yn)},其中,xi=(xi1;xi2;xi3;…;xid),yi∈Rxi=(xi1;xi2;xi3;…;xid),yi∈R 其中n表示变量的数量,d表示每个变量的维度。 可以用以下函数来描述y和x之间的关系: f(x)=θ0+θ1x1+θ2x2+…+θdxd。 均方误差是回归中确定θ值的常用的性能度量,即: 3.线性回归损失函数、代价函数、目标函数 损失函数(Loss Function):度量单样本预测的错误程度,损失函数值越小,模型就越好。 代价函数(Cost Function):度量全部样本集的平均误差。 目标函数(Object Function):代价函数和正则化函数,最终要优化的函数。 4.线性回归的优化方法 梯度下降法 设定初始参数θθ,不断迭代,使得J(θ)J(θ)最小化: 当J为凸函数时,梯度下降法相当于让参数θθ不断向J的最小值位置移动。 梯度下降法的缺陷:如果函数为非凸函数

梯度下降求解线性回归

老子叫甜甜 提交于 2020-01-18 06:19:06
本文主要翻译自 An Introduction to Gradient Descent and Linear Regression ,原文写的通俗易懂,在文章最后还不忘推荐了一下吴恩达的 机器学习课程 。我不打算逐字逐句翻译,毕竟老外废话太多。 线性回归可以用最小二乘法直接求解。这里之所以选择线性回归的例子并用梯度下降求解,是为了阐明梯度下降算法的应用。 相关代码在 这里 。 简单来讲,线性回归的目的就是,对于一个给定的点集,找到一条直线对其进行拟合。考虑下图的数据: 假设我们要使用一条直线对上述点集进行拟合。首先使用标准的直线方程y = mx + b,其中m是斜率,b是y轴截距。为了找到最好的直线,我们需要确定最合适的m和b。 该类问题的标准解法是定义一个误差函数(error function)来度量什么样的拟合直线比较好。常用的误差函数如下所示: 其中,m,b分别是给定直线的斜率和y轴截距,这是一个以(m,b)为自变量的二元函数。python实现如下: # y = mx + b # m is slope, b is y-intercept def computeErrorForLineGivenPoints(b, m, points): totalError = 0 for i in range(0, len(points)): totalError += (points[i]

多元线性回归

吃可爱长大的小学妹 提交于 2020-01-18 04:44:42
一、多元线性回归 所谓的多元线性回归就是指在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。 二、多元线性回归模型 1.建立模型 以二元线性回归模型为例 ,二元线性回归模型如下: 类似的使用最小二乘法进行参数估计 : 2.拟合优度指标 标准误差:对y值与模型估计值之间的离差的一种度量。其计算公式为: 3.置信范围 置信区间的公式为:置信区间= 其中, 是自由度为 的 统计量数值表中的数值, 是观察值的个数, 是包括因变量在内的变量的个数。 三、估值方法 1.普通最小二乘法 普通最小二乘法(Ordinary Least Square, OLS)通过最小化误差的平方和寻找最佳函数。通过矩阵运算求解系数矩阵: 2.广义最小二乘法 广义最小二乘法(Generalized Least Square)是普通最小二乘法的拓展,它允许在误差项存在异方差或自相关,或二者皆有时获得有效的系数估计值。 四、推导过程 五、关于矩阵的计算的程序 我之前写了一个矩阵计算的轮子,详情请参考这篇文章: 《python实现矩阵操作(自造轮子)》 来源: CSDN 作者: M.Philip.Lu 链接: https://blog.csdn.net/qq_43029747/article/details/103758193

吴恩达机器学习3--逻辑回归(Logistic Regression)

吃可爱长大的小学妹 提交于 2020-01-17 23:57:01
分类问题 在分类问题中,你要预测的变量 𝑦 是离散的值,我们将学习一种叫做 逻辑回归 (Logistic Regression) 的算法,这是目前最流行使用最广泛的一种学习算法。 在分类问题中,我们尝试预测的是结果是否属于某一个类(例如正确或错误)。分类问题的例子有:判断一封电子邮件是否是垃圾邮件;判断一次金融交易是否是欺诈;判断肿瘤是恶性还是良性 先从二元分类来讨论 我们将因变量可能属于的两个类别称为 正类 和 负类 ,我们用0表示负类,用1表示正类。 如果我们用线性回归来解决一个分类问题,线性函数的输出值可能远大于1或者远小于0,那怎么办呢? 所以我们就要逻辑回归的算法的 输出值永远在0到1中间 根据线性回归模型,我们只能预测连续值,而逻辑回归预测的是离散值,我们可以假设 当ℎ𝜃(𝑥) >= 0.5时,预测 𝑦 = 1。 当ℎ𝜃(𝑥) < 0.5时,预测 𝑦 = 0 。 我们引入一个新的模型,逻辑回归,该模型的输出变量范围始终在 0 和 1 之间。 逻辑回归模型的假设是: ℎ𝜃(𝑥) = 𝑔(𝜃𝑇𝑋) 其中: 𝑋 代表特征向量 𝑔 代表逻辑函数,是一个常用的逻辑函数为 S 形函数(Sigmoid function) python代码实现 import numpy as np def sigmoid ( z ) : return 1 / ( 1 + np . exp ( - z

经典线性回归模型十大假定

好久不见. 提交于 2020-01-16 18:42:08
经典线性回归模型的十大假定 假定1:线性回归模型——回归模型对参数而言是线性的(回归子Y和回归元X可以是非线性的) 假定2:在重复抽样中,X值是固定的——条件回归分析 假定3:干扰项u的均值为0——给定的X值,随机干扰项u的均值或期望值为0 假定4:同方差性——给定的X值,Y的方差是一样多的,即条件方差恒定 无条件方差与有条件方差 假定5:各个干扰之间无自相关性——无序列相关或无自相关 假定6:u和X的协方差为0——化简可以得到E(u*X)=0——非关键 假定7:观测次数n大于待估计的参数个数 假定8:X值要有变异性——即X值的取值不能是全部一样的 假定9:正确地设定了回归模型 假定10:没有完全的多重共线性——含有多个回归元时的情况 待补充… 来源: CSDN 作者: 第五清风 链接: https://blog.csdn.net/qq_36312878/article/details/104008227

@。Tensorflow,纯新手入门笔记->回归算法、损失函数

吃可爱长大的小学妹 提交于 2020-01-16 09:24:44
第七节: 机器学习中第一个算法:回归算法 亮点: 1.因变量和自变量之间的关系实现数据的预测。 2.不同自变量对因变量影响的强度。(不就是k嘛) for example :对房价估计时,需要确定房屋面积(自变量)与其价格(因变量)之间的关系,可以利用这一关系来预测给定面积的房屋的价格。 可以有多个影响因变量的自变量。 一、线性回归 其中,X=(x1,​x2,…,xn) 为 n 个输入变量,W=(w1,w2,…,wn) 为线性系数,b 是偏置项。目标是找到系数 W 的最佳估计,使得预测值 Y 的误差最小。 亮点: 1.W很重要,要W最佳,使得误差最小。 2.最小二乘法,可以使得W最佳。即使预测值 (Yhat) 与观测值 (Y) 之间的差的平方和最小。 3.还有个b偏置 因此,这里尽量最小化损失函数: 根据输入变量 X 的数量和类型,可划分出多种线性回归类型: 简单线性回归(一个输入变量,一个输出变量),多元线性回归(多个输入变量,一个输出变量),多变量线性回归(多个输入变量,多个输出变量)。 二、逻辑回归 :用来确定一个事件的概率。通常来说,事件可被表示为类别因变量。事件的概率用 logit 函数(Sigmoid 函数)表示: 现在的目标是估计权重 W=(w1,w2,…,wn) 和偏置项 b。在逻辑回归中,使用最大似然估计量或随机梯度下降来估计系数。损失函数通常被定义为交叉熵项:

什么是回归,怎样理解

[亡魂溺海] 提交于 2020-01-16 01:51:27
1.1 通俗的理解:   统计学讲回归 就是一堆数据画到一个画像上,实际上有一个真实图像 但是你从数据得到的图像和真实的图像不一致,通过数据越来越多,图像就回到了真实的图像了,这就是回归。    通过观察使得认知接近真值的过程---回归本源   在我们 认知 ( 测量 )这个世界的时候,我们并不能得到这个世界的 全部信息 ( 真值 ),只能得到这个世界展现出的可被我们观测的 部分信息 。那么,如果我们想得到世界的真值,就只能通过尽可能多的信息,从而使得我们的认识,无限 接近 ( 回归 )真值。   其中,真值的概念是一个抽象的概念(感觉是从统计学中给出的)。真值是真实存在于这个世界的,但是却又永远无法真正得到。因为,无论是受限于我们自身的认知水平,还是测量手段,都会存在偏差,导致无法得到真值。就 像海森堡测不准原理一样,永远不可能知道一个确定的真值。再说的扯一点,真值就是我们中国人常说的道。 1.2 回归的定义   回归,指研究一组随机变量(Y1 ,Y2 ,…,Yi)和另一组(X1,X2,…,Xk)变量之间关系的 统计分析方法 ,又称多重回归分析。通常Y1,Y2,…,Yi是因变量,X1、X2,…,Xk是自变量。 1.3 回归分析(Regression analysis)   分析自变量与因变量之间定量的因果关系,并用回归方程来表示。   结合1.1所说的回归的含义