机器学习02线性回归、多项式回归、正规方程

单变量线性回归(Linear Regression with One Variable)




预测器表达式:




选择合适的参数(parameters)θ0 和 θ1,其决定了直线相对于训练集的准确程度。

建模误差(modeling error):训练集中,模型预测值与实际值之间的差距。

目标:选出使建模误差平方和最小的模型参数,即损失函数最小。

损失函数(Cost Function):



可以看出在三维空间中存在一个使得 J(θ0,θ1)最小的点。



梯度下降算法(Gradient Descent):

批量梯度下降(batch gradient descent)算法的公式为:



总结:

1、先确定预测模型,然后确定损失函数;


2、使用梯度下降算法,让损失函数最小化,此时的参数可使预测模型的经验误差达到最优。



————————————————————————————————————————————————


多变量线性回归(Linear Regression with Multiple Variables)





为了简化公式,引入 x0=1。

此时模型中的参数是一个 n+1 维的向量,任何一个训练实例也都是 n+1 维的向量,特征矩阵 X 的维度是 m*(n+1)。

公式可以简化为:



多变量线性回归代价函数,这个代价函数是所有建模误差的平方和:



多变量线性回归的批量梯度下降算法为:


即:



开始随机选择一系列的参数值, 计算所有的预测结果后, 再给所有的参数一个新的值,如此循环直到收敛。


————————————————————————————————————————————————————————


梯度下降算法实践1——特征缩放

Feature Scaling



将所有特征的尺度都尽量缩放到-1 到 1 之间。



梯度下降算法实践 2——学习率

梯度下降算法的每次迭代受到学习率的影响:

如果学习率 α 过小, 则达到收敛所需的迭代次数会非常高;

如果学习率 α 过大,每次迭代可能不会减小代价函数,可能会越过局部最小值导致无法收敛。 

通常可以考虑尝试些学习率: α=0.01,0.03,0.1,0.3,1,3,10 

————————————————————————————————————————————————————————


多项式回归( Polynomial Regression)

线性回归并不适用于所有数据, 有时需要曲线来适应数据。

比如一个二次方模型:


或者三次方模型:



通常需要先观察数据然后再决定准备尝试怎样的模型。

根据函数图形特性,还可以使用:



注:如果采用多项式回归模型,在运行梯度下降算法前,特征缩放非常有必要。


————————————————————————————————————————————————————————


正规方程(Normal Equation)

正规方程通过求解下面的方程来找出使得代价函数最小的参数:


假设训练集特征矩阵为 X(包含了 x0=1),训练集结果为向量 y

则利用正规方程解出向量:





总结:

只要特征变量的数目并不大,标准方程是一个很好的计算参数 θ 的替代方法。 

具体地说, 只要特征变量数量小于一万, 通常使用标准方程法, 而不使用梯度下降法。

 

随着学习算法越来越复杂,例如,分类算法,逻辑回归算法, 并不能使用标准方程法。 

对于那些更复杂的学习算法,将仍然使用梯度下降法。

因此,梯度下降法是一个非常有用的算法,可以用在有大量特征变量的线性回归问题。


或者在以后课程中,会讲到的一些其他的算法,因为标准方程法不适合或者不能用在它们上。 

但对于这个特定的线性回归模型, 标准方程法是一个比梯度下降法更快的替代算法。

所以,根据具体的问题,以及你的特征变量的数量,这两种算法都是值得学习的。


不可逆性:

 X'X 的不可逆的问题很少发生

第一个原因:一个线性方程的两个特征值是线性相关的,矩阵 X'X 不可逆;

第二个原因:用大量的特征值,尝试实践学习算法的时候,可能会导致矩阵 X'X 不可逆。


通常,使用一种叫做正则化的线性代数方法,通过删除某些特征或者是使用某些技术,来解决当 m 比
n 小的时候的问题。即使你有一个相对较小的训练集,也可使用很多的特征来找到很多合适的参数。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/387273.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习03Logistic回归

逻辑回归 (Logistic Regression) 目前最流行,使用最广泛的一种学习算法。 分类问题,要预测的变量 y 是离散的值。 逻辑回归算法的性质是:它的输出值永远在 0 到 1 之间。 逻辑回归模型的假设是: 其中&a…

CNN理解比较好的文章

什么是卷积神经网络?为什么它们很重要? 卷积神经网络(ConvNets 或者 CNNs)属于神经网络的范畴,已经在诸如图像识别和分类的领域证明了其高效的能力。卷积神经网络可以成功识别人脸、物体和交通信号,从而为机…

Windows 安装Angular CLI

1、安装nvm npm cnpm nrm(onenote笔记上有记录) 参考:https://blog.csdn.net/tyro_java/article/details/51232458 提示:如果发现配置完后,出现类似“npm不是内部命令……”等信息。 可采取如下措施进行解决—— 检查环…

机器学习04正则化

正则化(Regularization) 过拟合问题(Overfitting): 如果有非常多的特征,通过学习得到的假设可能能够非常好地适应训练集 :代价函数可能几乎为 0), 但是可能会不能推广到…

Adaboost算法

概述 一句话概述Adaboost算法的话就是:把多个简单的分类器结合起来形成个复杂的分类器。也就是“三个臭皮匠顶一个诸葛亮”的道理。 可能仅看上面这句话还没什么概念,那下面我引用个例子。 如下图所示: 在D1这个数据集中有两类数据“”和“-”…

机器学习05神经网络--表示

神经网络:表示(Neural Networks: Representation) 如今的神经网络对于许多应用来说是最先进的技术。 对于现代机器学习应用,它是最有效的技术方法。 神经网络模型是许多逻辑单元按照不同层级组织起来的网络, 每一层…

逻辑回归(Logistic Regression, LR)又称为逻辑回归分析,是分类和预测算法中的一种。通过历史数据的表现对未来结果发生的概率进行预测。例如,我们可以将购买的概率设置为因变量,将用户的

逻辑回归(Logistic Regression, LR)又称为逻辑回归分析,是分类和预测算法中的一种。通过历史数据的表现对未来结果发生的概率进行预测。例如,我们可以将购买的概率设置为因变量,将用户的特征属性,例如性别,年龄&#x…

机器学习06神经网络--学习

代价函数 标记方法: 神经网络的训练样本有 m 个 每个包含一组输入 x 和一组输出信号 y L 表示神经网络层数 Sl表示每层的 neuron 个数(SL 表示输出层神经元个数) 将神经网络的分类定义为两种情况: 二类分类:SL1, y0 or 1 表示哪一类&…

Logistic Regression Classifier逻辑回归

Logistic Regression Classifier逻辑回归主要思想就是用最大似然概率方法构建出方程,为最大化方程,利用牛顿梯度上升求解方程参数。 优点:计算代价不高,易于理解和实现。缺点:容易欠拟合,分类精度可能不高…

机器学习07应用机器学习的建议

决定下一步做什么(Deciding What to Try Next) 确保在设计机器学习系统时,能够选择一条最合适、最正确的道路。 具体来讲,将重点关注的问题是:假如你在开发一个机器学习系统,或者想试着改进一个机器学习…

CSS3--5.颜色属性

HTML5中添加了一些新的颜色的表示方式 1.RGBA:说得简单一点就是在RGB的基础上加进了一个通道Alpha。RGBA在RGB的基础上多了控制alpha透明度的参数。以上R、G、B三个参数,正整数值的取值范围为:0 - 255。百分数值的取值范围为:0.0%…

逻辑回归的通俗解释 逻辑回归的定位

1 逻辑回归的定位 首先,逻辑回归是一种分类(Classification)算法。比如说: 给定一封邮件,判断是不是垃圾邮件给出一个交易明细数据,判断这个交易是否是欺诈交易给出一个肿瘤检查的结果数据,判断…

机器学习08机器学习系统设计

首先要做什么 一个垃圾邮件分类器算法为例: 为了解决这样一个问题,首先要做的决定是如何选择并表达特征向量 x。 可以选择一个由 100 个最常出现在垃圾邮件中的词所构成的列表,根据这些词是否有在邮件中 出现,来获得我们的特…

数学笔记1——导数1(导数的基本概念)

什么是导数导数是高数中的重要概念,被应用于多种学科。从物理意义上讲,导数就是求解变化率的问题;从几何意义上讲,导数就是求函数在某一点上的切线的斜率。我们熟知的速度公式:v s/t,这求解的是平均速度&a…

python接口自动化(四)--接口测试工具介绍(详解)

简介 “工欲善其事必先利其器”,通过前边几篇文章的介绍,大家大致对接口有了进一步的认识。那么接下来让我们看看接口测试的工具有哪些。 目前,市场上有很多支持接口测试的工具。利用工具进行接口测试,能够提供测试效率。例如&…

机器学习09支持向量机

支持向量机(Support Vector Machines) 在监督学习中,许多学习算法的性能都非常类似,因此,重要的不是你该选择使用学习算法 A 还是学习算法 B,而更重要的是, 应用这些算法时,所创建的大量数据在应用这些算…

数学笔记2

数学笔记2——导数2(求导法则和高阶导数)和、差、积、商求导法则设uu(x),vv(x)都可导,则:(Cu)’ Cu’, C是常数(u v)’ u’ v’(uv)’ u’ v’(u/v)’ (u’v – uv’) / v21、2不解释,下面给出3、4的推导过程乘法法则的推导过乘法法则…

机器学习10聚类

无监督学习 在非监督学习中,我们需要将一系列无标签的训练数据,输入到一个算法中, 然后让它找这个数据的内在结构。 我们可能需要某种算法帮助我们寻找一种结构。图上的数据看起来可以分成两个分开的点集(称为簇)&am…

关联分析(Association analysis)

关联分析(Association analysis) 简介 大量数据中隐藏的关系可以以‘关联规则’和‘频繁项集’的形式表示。rules:{Diapers}–>{Beer}说明两者之间有很强的关系,购买Diapers的消费者通常会购买Beer。 除…

机器学习11主成分分析

降维(Dimensionality Reduction) : 一、 降维目的: 目的一:数据压缩(Data Compression) 目的二:数据可视化(Visualization) 二、 主成分分析(PCA) 主成分…