线性回归

回归分析

南楼画角 提交于 2019-12-12 21:01:55
1:如何创建简单线性回归、多项式回归、多元线性回归 7:深层次的分析-泛化能力和变量相对重要性 一、如何创建简单线性回归、多项式回归、多元线性回归 简单线性回归 :##采用R自带的women数据集,分析体重和更改的关系 fit1 = lm(weight~height,data=women) summary(fit) 参数解释: R方模型的整体评价是怎么样的,R方(0.991)可以解释99.1%的因变量Weight的值。 Estimate 参数的截距项和系数 Pr(>|t|)系数是否显著 H0:t检验所以是为0的原假设 多项式回归: 多项式回归其实也是单个的自变量对因变量的解释,只不过对自变量做了算数如对身高^2的算数 fit2= lm(weight~height+I(height^2),data=women) summary(fit2) 七、深层次的分析 模型的泛化能力和变量相对重要性方法 泛化能力:模型对新数据表现如何就叫做模型泛化能力,方法交叉验证: 所谓的交叉验证,将数据分为训练数据和测试数据,先训练数据做回归,再保留样本做预测。 栗子: 创建函数:shrinkage可获得初始R方和交叉验证后的R方 shrinkage= function(fit,k=10){ require(bootstrap) theta.fit =function(x,y){lsfit(x,y)}

机器学习必学10大算法

余生长醉 提交于 2019-12-12 11:11:01
本文介绍了 10 大常用机器学习算法,包括线性回归、Logistic 回归、线性判别分析、朴素贝叶斯、KNN、随机森林等。 1. 线性回归 在统计学和机器学习领域,线性回归可能是最广为人知也最易理解的算法之一。 预测建模主要关注的是在牺牲可解释性的情况下,尽可能最小化模型误差或做出最准确的预测。我们将借鉴、重用来自许多其它领域的算法(包括统计学)来实现这些目标。 线性回归模型被表示为一个方程式,它为输入变量找到特定的权重(即系数 B),进而描述一条最佳拟合了输入变量(x)和输出变量(y)之间关系的直线。 线性回归 例如:y = B0 + B1 * x 我们将在给定输入值 x 的条件下预测 y,线性回归学习算法的目的是找到系数 B0 和 B1 的值。 我们可以使用不同的技术来从数据中学习线性回归模型,例如普通最小二乘法的线性代数解和梯度下降优化。 线性回归大约有 200 多年的历史,并已被广泛地研究。在使用此类技术时,有一些很好的经验规则:我们可以删除非常类似(相关)的变量,并尽可能移除数据中的噪声。线性回归是一种运算速度很快的简单技术,也是一种适合初学者尝试的经典算法。 2. Logistic 回归 Logistic 回归是机器学习从统计学领域借鉴过来的另一种技术。它是二分类问题的首选方法。 像线性回归一样,Logistic 回归的目的也是找到每个输入变量的权重系数值。但不同的是

正则化线性模型和线性回归的改进—岭回归

僤鯓⒐⒋嵵緔 提交于 2019-12-12 03:14:45
九、正则化线性模型 Ridge Regression 岭回归 Lasso 回归 Elastic Net 弹性网络 Early stopping 1.Ridge Regression(岭回归) 岭回归是线性回归的正则化版本,即在原来的线性回归的cost function中添加正则项: 以达到在拟合数据的同时,使模型权重尽可能小的目的,岭回归代价函数: a=0:岭回归退化为线性回归 2.Lasso Regression(Lasso 回归) Lasso 回归是线性回归的另一种正则化版本,正则项为权值向量 ℓ1范数。 Lasso 回归的代价函数: 【注意】: Lasso Regression的代价函数在 θi=0处是不可导的. 解决方法:在 θi=0处用一个次梯度向量代替梯度,如下 Lasso Regression的次梯度向量 Lasso Regression有一个重要的型值是:倾向于完全消除不重要的权重 例如:当a取值相对较大的时,高阶多项式退化为二次甚至是线性:高阶多项式特征的权重被置为0. 也就是说,Lasso Regression能够自动进行特征选择,并输出一个稀疏模型(只有少数特征的权重是非零的)。 3.Elastic Net(弹性网络) 弹性网络在岭回归和Lasso回归中进行了折中,通过 混合比(mix ratio) r 进行控制: r=0:弹性网络变为岭回归 r=1

[ch05-00] 多变量线性回归问题

我与影子孤独终老i 提交于 2019-12-11 16:57:49
系列博客,原文在笔者所维护的github上: https://aka.ms/beginnerAI , 点击star加星不要吝啬,星越多笔者越努力。 第5章 多入单出的单层神经网络 5.0 多变量线性回归问题 5.0.1 提出问题 问题:在北京通州,距离通州区中心15公里的一套93平米的房子,大概是多少钱? 房价预测问题,成为了机器学习的一个入门话题,著名的波士顿的房价数据及相关的比赛已经很多了,但是美国的房子都是独栋的,前院后院停车库游泳池等等参数非常多,初学者可能理解起来有困难。我们不妨用简化版的北京通州的房价来举例,感受一下房价预测的过程。 影响北京通州房价的因素有很多,居住面积、地理位置、朝向、学区房、周边设施、建筑年份等等,其中,面积和地理位置是两个比较重要的因素。地理位置信息一般采用经纬度方式表示,但是经纬度是两个特征值,联合起来才有意义,因此,我们把它转换成了到通州区中心的距离。 我们有1000个样本,每个样本有两个特征值,一个标签值,示例如表5-1。 表5-1 样本数据 样本序号 地理位置 居住面积 价格(万元) 1 10.06 60 302.86 2 15.47 74 393.04 3 18.66 46 270.67 4 5.20 77 450.59 ... ... ... ... 特征值1 - 地理位置,统计得到: 最大值:21.96公里 最小值:2.02公里

[ch05-00] 多变量线性回归问题

孤街浪徒 提交于 2019-12-11 12:18:35
系列博客,原文在笔者所维护的github上: https://aka.ms/beginnerAI , 点击star加星不要吝啬,星越多笔者越努力。 第5章 多入单出的单层神经网络 5.0 多变量线性回归问题 5.0.1 提出问题 问题:在北京通州,距离通州区中心15公里的一套93平米的房子,大概是多少钱? 房价预测问题,成为了机器学习的一个入门话题,著名的波士顿的房价数据及相关的比赛已经很多了,但是美国的房子都是独栋的,前院后院停车库游泳池等等参数非常多,初学者可能理解起来有困难。我们不妨用简化版的北京通州的房价来举例,感受一下房价预测的过程。 影响北京通州房价的因素有很多,居住面积、地理位置、朝向、学区房、周边设施、建筑年份等等,其中,面积和地理位置是两个比较重要的因素。地理位置信息一般采用经纬度方式表示,但是经纬度是两个特征值,联合起来才有意义,因此,我们把它转换成了到通州区中心的距离。 我们有1000个样本,每个样本有两个特征值,一个标签值,示例如表5-1。 表5-1 样本数据 样本序号 地理位置 居住面积 价格(万元) 1 10.06 60 302.86 2 15.47 74 393.04 3 18.66 46 270.67 4 5.20 77 450.59 ... ... ... ... 特征值1 - 地理位置,统计得到: 最大值:21.96公里 最小值:2.02公里

监督学习线性回归算法

◇◆丶佛笑我妖孽 提交于 2019-12-11 01:50:28
假设(基于二维) 训练集 \[ \begin{bmatrix} 1&x_{11}&{\cdots}&x_{1n}\\ 1&x_{21}&{\cdots}&x_{2n}\\ {\vdots}&{\vdots}&{\ddots}&{\vdots}\\ 1&x_{m1}&{\cdots}&x_{mn}\\ \end{bmatrix}* \begin{bmatrix} \theta_{0}\\ \theta_{1}\\ {\vdots}\\ \theta_{n}\\ \end{bmatrix}= \begin{bmatrix} y_{1}\\ y_{2}\\ {\vdots}\\ y_{n}\\ \end{bmatrix} \] 表达式 \[h_\theta(x)=\theta_0+\theta_1x_1+...+\theta_nx_n...x为向量\] 定义代价函数 \[J_\theta(\theta_0,\theta_1,\theta_2,...,\theta_n)=\frac{1}{2m}\sum_{i=1}^{m}({h_\theta(x^i)-y(x^i)})^2\] 梯度下降法 \[min_{\theta_0...\theta_n}J(\theta_0,\theta_1,\theta_2,...,\theta_n)\] \[\theta_j=\theta_j-\alpha

机器学习系列1:线性回归

不羁的心 提交于 2019-12-10 20:44:30
写在前面:机器学习主要分为监督学习、无监督学习和强化学习。本节内容主要针对监督学习下的线性回归进行简要说明及实现。机器学习开篇模型就是线性回归,简言之就是用一条直线较为准确的描述数据之间的关系,当出现新的数据的时候的时候,给出一个简单的预测值。 一、回归问题    回归问题是监督学习的一个重要问题,回归用于预测输入变量(自变量)和输出变量(因变量)之间的关系,特别的当输入变量的值发生变化时,输出变量的值随之发生改变。回归模型正是表示输入变量到输出变量之间映射的函数。   回归按照输入变量的个数,分为 一元回归 和 多元回归 ;   回归按照输入变量和输出变量的关系类型,分为 线性回归 和 非线性回归 。         回归问题分为学习和预测两个过程,首先给定一个训练数据集:     T={(x 1 ,y 1 ),(x 2 ,y 2 ),...,(x N ,y N )} 这里xi€R n 是输入,y€R是对应的输出,i=1,2,...,N. 二、线性回归 假定:模型假定服从线性关系,即 y = ax+b or y = a 1 x 1 +a 2 x 2 +...+a N x N   输出为离散的就是分类,输出为连续值就是回归,而我们初中学过的直线方程就是线性的。所以线性回归就是用线性的线来拟合一些回归的值。 损失函数:常用的是平方损失   平方损失即欧氏距离

TensorFlow线性回归模型

怎甘沉沦 提交于 2019-12-10 19:47:34
使用python jupyter notebook 导包 import warnings warnings . filterwarnings ( 'ignore' ) import numpy as np import matplotlib . pyplot as plt % matplotlib inline from sklearn . linear_model import LinearRegression import tensorflow as tf X = np . linspace ( 2 , 12 , 50 ) . reshape ( - 1 , 1 ) w = np . random . randint ( 1 , 6 , size = 1 ) [ 0 ] b = np . random . randint ( - 5 , 5 , size = 1 ) [ 0 ] y = X * w + b + np . random . randn ( 50 , 1 ) * 0.7 #使其变得有波动 plt . scatter ( X , y ) 先使用线性回归拟合 linear = LinearRegression ( ) linear . fit ( X , y ) print ( linear . coef_ , linear . intercept_ ) print (

3-Tensorflow-线性回归

社会主义新天地 提交于 2019-12-10 09:13:09
import warnings warnings . filterwarnings ( 'ignore' ) import numpy as np import matplotlib . pyplot as plt % matplotlib inline from sklearn . linear_model import LinearRegression import tensorflow as tf # 版本1.50 X = np . linspace ( 2 , 12 , 50 ) . reshape ( - 1 , 1 ) w = np . random . randint ( 1 , 6 , size = 1 ) [ 0 ] b = np . random . randint ( - 5 , 5 , size = 1 ) [ 0 ] y = X * w + b + np . random . randn ( 50 , 1 ) * 0.7 plt . scatter ( X , y ) <matplotlib.collections.PathCollection at 0x1ec43188b38> print ( X . shape , y . shape ) (50, 1) (50, 1) linear = LinearRegression ( ) linear .

论文笔记(一)SecureML: A System for Scalable Privacy-Preserving Machine Learning

风格不统一 提交于 2019-12-08 20:57:38
SecureML:A system for Scalable Privacy-Preserving Machine Learning 1 摘要及介绍 1.1 模型的大致架构 首先,主要模型中主要有客户端和两台服务器,假设这两台服务器不会恶意合作。   整个训练过程大致分为在线和离线两个阶段,在线阶段的主要任务就是利用本文提出的安全算数技术在共享的十进制数上进行模型的更新,根据混淆电路的思想,除了最后能得到的模型,什么数据也不会暴露出来;离线阶段的主要任务是服务于在线阶段的乘法运算——利用线性同态加密或者不经意传输生成必要的三元组,因为这个开销比较大,后期还提出了一种改进,用客户端来辅助生成三元组; 1.2 主要贡献 为线性回归、逻辑回归、神经网络这三种机器学习算法开发出了新型的隐私保护的深度学习协议 开发出了支持在共享的十进制数上的安全算数操作的技术 对于那些非线性激活函数,如sigmoid softmax,提出了一种支持安全多方计算的替代方案 以上提出的所有技术相较于目前的技术,在保证安全的前提下,速度上都有很大的提升 1.2.1 为三种机器学习算法开发出的隐私保护的协议 线性回归、逻辑回归和神经网络这三种机器学习方案非常简单但也非常常用,而且他们之间思想类似且一种递进的趋势。 所谓思想类似指的是他们都是有监督的机器学习算法,思路都是先前馈,算出交叉熵之后,在利用随机梯度下降