线性回归

09 线性回归及矩阵运算

南楼画角 提交于 2019-12-06 16:03:43
线性回归 定义:通过一个或者多个自变量与因变量之间进行建模的回归分析。其中可以为一个或者多个自变量之间的线性组合。 一元线性回归:涉及到的变量只有一个 多元线性回归:变量两个或以上 通用公式:h(w) = w0 + w1x1 + w2x2 + ....= wTx 其中w,x 为矩阵:wT=(w0, w1, w2) x=(1,x1, x2)T 回归的应用场景 (连续型数据) 房价预测 销售额预测 (广告,研发成本,规模等因素) 贷款额度 线性关系模型 定义: 通过属性 (特征) 的线性组合来进行预测的函数: f(x) = w1x1 + w2x2 + w3x3 + ...... + wdxd + b w : weight (权重) b: bias (偏置项) 多个特征: (w1:房子的面积, w2:房子的位置 ..) 损失函数(误差) 《统计学习方法》 - 算法 ,策略, 优化 线性回归, 最小二乘法,正规方程 & 梯度下降 损失函数(误差大小) yi 为第i个训练样本的真实值 hw(xi)为第i个训练样本特征值组合预测函数 (预测值) 寻找最优化的w 最小二乘法之 正规方程 (直接求解到最小值,特征复杂时可能没办法求解) 求解:w= (xTx)-1 xTy X 为特征值矩阵,y为目标值矩阵 缺点: 特征过于复杂时,求解速度慢 最小二乘法之 梯度下降 使用场景

[04-00]单变量线性回归问题

血红的双手。 提交于 2019-12-06 10:06:41
系列博客,原文在笔者所维护的github上: https://aka.ms/beginnerAI , 点击star加星不要吝啬,星越多笔者越努力。 第4章 单入单出的单层神经网络 4.0 单变量线性回归问题 4.0.1 提出问题 在互联网建设初期,各大运营商需要解决的问题就是保证服务器所在的机房的温度常年保持在23摄氏度左右。在一个新建的机房里,如果计划部署346台服务器,我们如何配置空调的最大功率? 这个问题虽然能通过热力学计算得到公式,但是总会有误差。因此人们往往会在机房里装一个温控器,来控制空调的开关或者风扇的转速或者制冷能力,其中最大制冷能力是一个关键性的数值。更先进的做法是直接把机房建在海底,用隔离的海水循环降低空气温度的方式来冷却。 通过一些统计数据(称为样本数据),我们得到了表4-1。 表4-1 样本数据 样本序号 服务器数量(千台)X 空调功率(千瓦)Y 1 0.928 4.824 2 0.469 2.950 3 0.855 4.643 ... ... ... 在上面的样本中,我们一般把自变量X称为样本特征值,把因变量Y称为样本标签值。 这个数据是二维的,所以我们可以用可视化的方式来展示,横坐标是服务器数量,纵坐标是空调功率,如图4-1所示。 图4-1 样本数据可视化 通过对上图的观察,我们可以判断它属于一个线性回归问题,而且是最简单的一元线性回归。于是

采用线性回归方法降低双目测距到平面的误差(sklearn)

家住魔仙堡 提交于 2019-12-06 06:35:02
上一篇中,利用线性回归方法改善标定板的深度信息: remove_idx1 = np.where(Z <= 0) remove_idx2 = np.where(Z > 500)#将Z轴坐标限定在0-500,以减少非标定板区域的坐标影响 采用线性回归并显示坐标信息 from sklearn.linear_model import LinearRegression import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D #删除掉无效及多余点后,得到points_3d X = points_3d[:, 0] Y = points_3d[:, 1] Z = points_3d[:, 2] XY = points_3d[:, :2] #利用线性回归计算新的Z轴坐标 reg = LinearRegression() reg.fit(XY, Z) Z_predict = reg.predict(XY) fig=plt.figure() ax = plt.axes(projection='3d') ax.scatter3D(X, Y, Z, c='gray', s=1)#显示原始点信息 ax.scatter3D(X, Y, Z_predict, c='red')#显示修正点信息 ax.set_xlabel(r'

09 线性回归及矩阵运算

[亡魂溺海] 提交于 2019-12-06 06:26:37
09 线性回归及矩阵运算 线性回归 定义:通过一个或者多个自变量与因变量之间进行建模的回归分析。其中可以为一个或者多个自变量之间的线性组合。 一元线性回归:涉及到的变量只有一个 多元线性回归:变量两个或以上 通用公式:h(w) = w0 + w1x1 + w2x2 + ....= wTx 其中w,x 为矩阵:wT=(w0, w1, w2) x=(1,x1, x2)T 回归的应用场景 (连续型数据) 房价预测 销售额预测 (广告,研发成本,规模等因素) 贷款额度 线性关系模型 定义: 通过属性 (特征) 的线性组合来进行预测的函数: f(x) = w1x1 + w2x2 + w3x3 + ...... + wdxd + b w : weight (权重) b: bias (偏置项) 多个特征: (w1:房子的面积, w2:房子的位置 ..) 损失函数(误差) 《统计学习方法》 - 算法 ,策略, 优化 线性回归, 最小二乘法,正规方程 & 梯度下降 损失函数(误差大小) yi 为第i个训练样本的真实值 hw(xi)为第i个训练样本特征值组合预测函数 (预测值) 寻找最优化的w 最小二乘法之 正规方程 (直接求解到最小值,特征复杂时可能没办法求解) 求解:w= (xTx)-1 xTy X 为特征值矩阵,y为目标值矩阵 缺点: 特征过于复杂时,求解速度慢 最小二乘法之 梯度下降 使用场景

ML- 线性回归推导

梦想的初衷 提交于 2019-12-06 05:12:22
线性回归, 这部分算是我最为擅长的了, 真的不吹, 6年经验 , 我高中时代就已经会推导了, 当然是最最小二乘法和统计学(假设检验, 参数分布等)的角度. 后来上了大学, 又是从最小二乘和统计学角度, 最终呢, 还是从线性代数(向量投影) 和 微积分 角度 + 代码实现给整了一遍, 再后来就是ML, 撸了一遍梯度下降, 嗯, 整体感悟就是,对一个事物的认知, 需要一个时间的过程和实践. 正如古人所讲, 纸上来得终觉浅, 绝知此事要躬行. 回归模型 数据: \((y_i, X_{i1}, X_{i2}...X_{ip}), \ i = 1,2,3...n\) y 是一个向量, X是一个矩阵 样本 X 是一个 nxp 的矩阵, 每一行是表示一个样本, 对应一个目标值 y 是由这 p 个(维) 列向量 线性组合 而成, 因此叫线性回归. 模型: \(y_i = \beta_0 +\beta_1 X_{i1} + \beta_2 X_{i2} + \beta_p X_{il} + \epsilon_i, \ i=1,2,...n\) \(\epsilon \backsim N(0, \sigma)\) , 为啥误差的均值是0, 参考大数定律呗.(总体和样本的关系) 写为矩阵的形式: \(y = X\beta + \epsilon\) X 是 nxp, \(\beta\) 是 px1, y

logistic回归介绍以及原理分析

女生的网名这么多〃 提交于 2019-12-05 21:59:55
1.什么是logistic回归? logistic回归虽然说是回归,但确是为了解决分类问题,是二分类任务的首选方法,简单来说,输出结果不是0就是1 举个简单的例子: 癌症检测:这种算法输入病理图片并且应该辨别患者是患有癌症(1)或没有癌症(0) 2.logistic回归和线性回归的关系 逻辑回归(Logistic Regression)与线性回归(Linear Regression)都是一种广义线性模型(generalized linear model)。 逻辑回归假设因变量 y 服从二项分布,而线性回归假设因变量 y 服从高斯分布。 因此与线性回归有很多相同之处,去除Sigmoid映射函数的话,逻辑回归算法就是一个线性回归。 可以说,逻辑回归是以线性回归为理论支持的,但是逻辑回归通过Sigmoid函数引入了非线性因素,因此可以轻松处理0/1分类问题。 换种说法: 线性回归,直接可以分为两类, 但是对于图二来说,在角落加上一块蓝色点之后,线性回归的线会向下倾斜,参考紫色的线, 但是logistic回归(参考绿色的线)分类的还是很准确,logistic回归在解决分类问题上还是不错的 3.logistic回归的原理 Sigmoid函数: 曲线: 我们希望随机数据点被正确分类的概率最大化,这就是最大似然估计。 最大似然估计是统计模型中估计参数的通用方法。 你可以使用不同的方法(如优化算法

多项式回归

社会主义新天地 提交于 2019-12-05 11:34:53
多项式回归简介   考虑下面即将出现的数据,虽然我们可以使用线性回归来拟合这些数据,但是这些数据更像是一条二次曲线,相应的方程是 $y=ax^{2}+bx+c$ ,这是式子虽然可以理解为二次方程,但是我们呢可以从另外一个角度来理解这个式子:   如果将 $x^{2}$ 理解为一个特征,将 $x$ 理解为另外一个特征,换句话说,本来我们的样本只有一个特征 $x$ ,现在我们把他看成有两个特征的一个数据集。多了一个特征 $x^{2}$ ,那么从这个角度来看, 这个式子依旧是一个线性回归的式子,但是从 $x$ 的角度来看,它就是一个二次的方程。   以上这样的方式,就是所谓的多项式回归相当于我们为样本多添加了一些特征,这些特征是原来样本的多项式项,增加了这些特征之后,我们可以使用线性回归的思路来更好的处理我们的数据。 什么是多项式回归 数据来源 import numpy as np import matplotlib.pyplot as plt # 生成100个数字 1*100 np.random.seed(100) x = np.random.uniform(-3, 3, size=100) # 100*1 X = x.reshape(-1, 1) # 一元二次方程 y = 0.5 * x**2 + x + 2 + np.random.normal(0, 1, 100) plt

机器学习算法介绍

不打扰是莪最后的温柔 提交于 2019-12-05 05:16:35
转载:https://blog.csdn.net/xiaochendefendoushi/article/details/81905111 在机器学习领域,有种说法叫做“世上没有免费的午餐”,简而言之,它是指没有任何一种算法能在每个问题上都能有最好的效果,这个理论在监督学习方面体现得尤为重要。 举个例子来说,你不能说神经网络永远比决策树好,反之亦然。模型运行被许多因素左右,例如数据集的大小和结构。 因此,你应该根据你的问题尝试许多不同的算法,同时使用数据测试集来评估性能并选出最优项。 当然,你尝试的算法必须和你的问题相切合,其中的门道便是机器学习的主要任务。打个比方,如果你想打扫房子,你可能会用到吸尘器、扫帚或者拖把,但你肯定不会拿把铲子开始挖坑吧。 对于渴望了解机器学习基础知识的机器学习新人来说,这儿有份数据科学家使用的十大机器学习算法,为你介绍这十大算法的特性,便于大家更好地理解和应用,快来看看吧。 1. 线性回归 线性回归可能是统计学和机器学习中最知名和最易理解的算法之一。 由于预测建模主要关注最小化模型的误差,或者以可解释性为代价来做出最准确的预测。 我们会从许多不同领域借用、重用和盗用算法,其中涉及一些统计学知识。 线性回归用一个等式表示,通过找到输入变量的特定权重(B),来描述输入变量(x)与输出变量(y)之间的线性关系。 Linear Regression 举例:y

线性回归

房东的猫 提交于 2019-12-04 16:21:31
  说到回归一般都指线性回归,回归的目的是预测数值型的目标值。线性回归模型的优点在于结果易于理解,计算简单,缺点在于对非线性的数据拟合不好。 原理   线性回归就是对输入特征加权求和,在加上偏置项进行预测。公式如下所示: $$ widehat{h}=theta_{0}+theta_{1}x_{1}+theta_{2}x_{2}+…+theta_{n}x_{n} tag{1} $$ 其中,$widehat{h}$代表预测值,$n$是特征的个数,${x_i}$代表第i个特征值,$theta_{i}$ 代表第i个特征的权重,将上式向量化有 $$ widehat{h}=h_{theta}(X)=Xtheta tag{2} $$ 其中$theta$是模型的参数向量,X是实例的特征向量,$h_{theta}$是使用模型参数$theta$做参数的假设函数。 * 注:这里为什么写成$Xtheta$的形式,而不是$theta X$呢?在实际使用中,实例的特征是行向量,由多个实例构成输入矩阵,而权重是列向量,其具体形式如下 $$ Xtheta= begin{bmatrix} x_0^1 & x_0^2 & … &x_0^n \ x_1^1 & x_1^2 & … &x_1^n \ … & … & … &… \ x_m^1 & x_m^1 & … &x_m^1 end{bmatrix} begin

数据不正态分布如何办?

感情迁移 提交于 2019-12-04 05:42:45
在实际研究中,很多时候都需要数据满足正态分布才可以。比如说回归分析,其实做回归分析有一个前提条件即因变量需要满足正态分布性。也比如说方差分析,其有一个潜在的前提假定即因变量 Y 需要满足正态分布。还有很多种情况,比如 T 检验,相关分析等等。 但这种情况往往被分析人员忽略掉,或者是数学基本不够扎实,也或者无论如何数据均不满足正态分布等客观条件,也或者其它情况等。如果说没有满足前提条件,分析的结果会变得不科学严谨,分析结论会受到置疑。 哪些研究方法需要数据满足正态分布才行呢?以及如果不满足正态分布时应该如何处理呢?接下来会逐步说明。 第一:需要满足正态分布的几类常见研究方法: 常见会涉及五种研究方法,它们对正态性要求相对较高,如果不满足正态性则会有对应的处理。 线性回归分析 线性回归分析,很多时候也称回归分析。其对正态性的要求较为严格,包括因变量 Y 需要满足正态性要求,同时残差也需要满足正态性。如果说因变量 Y 不满足正态分布,通常情况下有以下几种处理办法。 第 1 :对因变量 Y 取对数处理(包括自然对数和 10 为底的对数);这可以在 SPSSAU 的生成变量功能里面找到; 第 2 :如果数据接近于正态分布,则接受其为正态分布性。此种情况较多,因为在研究影响关系时,线性回归最适合,如果不进行线性回归,通常情况下很难有更适合的研究方法。因而很多时候只要数据接受于正态性即可