线性回归

Deep learning:三(Multivariance Linear Regression练习)

感情迁移 提交于 2019-12-17 01:00:28
   前言:   本文主要是来练习多变量线性回归问题(其实本文也就3个变量),参考资料见网页: http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=DeepLearning&doc=exercises/ex3/ex3.html .其实在上一篇博文 Deep learning :二(linear regression 练习) 中已经简单介绍过一元线性回归问题的求解,但是那个时候用梯度下降法求解时,给出的学习率是固定的0.7.而本次实验中学习率需要自己来选择,因此我们应该从小到大(比如从0.001到10)来选择,通过观察损失值与迭代次数之间的函数曲线来决定使用哪个学习速率。当有了学习速率alpha后,则本问问题求解方法和上面的没差别。   本文要解决的问题是给出了47个训练样本,训练样本的y值为房子的价格,x属性有2个,一个是房子的大小,另一个是房子卧室的个数。需要通过这些训练数据来学习系统的函数,从而预测房子大小为1650,且卧室有3个的房子的价格。    实验基础:   dot(A,B):表示的是向量A和向量B的内积。   又线性回归的理论可以知道系统的损失函数如下所示:     其向量表达形式如下:      当使用梯度下降法进行参数的求解时,参数的更新公式如下:     

线性回归和Logistic回归

余生长醉 提交于 2019-12-16 20:14:02
目录 线性回归 用线性回归模型拟合非线性关系 梯度下降法 最小二乘法 线性回归用于分类(logistic regression,LR) 目标函数 如何求解 \(\theta\) LR处理多分类问题 线性回归 假设存在线性相关关系: \(y=a+bx\) 均方误差是回归任务中最常用的性能度量指标。因此,其损失函数为: \[ J(a,b)=\frac{1}{2m}\sum_{i=1}^{m}(y^{'(i)}-y^{(i)})^2=\frac{1}{2m}\sum_{i=1}^{m}(a+bx^{(i)}-y^{(i)})^2 \] 其中, \(y'\) 为预测值, \(y\) 为实际值。 \(J(a,b)\) 中, \(x^{(i)}\) 和 \(y^{(i)}\) 是常量参数(为 \(m\) 个样本各自的 \(x\) 和 \(y\) 值),而 \(a\) 和 \(b\) 是自变量。我们要做的,就是找到最好的 \(a\) 和 \(b\) ,使得 \(J(a,b)\) 取值最小。 通用线性回归模型:利用线性函数对一个或多个自变量( \(x\) 或 \((x_1,x_2,\cdots,x_k)\) )和因变量 \(y\) 之间的关系进行拟合的模型。 其函数形式为: \[ f(x_1,x_2,\cdots,x_k)=a+b_1x_1+b_2x_2+\cdots + b_kx_k \] \

线性回归

青春壹個敷衍的年華 提交于 2019-12-16 02:52:08
线性回归 线性回归(Liner Regression) 回归(regression)与分类(classification) 回归基本形式的解释 最小二乘法 损失函数 求最小损失下的参数w 概率的视角 极大似然估计 几何视角 线性回归(Liner Regression) 回归(regression)与分类(classification) 1.分类问题输出的值是离散的,回归问题输出的值是连续的 e.g. 预测明天的温度,预测明天是否下雨 2.分类问题输出的值是定性的,回归问题输出的值是定量的 3.损失函数不同 回归基本形式的解释 f(x i ) = w T x i + b x若是一维则可以写成f(x) = wx + b,是个很熟悉的直线方程 x若是四维: x1 x2 x3 x4 y 0.1 16 1 2 1.1 0.2 12 2 3 2.2 0.3 10 3 4 3.2 上表展示了,某特征x1,x2,x3,x4和标签y,其中x1,x2,x3,x4构成x向量,但是标签y却是标量。所以需要将向量x转换成标量(点乘结果为一个数值),及 w T x 最小二乘法 注:二乘,即平方 思想:让总的误差的平方最小的y就是真值,这是基于——如果误差是随机的,应该围绕真值上下波动。 上图描述的是,一条真实的直线,如果误差是随机的,那么采样得到的样本点应该在对应位置满足 高斯分布 ,即围绕真值波动。 那么使

逻辑回归与线性回归的区别

白昼怎懂夜的黑 提交于 2019-12-16 00:19:17
logistic回归与线性回归实际上有很多相同之处,最大的区别就在于他们的因变量不同,其他的基本都差不多,正是因为如此,这两种回归可以归于同一个家族,即广义线性模型(generalized linear model)。这一家族中的模型形式基本上都差不多,不同的就是因变量不同,如果是连续的,就是多重线性回归,如果是二项分布,就是logistic回归。logistic回归的因变量可以是二分类的,也可以是多分类的,但是二分类的更为常用,也更加容易解释。所以实际中最为常用的就是二分类的logistic回归。 与线性回归不同,逻辑回归主要用于解决分类问题,那么线性回归能不能做同样的事情呢?下面举一个例子。比如恶性肿瘤和良性肿瘤的判定。假设我们通过拟合数据得到线性回归方程和一个阈值,用阈值判定是良性还是恶性: 如图,size小于某值就是良性,否则恶性。但是“噪声”对线性方程的影响特别大,会大大降低分类准确性。例如再加三个样本就可以使方程变成这样:      那么,逻辑斯特回归是怎么做的呢?如果不能找到一个绝对的数值判定肿瘤的性质,就用概率的方法,预测出一个概率,比如>0.5判定为恶性的。 2.2 Sigmoid函数   逻辑回归首先把样本映射到[0,1]之间的数值,这就归功于sigmoid函数,可以把任何连续的值映射到[0,1]之间,数越大越趋向于0,越小越趋近于1。   函数的图像如下图,x

泰坦尼克号的逻辑回归模型

我是研究僧i 提交于 2019-12-15 17:11:09
逻辑回归算是机器学习中最基础的模型了,回归模型在做分类问题中有着较好的效果。下面介绍下利用sklearn做逻辑回归模型 做模型一般分为:提取数据---->了解数据(所谓的探索性数据)---->数据预处理(包括但不限于填充缺失值,特征提取,转换哑变量)---->选择模型---->验证模型---->模型优化 下面先简单介绍下逻辑回归的原理: 说到逻辑回归就不得不提一下线性回归,线性回归用wiki百科的定义来解释就是:在统计学中,线性回归是一种用来建立响应标量(因变量)和一个或多个解释变量(自变量)之间的模型关系的线性方法。线性回归分为一元线性回归和多元线性回归。均方误差是回归模型中常用的度量方法。一般用最小二乘法来最小化均方误差。 线性回归用的最多的是做预测,而逻辑回归最适合的有二分预测,比如是否垃圾邮件,广告是否点击等等;今天的模型用kaggle比赛中的泰坦尼克预测数据集来做逻辑回归模型,故此次我们做的是监督学习。 1.在数据集从kaggle中下载后我们先读取数据和数据预览: 通过DataFrame的函数info(),我们可以详细看到数据的分布等情况 import pandas as pd train=pd.read_csv('D:\\pycm\\kaggle\\titanic\\train.csv',index_col=0) #read train data test=pd

线性回归-API

折月煮酒 提交于 2019-12-14 18:26:34
线性回归的定义 利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式 线性回归的分类 线性关系 非线性关系 损失函数 最小二乘法 线性回归优化方法 正规方程 梯度下降法 正规方程 -- 一蹴而就 利用矩阵的逆,转置进行一步求解 只是适合样本和特征比较少的情况 梯度下降法 — 循序渐进 梯度的概念 单变量 -- 切线 多变量 -- 向量 梯度下降法中关注的两个参数 α -- 就是步长 步长太小 -- 下山太慢 步长太大 -- 容易跳过极小值点(*) 为什么梯度要加一个负号 梯度方向是上升最快方向,负号就是下降最快方向 梯度下降法和正规方程选择依据 小规模数据: 正规方程:LinearRegression(不能解决拟合问题) 岭回归 大规模数据: 梯度下降法:SGDRegressor sklearn.linear_model.LinearRegression(fit_intercept=True) 通过正规方程优化 参数 fit_intercept:是否计算偏置 属性 LinearRegression.coef_:回归系数 LinearRegression.intercept_:偏置 sklearn.linear_model.SGDRegressor(loss="squared_loss", fit_intercept=True,

机器学习必知必会10大算法

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

线性回归

北慕城南 提交于 2019-12-13 07:03:56
基础知识: 回归是监督学习的这个重要问题,回归用于预测输入变量和输出变量之间的关系; 很好的拟合已知模型,并很好的预测未知模型; 什么是回归: 1,回归问题分为模型的学习和预测两个过程。基于给定训练数据集构建一个模型,根据新的输入数据预测相应的输出; 2,回归问题按照 输入变量的个数 可以分为 一元回归 和 多元回归 ; 按照 输入变量和输出变量之间的关系类型 ,可以分为 线性回归 和 非线性回归 一元线性回归: 1,回归分析只涉及两个变量的,称为一元回归分析 2,一元回归的主要任务是从两个相关变量中的一个变量取估计另一个变量,被估计的变量称为因变量(Y);估计出的变量,称自变量(X)。 回归分析就是找一个模型Y=(X) 常用的案例: 根据工资,预测贷款额度---------回归问题 误差: 所有的误差都是独立同分布,且服从呈现高斯曲线的分布 公式(2)exp()指数的分子上(μ-epsion_i),μ是方差(其值为0) 机器学习:现有样本数据,倒过来求参数 。 之前方法:现有参数,再求样本。 似然函数 :已知发生了某些事件,我们希望知道参数是多少-------我们这里,已知x,y,需要求w,b 应为累乘不好算,取log(),转化为累加。 这个公式要会推!!!!有时候面试官会让推线性回归! 然后求J(w)最小时,w,b的值。 求偏导 ----求凸函数极值时 先求b的偏导

线性回归问题

心不动则不痛 提交于 2019-12-13 01:58:41
线性回归 线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。 例如: 有三个样本点(1,1),(2,2),(3,3) 我们假设函数为: 用这个函数表示样本点的模型,此时要找到合适的模型就要确定θ1的最佳值 代价函数 为确定合适的θ1,就要设定代价函数,我们用最小二乘法来表示代价函数: 此时即成为了以θ1为变量的函数,那么使代价最小的θ1的值即为所求 函数图像为: 再复杂一点,如果样本为下图: 那么假设函数为: 代价函数为: 所得代价函数的图像为: 参考吴恩达机器学习课程 来源: https://www.cnblogs.com/sfencs-hcy/p/12032817.html

回归评价指标MSE、RMSE、MAE、R-Squared

可紊 提交于 2019-12-13 01:12:08
前言 分类问题的评价指标是准确率,那么回归算法的评价指标就是MSE,RMSE,MAE、R-Squared。下面一一介绍 均方误差(MSE) MSE (Mean Squared Error)叫做均方误差。看公式 这里的y是测试集上的。 用 真实值-预测值 然后平方之后求和平均。 猛着看一下这个公式是不是觉得眼熟,这不就是线性回归的损失函数嘛!!! 对,在线性回归的时候我们的目的就是让这个损失函数最小。那么模型做出来了,我们把损失函数丢到测试集上去看看损失值不就好了嘛。简单直观暴力! 均方根误差(RMSE) RMSE(Root Mean Squard Error)均方根误差。 这不就是MSE开个根号么。有意义么?其实实质是一样的。只不过用于数据更好的描述。 例如:要做房价预测,每平方是万元(真贵),我们预测结果也是万元。那么差值的平方单位应该是 千万级别的。那我们不太好描述自己做的模型效果。怎么说呢?我们的模型误差是 多少千万?。。。。。。于是干脆就开个根号就好了。我们误差的结果就跟我们数据是一个级别的可,在描述模型的时候就说,我们模型的误差是多少万元。 MAE MAE(平均绝对误差) 不用解释了吧。 R Squared 上面的几种衡量标准针对不同的模型会有不同的值。比如说预测房价 那么误差单位就是万元。数子可能是3,4,5之类的。那么预测身高就可能是0.1,0.6之类的