线性回归

机器学习——单变量线性回归

给你一囗甜甜゛ 提交于 2020-01-29 04:41:20
机器学习之单变量线性回归 model representation模型表示 引言  给定房屋面积和房屋价格的数据,然后以房屋面积为横坐标,房屋价格为纵坐标,绘制数据点。通过绘制曲线,获得房屋房价的模型,根据房屋面积获得房屋价格,这就是一个Regression Problem(回归问题)。 定义  Regression指的是根据之前的数据预测出一个准确的输出值,即predict real_valued output。  训练集符号表示:   m =Number of training examples 共有m组房屋面积和价格数据   x's = "input"variable / features    房屋面积   y's = "output"variable /features   房屋价格   (x,y)= one training example    一个训练样本 训练  将数据集喂给学习算法,Learning Algorithm,输出函数为 h , h 是一个从x到y的映射。 根据输入房屋面积x,通过函数 h 计算,得出房屋价格y。 称如下式子 h(x) = θ 0 θ 1 x 为Linear regression with one variable 或者 Univariate linear regression(单变量线性回归) Cost Function代价函数 θ

机器学习之正则化

假装没事ソ 提交于 2020-01-28 21:16:15
一、防止过度拟合 过度拟合问题: 例如:那个用线性回归来预测房价的例子,我们通过建立以住房面积为自变量的函数来预测房价,我们可以对该数据做线性回归,以下为三组数据做线性拟合的结果: ①第一个图我们用直线去拟合,这不是一个很好的模型。 我们看看这些数据,很明显,随着房子面积增大,住房价格的变化应趋于稳定,或者越往右越平缓。 因此该算法没有很好拟合训练数据,我们把这个问题称为欠拟合(underfitting),这个问题的另一个术语叫做高偏差(bias) 。 ②第二个图我们用二次函数来拟合它,这个拟合效果很好 。 ③第三个图我们拟合一个四次多项式,因此在这里我们有五个参数 θ0到θ4 这样我们可以拟合一条曲线,通过我们的五个训练样本,你可以得到看上去如此的一条曲线。 这条回归直线似乎对训练数据做了一个很好的拟合,因为这条曲线通过了所有的训练实例。但是这仍然是一条扭曲的曲线。事实上,我们并不认为它是一个预测房价的好模型。 所以 这个问题我们把他叫做过度拟合或过拟合(overfitting),另一个描述该问题的术语是高方差(variance)。 高方差是另一个历史上的叫法,但是从第一印象上来说,如果我们拟合一个高阶多项式,那么这个函数能很好的拟合训练集,能拟合几乎所有的训练数据。这就面临可能函数太过庞大的问题、变量太多。 如果我们没有足够的数据去约束这个变量过多的模型 那么这就是过度拟合。

机器学习—02线性回归

爱⌒轻易说出口 提交于 2020-01-28 18:25:20
文章目录 一、单变量线性回归 二、损失(代价)函数——均方误差 1、损失函数J(θ~0~,θ~1~) 3、损失函数的等高图 三、梯度下降 1、梯度下降思想 2、梯度下降算法 3、线性回归的梯度下降 四、三种梯度下降 1、批梯度下降 2、随机梯度下降 3、Mini-Batch梯度下降 4、三种梯度下降比较 5、学习率衰减 五、多变量线性回归 1、多变量线性回归模型 2、多元梯度下降 一、单变量线性回归 最简单的开始:线性方程 简单来说: 线性:穿过很多点的直线,利用这个算法生成的模型一定是一条直线 回归:求解方程的步骤,让数据回归(聚集)到一个特定的模型中,如果特定的模型指的是线性,那么就是让所有点都靠近这条线 线性回归实例: 房屋面积(x) 房屋总价(y) 40 78 96 200 135 330 … … m:训练集数据的总量 x:输入变量 y:输出变量,也叫做标签 (x,y):一个训练样本 ( x i , y i ):第i个训练样本 属于有监督的学习:可以预测到一个确定的结果 我们知道机器学习的基本步骤是: 对于一元线性回归(单变量线性回归)来说, 学习算法的模型公式为: y = ax + b (a:斜率 b:截距) 我们换一种写法: h θ (x) = θ 0 + θ 1 x 1 线性回归实际上要做的事是:选择合适的参数(θ 0 ,θ 1 ),使得模型h θ (x

机器学习——分类和回归

不羁的心 提交于 2020-01-28 03:20:31
1.机器学习的主要任务: 一是将实例数据划分到合适的分类中,即 分类问题 。 而是是 回归 , 它主要用于预测数值型数据,典型的回归例子:数据拟合曲线。 2.监督学习和无监督学习: 分类和回归 属于 监督学习 ,之所以称之为监督学习,是因为这类算法必须直到预测什么,即 目标变量的分类信息 。 对于 无监督学习 ,此时 数据没有类别信息,也不会给定目标值 。在无监督学习中,将数据集合分成由类似的对象组成的多个类的过程被成为 聚类 ;将寻找描述数据统计值的过程称之为 密度估计 。此外,无监督学习还可以减少数据特征的维度,以便我们可以使用二维或者三维图形更加直观地展示数据信息。 3.线性回归和非线性回归    线性回归 需要一个线性模型。一个 线性的模型 意味着模型的 每一项 要么是一个 常数 ,要么是 一个常数和一个预测变量的乘积 。一个线性等式等于每一项相加的和。等式: Response = constant + parameter * predictor + ... + parameter * predictor  <=>  Y = b o + b 1 X 1 + b 2 X 2 + ... + b k X k 在统计学中,如果一个回归方程是线性的,那么它的参数必须是线性的。但是可以转换预测变量加上平方,来使得模型产生曲线,比如 Y = b o + b 1 X 1 + b 2 X

A02线性回归资源帖

牧云@^-^@ 提交于 2020-01-27 02:15:46
按图索骥学-机器学习 有关机器学习的一组教程,深入浅出 用一副思维导图串联所有学习资源和知识点,每个同学都可以根据自己的情况,按图索骥,设计自己的学习路径,学习需要的课程 这是此课程A02线性回归的资源帖 更新后的完整课程视频( 完整视频 ): 按图索骥学-机器学习 来源: CSDN 作者: 代码就是6 链接: https://blog.csdn.net/it_oheasy/article/details/103891647

python_线性回归,最小二乘法

非 Y 不嫁゛ 提交于 2020-01-27 01:25:11
python_线性回归,最小二乘法 线性回归(又名普通最小二乘法) 线性回归,或者普通最小二乘法(ordinary least squares,OLS),是回归问题最简单也最经 典的线性方法。线性回归寻找参数 w 和 b,使得对训练集的预测值与真实的回归目标值 y 之间的均方误差最小。均方误差(mean squared error)是预测值与真实值之差的平方和除 以样本数。线性回归没有参数,这是一个优点,但也因此无法控制模型的复杂度。 Linear Regression aka Ordinary Least Squares # 线性回归,最小二乘法 # 生成测试数据 from sklearn . linear_model import LinearRegression X , y = mglearn . datasets . make_wave ( n_samples = 60 ) X_train , X_test , y_train , y_test = train_test_split ( X , y , random_state = 42 ) ​ lr = LinearRegression ( ) . fit ( X_train , y_train ) # 查看斜率 ,截距 print ( "lr.coef_: {}" . format ( lr . coef_ ) )

机器学习笔记二:监督学习应用——梯度下降法

情到浓时终转凉″ 提交于 2020-01-27 01:10:53
注:以下所有内容均来自 网易公开课Andrew Ng的机器学习课程 第二课主要讲以下三个方面的内容 1、linear regression(线性回归) 2、Gradient descent(梯度下降) 3、Normal equations(正规方程组) Linear regression notation:   m = 训练样本数目   x = 输入变量(特征)   y = 输出变量(目标变量)   (x, y) = 样本   h(x) = 预测函数 线性回归的一般步骤:根据训练集合生成学习算法,构造假设函数,最后根据输入的x得出输出y 对于梯度下降算法,构造函数J(theta),线性回归的目的就是找到一组参数theta使得J(theta)取得最小值 有许多算法可以实现 J(theta) 取最小值 核心思想是先设置theta的一个初始值,我们需要样本来一步步修正theta的初始值, 下面介绍两种算法 Gradient Desecent(梯度下降算法) 其中 α 是梯度下降的步长 以上推导是对一个样本进行迭代,通常我们通过多样本反复迭代修正theta的值,所以最终一次迭代公式如下: 以上称为batch gradient desecent算法,适用于样本数量比较少的情况。 样本数量庞大的时候,改进的梯度算法称为 stochastic gradient descent (also

正则化解决过拟合问题

余生颓废 提交于 2020-01-26 20:10:41
目录 应用 线性回归的正则化 logistic回归中的正则化 所谓正则化是在代价函数的基础上进行的 为了使costfunction尽快的取得最小值 当参数过多时,会存在过拟合现象,假如我们在损失函数中加入一项作为惩罚,如加入 \(1000 \theta_{3}^{2}\) ,当参数 \(\theta_{3}\) 过大时,会使得损失函数变大,而我们的目标是损失函数最小化,因此,会迫使参数值变小,当但数值值趋近于0时,近似于新加入的项入 \(1000 \theta_{3}^{2}\) 趋近于0,相当于去掉这一项,此时,模型又近似于二次函数形式。解决了过拟合问题。 感觉确实很不错的 当参数很多时,无法确定那些参数对模型影响大,哪些影响较小。无法对参数进行选择约束。因此,我们就从整体上对参数进行约束,加入上图紫色的正则项,对除\theta _{0} 以外的所有参数进行约束。\lambda 为正则参数。 加入正则项之后的损失函数 \(J(\theta)=\frac{1}{2 m}\left[\sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}+\lambda \sum_{j=1}^{n} \theta_{j}^{2}\right]\) 当正则参数取值较大时,惩罚作用较大,会使得所有参数的取值近似于0,此时

线性回归

痞子三分冷 提交于 2020-01-26 09:53:43
1.线性回归的原理 进入一家房产网,可以看到房价、面积、厅室呈现以下数据: 面积(x1) 厅室数量(x2) 价格(万元)(y) 64 3 225 59 3 185 65 3 208 116 4 508 …… …… …… 我们可以将价格和面积、厅室数量的关系习得为 f ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 f(x)=\theta_0+\theta_1x_1+\theta_2x_2 f ( x ) = θ 0 ​ + θ 1 ​ x 1 ​ + θ 2 ​ x 2 ​ ,使得 𝑓(𝑥)≈𝑦 ,这就是一个直观的线性回归的样式。 线性回归的一般形式: 有数据集 { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) } \{(x_1,y_1),(x_2,y_2),...,(x_n,y_n)\} { ( x 1 ​ , y 1 ​ ) , ( x 2 ​ , y 2 ​ ) , . . . , ( x n ​ , y n ​ ) } ,其中, x i = ( x i 1 ; x i 2 ; x i 3 ; . . . ; x i d ) , y i ∈ R x_i = (x_{i1};x_{i2};x_{i3};...;x_{id}),y_i\in R x i ​ = ( x i 1 ​ ; x i 2 ​ ;

斯坦福大学机器学习公开课学习—2.监督学习应用·梯度下降

佐手、 提交于 2020-01-26 03:25:42
  这节课的学习,相信一般上过统计或者运筹相关课程的同学应该都会有所了解。课上涉及的知识虽然很基础,但是也是很重要的。   在搜集了一些房价相关数据的基础上,利用线性回归算法来预测房价。   为了方便算法的训练推导,进行了很多符号的标准规定,从这当中也学到了一些知识,以后自己在进行一些算法的推导时也可学习课上的这些标准符号和推导方式。   下面给出这堂课上的一些干货。   1.机器学习算法的基本框架        2.最小二乘法——线性回归常用的代价函数,即误差平方和最小   3.参数学习算法——梯度下降算法,包含批量梯度下降和随机梯度下降。     梯度下降能够收敛,但是也可能是局部最优解,但如果目标函数是凸函数,这样梯度下降一定能找到全局最优解。     当训练样本很多的时候,每更新一次参数都需要遍历所有的样本计算总误差,这样学习速度太慢;这个时候每次计算一个样本的误差更新参数的随机梯度下降算法通常会比   批量梯度下降法更快。(理论上不能保证随机梯度下降能够收敛)   4.对于线性回归问题的最小二乘法,没必要利用梯度下降法来搜索最优解;通过矩阵理论能够证明   最终的参数解为:Θ=(X T X) -1 X T Y    来源: https://www.cnblogs.com/lile/p/4423444.html