目录

一、定义 What is Machine Learning

二、建模 Model Representation

三、一元线性回归 Linear Regression with One Variable

3.1 一元线性归回的符号约定 Notation

3.2 一元线性回归 Linear Regression with One Variable

3.3 代价函数 Cost Function

3.4 梯度下降概述 Gradient Descent Outline

3.5 梯度下降算法 Gradient Descent Alg

3.5.1 同步更新参数 Simultaneously Update

3.5.2 收敛 Convergence

3.5.3 学习率的取值 evaluate alpha

3.5.4 梯度下降更新参数公式

四、多元线性回归 Multiple Features and Gradient Descent

4.1 多元线性归回的符号约定 Notation

4.2 多元线性回归 Linear Regression with Multiple Variables

4.3 估值、代价函数、梯度下降

4.4 多元线性回归的矩阵描述

4.5 平均值归一化 Mean Normalization

4.6 多项式拟合 Polynomial Regression

4.7 过拟合Overfit与欠拟合Underfit

4.8 一般等式、梯度下降和一般等式的比较


复习Andrew Ng的课程Machine Learning,总结线性回归、梯度下降笔记一篇,涵盖课程week1、week2。

一、定义 What is Machine Learning

有两种业界比较认可的对机器学习的定义。

一种是Aithur Samuel在1959年给出的定义。机器学习:不需要明确编程就能使计算机具有学习能力的研究领域。

另一种是Tom Mitchell在1998年给出的定义。适定学习问题:如果一个计算机程序在任务T上的性能(以P衡量性能)随着经验E的提高而提高,那么它就被称为从经验E对某些任务T和性能度量P的学习。(拉倒吧,还是看英文原文吧!)

Machine Learning Definition
-Aithur Samuel 1959. Machine Learning: Field of study that gives computer the ability to learn without being explicitly programmed.
-Tom Mitchell 1998. Well-posed Learning Problem: A computer program is said to learn from experience E with respect to some task T and performance measure P, if its performance on T, as measured by P, improves with experience E.

二、建模 Model Representation

机器学习分很多种类

  • Supervised Learning 有监督的学习
  • Unsupervised Learning 无监督的学习
  • Reinforcement learning 强化学习
  • Recommender System 推荐系统

但是他们的建模几乎是一样的。都是通过在训练集(Training Set)上运行学习算法(Learning Alg)得到估值函数(hypothesis),这个假设函数可以对输入的特征X进行预测(估计 estimated value),输出y。

三、一元线性回归 Linear Regression with One Variable

3.1 一元线性归回的符号约定 Notation

约定一元线性回归问题中的符号定义。

 训练集的大小。

 输入变量,也就是特征。

 输出变量,也就是估值。

 一个训练用例。

 训练集中的第i个用例。

3.2 一元线性回归 Linear Regression with One Variable

一元线性回归,Linear Regression with One Variable也叫做Univariate Linear Regression。其输入特征是一维的,输出值也是一维的。估值为  。一元线性回归的思想是,选择合适的  和  使  对训练集  上的  接近  。

Idea: Choose    so that  is close to  for our training example .

minimize    

3.3 代价函数 Cost Function

Cost Function Definition is square error function. 代价函数是平方误差函数。这个函数用来衡量估值与真实值之间的偏差。

代价函数是

其中  。使  最小的  和  值确定  。 公式里面为了表示“平均”,所以除以,但为什么不简单的就写个而是呢?因为后面求导数的时候,平方的求导会把这个2抵消掉,这样导数式的样子就和逻辑回归问题的导数式子形式上统一了。

注意:

  •  是关于    的函数,  和  是参数。也就是说求取导数的时候,变量是    。
  •  是关于的函数,    是参数。

3.4 梯度下降概述 Gradient Descent Outline

Have some function , Want 

Outline:

  • Start with some    
  • Keep changing     to reduce  until we hopefully end up at a minimum.

梯度下降的思想就是,我们先假定有    有某个值,通过改变   的值使减小,直至得到最小值。

3.5 梯度下降算法 Gradient Descent Alg

3.5.1 同步更新参数 Simultaneously Update 

重复进行

 ,

其中是学习率(learning rate),必大于0。

注意,这种更新是各个维度上的同步更新,也就是说更新过程是这样的

3.5.2 收敛 Convergence

对于一元线性回归,代价函数的几何形状是个碗状曲面,因此代价函数一定收敛。根据上面同步更新的公式,我们分两种情况讨论,示意图如下。

时,减小,趋向于收敛;

时,增大,也趋向于收敛;

3.5.3 学习率的取值 evaluate alpha

这个过程要注意学习率的取值应适中。如果太小,收敛速率低,学习缓慢。如果太大,可能跳过minimum不能收敛,甚至发散。示意图如下。

根据同步更新参数公式,,随着接近minimum,逐渐减小。在接近minimum时,梯度下降自动减小步长,因此收敛的过程中不需要改变学习率。示意图如下。

 at local optima。经过学习获得的是局部最优解。

3.5.4 梯度下降更新参数公式

由代价函数得到两个参数的偏导数函数。

时,

时,

四、多元线性回归 Multiple Features and Gradient Descent

4.1 多元线性归回的符号约定 Notation

约定多元线性回归问题中的符号定义。

 训练集的大小。

特征的维度大小。

第i个训练用例。

第i个训练用例的第j维特征值。

4.2 多元线性回归 Linear Regression with Multiple Variables

多元线性回归的估值为

4.3 估值、代价函数、梯度下降

为了方便起见,我们给特征值增加一个维度,也就是

特征值和参数都写作向量的形式:

    

估值写作矩阵相乘的形式:

代价函数:

同步更新参数,以使代价函数最小,对于每一个参数而言

也就是说

   

……………………

写作矩阵式

4.4 多元线性回归的矩阵描述

综合4.3中讨论的内容,我们这样定义,并给出多元线性回归的矩阵描述公式

    

     

满足

那么梯度下降过程公式为

4.5 平均值归一化 Mean Normalization

Feature Scaling: Get every feature into approximately a range .

使用梯度下降时,为了加速收敛,应将特征值进行缩放(Feature Scaling)。缩放的具体算法就是Mean Normalization平均值归一化。

Mean Normalization平均值归一化的具体做法是,取得某一维度上特征值的平均值,最大值,最小值

进行缩放,使缩放后该维度上特征值的平均值接近于0。

注意:

  • 平均值归一化算法只能对维度的特征值进行,决不能对进行。因为是人为添加的,都等于1,归一化后将全部被置为0。
  • 使用了平均值归一化,必须要在这个过程中记录下每个特征的平均值和标准差。在梯度下降得到模型参数以后,给出新的测试样本,那么就要用这个平均值和标准差先对这个测试样本进行平均值归一化,再计算估值。否则,估值是错误的。

4.6 多项式拟合 Polynomial Regression

回归问题也可以采用多项式(开方)来进行拟合。

4.7 过拟合Overfit与欠拟合Underfit

机器学习问题解决的答案并不是唯一的,我们用一元线性回归可以得到一种估值,也可以用多项式拟合得到另一种估值,也可以用开方的拟合得到另一种估值。不同的估值并没有对错之分,完全取决于我们选择了什么样的模型来解决问题。

对于明显的采用一元线性回归或者开平方拟合就能解决的问题,如果非要使用多项式拟合,在给定的训练集上可能效果很好。但是,随着特征(输入)范围的扩大,拟合效果将可能出现较大偏差,这就是过拟合Overfit。同理,如果我们用一元线性回归(“直线”)去解决一个明显是多项式回归的问题,或者多项式拟合的阶数不够,就会走向另一个极端欠拟合Underfit。

因此,我们应当对训练集的数据进行预处理,剔除明显带有错误或者重大偏差的数据,并小心谨慎的选择解决问题的模型(恰拟合),避免过拟合或欠拟合。

4.8 一般等式、梯度下降和一般等式的比较

根据,我们得出一个求参数的一般等式。过程并不是严格的数学证明,只是一种演示,不严谨不要喷我。

这样我们不需要经过梯度下降,根据这个公式进行矩阵运算即可求得参数。如果使用octave或者matlab等软件,对于求矩阵逆的运算应使用pinv函数,以防止矩阵不可逆。

最后对比一下梯度下降和一般等式的优缺点。

梯度下降、一般等式对比

Gradient Decent

梯度下降

Normal Equation

一般等式

Need to choose

需要选择学习率

No Need to choose

不需要选择学习率

Need many iterations

需要迭代

No need to iterate

不需要迭代

Work well even when n is large

当参数个数n较大时依然性能良好

Need to compute

slow if n is large

需要求矩阵的逆

当参数个数n较大时计算缓慢

机器学习01-定义、线性回归、梯度下降相关推荐

  1. 【python机器学习】线性回归--梯度下降实现(基于波士顿房价数据集)

    波士顿房价数据集字段说明 crim 房屋所在镇的犯罪率 zn 面积大于25000平凡英尺住宅所占比例 indus 房屋所在镇非零售区域所占比例 chas 房屋是否位于河边 如果在河边,值1 nox 一 ...

  2. 机器学习(3)——梯度下降

    例子 假设: 我们有一个代价函数,我们想要获得最小值. 首先定义两个参数值为0,然后改变两个参数值取减少代价函数的值 在梯度算法中,想象自己在红色山顶(最高处),每走一步想下降速度最快的地方移动,然后 ...

  3. 线性回归—梯度下降python实现

    import numpy as np import pandas as pd 导入数据 data=pd.read_csv(r"F:\数据集\dataset\boston.csv") ...

  4. 线性回归梯度下降py实现

    线性回归梯度下降Python实现 在命令行使用此代码运行 python filename.py learning_rate 不设置 l e a r n i n g _ r a t e learning ...

  5. 机器学习:线性回归梯度下降预测波士顿房价

    线性回归 分类: 目标值离散 回归: 目标值连续 线性回归:寻找一种能预测的趋势 线性关系:-二维:直线关系-三维:平面 线性关系定义 y=kx+by = kx + by=kx+b 参数b,偏置项,为 ...

  6. 3. 机器学习中为什么需要梯度下降?梯度下降算法缺点?_一起学习西瓜书2

    今天的这两章比较枯燥!线性模型和决策树!其实机器学习说白了就是回归和分类. 机器学习之线性模型 1.一元线性回归模型 2.多元线性回归模型 3.逻辑回归模型(对数几率回归) Logistic回归模型的 ...

  7. 机器学习基础:理解梯度下降本质「附Python代码」

    https://www.toutiao.com/a6646958932096975373/ 2019-01-16 13:15:26 今天我们尝试用最简单的方式来理解梯度下降,在之后我们会尝试理解更复杂 ...

  8. 3. 机器学习中为什么需要梯度下降?梯度下降算法缺点?_浅谈随机梯度下降amp;小批量梯度下降...

    机器学习三要素 上次的报告中,我们介绍了一种用于求解模型参数的迭代算法--梯度下降法.首先需要明确一点,即"梯度下降算法"在一个完整的统计学习流程中,属于什么?根据<统计学习 ...

  9. 机器学习--详解基于梯度下降的Logistic回归算法原理

    先给出Logistic回归的sigmod函数数学表达式: 很简单的表达式,再看看它的性质,当时,,因此 当时,,因此 Logistic回归之所以称为Logistic是因为只有两个状态即0和1,这也是数 ...

  10. 机器学习(三)——梯度下降

    在机器学习(二)--线性回归中已经使用梯度下降方法来最小化损失函数,本篇就简要介绍一下梯度下降算法. 文章目录 1. 引言 1.1 对梯度的理解 1.2 举例 2. 对梯度下降的理解 2.1 算法定义 ...

最新文章

  1. 历届试题 买不到的数目
  2. 【译】The challenge of verification and testing of machine learning
  3. c++字符串大小比较可以用来干什么?
  4. 如何使用jMeter发送两个逻辑上相关的HTTP请求
  5. 欧洲的数据中心与美国的数据中心如何区分?
  6. 拿来就能用!去哪儿网消息中间件 QMQ 详解 | 技术头条
  7. zabbix第一篇:zabbix安装及使用
  8. POJ - 2718 Smallest Difference
  9. 代理工具及使用技巧Proxy Hunter
  10. Linux安装Nexus3
  11. 【VMware Fusion】如何配置VMware Fusion中的Vmnet网卡
  12. java ca 验证失败,Apache CURL错误SSL:CA证书集,但禁用证书验证
  13. 元素周期表的118个化学元素
  14. SQLserver技巧 年份判断,以及向上想下取整
  15. 入选31个细分领域丨通付盾荣登嘶吼安全产业研究院《2022网络安全产业图谱》
  16. 联想拯救者Y7000P更新BIOS
  17. iOS UIActivityViewController 实现微信微博等等的分享功能
  18. Spring学习:一、Spring概述、Spring入门
  19. python中justify的意思_Python3 tkinter基础 Label justify 多行字符串左对齐
  20. (Agora声网)多人视频聊天应用的开发(三)多人聊天

热门文章

  1. linux安装python2和3版本_Windows下安装Python2和Python3双版本
  2. 寻找连通域算法_【车牌识别算法】
  3. mysql 函数返回表格_mysql 数据分析如何实现日报、周报、月报和年报?
  4. iOS autolayout 约束冲突添加symbol breakpoint
  5. node.js cannot find module
  6. 4 RACMulticastConnection 连接类
  7. jfinal框架下使用c3P0连接池连接sql server 2008
  8. centos6.5 rsync+inotify同步配置笔记
  9. PHP中session_register函数详解用法
  10. 1.JSONObject与JSONArray的使用