第二课 监督学习应用-梯度下降

课程概况:

线性回归、梯度下降、正规方程组

 

概述

汽车的自动驾驶:人类司机会为汽车提供一系列正确的行驶方向,之后尝试更多正确的行驶方向,以确保汽车始终行驶在路上,就是汽车的任务了。-----监督学习中的回归问题:汽车尝试预测表示行驶方向的连续变量的值。

 

举例:房价预测

房价由多个因素,比如房子面积,卧室的数量等因素决定

监督学习的任务:学习房价与各因素之间的关系

 

引入符号:

m 表示训练样本的数据,也就是数据的行数 #training examples

x 表示输入变量 #input variables 或 feature(特征)

y 表示输出变量 #output variables 或 target variable (目标变量)

(x y) 表示一个样本

\left ( x^{(i)},y^{(i)} \right ) 第i个样本 训练样本列表中的第i行

n 表示特征的数目

\theta 学习算法的参数,是学习算法的任务

 

监督学习的过程

首先找到一个训练集合(m个样本),提供给学习算法,得到一个输出函数h,称之为假设(hypothesis),这个假设可以对新数据x(不在训练集中的)得到一个新的估计y,即假设h的作用是将输入x映射到输出y。

解决房价预测问题

1.对假设进行线性表示

h(x)=h_{0}(x)=\theta _{0} + \theta _{1}x_{1}+ \theta _{2}x_{2}+...++ \theta _{i}x_{i}

可将式子改写为h(x)=\sum_{i=0}^{n}\theta _{i}x_{i}=\left [ \begin{matrix} \theta _{0}&\theta _{1} &...&\theta _{i}\end{matrix} \right ]\begin{bmatrix} x_{0}\\ x_{1} \\ ...\\x_{i} \end{bmatrix}=\theta ^{T}x

 

2.尝试让学习算法的预测值在训练数据上尽可能准确

我们的目标即求解参数\theta,选取的参数能使预测值和实际值的方差最小

目标函数:

其中h_{\theta }(x^{(i)})表示每个样本经过学习算法得到的预测值。y^{(i)}代表每个样本的真实值

目标:min_{_{\theta }}J(\theta ) ,求J(\theta )的最小值

3.求最小值的算法

3.1 搜索算法

基本思想:给定参数向量\theta一个初始值(例如\theta =\vec{0}),不断改变参数向量的值,使得J(\theta )不断减小,直到J(\theta )收敛为最小值

3.1.1 批梯度下降算法

其中梯度下降算法(Gradient Descent)是经典的一种搜索算法,其中心思想是寻找下降最大的梯度改变,从而最快收敛至最小值,就像一个人站在山上,环顾四周,寻找最快的下山方式。

J(\theta )的图像表示如图所示:

一开始初始化一个向量作为初始值,假设该三维图为一个三维地表。梯度下降的方法是,你环视一周,寻找下降最快的路径,即为梯度的方向,每次下降一小步,再环视四周,继续下降,以此类推。结果到达一个局部最小值,如下图:

特点:梯度下降的结果依赖于参数的初始值,初始值不同,可能会导致不同的结果。

\theta的更新方程为\theta _{i}:=\theta _{i}-\alpha \frac{\alpha }{\alpha \theta _{i}}J(\theta )

每一次将减去求偏导的结果,即沿最陡峭的“山坡”下降


更新方程的推导:(考虑只有一个训练样本)

代入更新方程中:\theta _{i}:=\theta _{i}-\alpha(h_{\theta }(x)-y)x_{i}


:学习速度,即决定你下山时每一步迈多大。设的过小,收敛时间长,设的过大,可能会超过最小值

考虑m个样本数量的情况--批梯度下降算法(batch gradient descent)

算法流程:

重复更新\theta的值直到算法收敛 \theta _{i}:=\theta _{i}-\alpha\sum_{j=1}^{m}(h_{\theta }(x^{(j)})-y^{(j)})x_{i}^{(j)}

 

检测是否收敛的方法:

1)       检测两次迭代的改变量,若不再变化,则判定收敛

2)       更常用的方法:检验,若不再变化,判定收敛

该算法的缺点是:每一次更新的时候都需要遍历整个训练样本,对m个训练样本进行求和,所以该算法只适用于小样本。

如果遇到样本数量大的时候,我们将使用下面这个算法

3.1.2随机梯度下降算法

也称为增量梯度下降算法

算法流程如下:

Repeat 直到算法收敛{

    for j=1 to m {

            \theta _{_{i}}:=\theta _{_{i}}-\alpha (h_{\theta }(x^{(j)})-y^{(j)})x_{i}^{(j)} (更新所有的\theta_{i})

   }

}

该算法的特点在于:每次更新只使用一个样本数据,适用于样本数量比较大的情况下。但是该算法不会精确的收敛到全局的最小值。

3.2 正规方程组

不再需要迭代的求\theta

定义对函数J(\theta )求导数的符号:

一些关于迹运算符和导数的定理:


如果A是方阵,那么


定义矩阵X,称为设计矩阵,包含了训练集中所有输入的矩阵,第i行为第i组输入数据,即:

那么X\theta =\begin{bmatrix} x^{(1)T }\theta\\ ... \\ x^{(m)T }\theta \end{bmatrix}=\begin{bmatrix} h_{\theta }(x^{(1)})\\ ... \\ h_{\theta }(x^{(m)}) \end{bmatrix}

将真实值\vec{y}定义为\vec{y}=\begin{bmatrix} y^{(1)}\\ ... \\ y^{(m)} \end{bmatrix}

那么x\theta -y=\begin{bmatrix} h_{\theta }(x^{(1)})-y^{(1)}\\ ... \\ h_{\theta }(x^{(m)})-y^{(m)} \end{bmatrix}

对目标函数求偏导:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本项目是一个基于SpringBoot开发的华府便利店信息管理系统,使用了Vue和MySQL作为前端框架和数据库。该系统主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者,包含项目源码、数据库脚本、项目说明等,有论文参考,可以直接作为毕设使用。 后台框架采用SpringBoot,数据库使用MySQL,开发环境为JDK、IDEA、Tomcat。项目经过严格调试,确保可以运行。如果基础还行,可以在代码基础之上进行改动以实现更多功能。 该系统的功能主要包括商品管理、订单管理、用户管理等模块。在商品管理模块中,可以添加、修改、删除商品信息;在订单管理模块中,可以查看订单详情、处理订单状态;在用户管理模块中,可以注册、登录、修改个人信息等。此外,系统还提供了数据统计功能,可以对销售数据进行统计和分析。 技术实现方面,前端采用Vue框架进行开发,后端使用SpringBoot框架搭建服务端应用。数据库采用MySQL进行数据存储和管理。整个系统通过前后端分离的方式实现,提高了系统的可维护性和可扩展性。同时,系统还采用了一些流行的技术和工具,如MyBatis、JPA等进行数据访问和操作,以及Maven进行项目管理和构建。 总之,本系统是一个基于SpringBoot开发的华府便利店信息管理系统,使用了Vue和MySQL作为前端框架和数据库。系统经过严格调试,确保可以运行。如果基础还行,可以在代码基础之上进行改动以实现更多功能。
人 工 智 能Artificial Intelligence 人工智能与机器学习简介全文共28页,当前为第1页。 人工智能是什么 人工智能与机器学习的关系 人工智能发展历史 计算机为什么可以学习 机器学习的重要性 机器学习的常见种类 机器学习常见算法介绍 过拟合与欠拟合 目 录 人工智能与机器学习简介全文共28页,当前为第2页。 人工智能(AI)、 机器学习(ML)和 深度学习(DL)之间的联系(右图) 人工智能是通过软件或者硬件来模拟人类智能行为的学科。 人工智能与机器学习简介全文共28页,当前为第3页。 人工智能发展历史 第一阶段:推理期 1956-1960s: Logic Reasoning 出发点: "数学家真聪明!" 渐渐地,研究者们意识到,仅有逻辑推理能力是不够的 … 第二阶段:知识期(专家系统) 1970s -1980s: Knowledge Engineering 出发点: "知识就是力量!" 渐渐地,研究者们发现,要专家总结出知识再"教"给系统,太难 第三阶段:学习期 1990s -now: Machine Learning 出发点: "让计算机自己学!" 人工智能与机器学习简介全文共28页,当前为第4页。 什么是机器学习?Machine Learning 机器学习,顾名思义,让计算机自己学习。但是计算机是死的,怎么可能像人类一样"学习"呢? 在人们的认识中,计算机按照指令工作,遵照这个指令一步步执行下去,有因有果,非常明确。 第1步:……….. 第2步:……….. 第n步:……….. 人工智能与机器学习简介全文共28页,当前为第5页。 机器学习与人类学习的类比 人工智能与机器学习简介全文共28页,当前为第6页。 传统人工智能 VS 机器学习 思维逻辑 人工智能与机器学习简介全文共28页,当前为第7页。 机器学习为什么很重要? 很多问题传统显示编程无法实现 (1)求图中的最短路径(Yes) (2)图像识别,照片中的是什么?(No) 人类是如何学习识别图像的? (1)定义什么"树"(No) (2)童年时期的经验(Yes) 人工智能与机器学习简介全文共28页,当前为第8页。 为什么机器学习现在崛起? 大数据 更强大的硬件 更好的算法 人工智能与机器学习简介全文共28页,当前为第9页。 机器学习宏观框架 机器学习(Machine Learning)基础 理论基础 VC维理论、信息论、bias-variance tradeoff(过拟合与欠拟合) 算法模型 决策树、人工神经网络、支持向量机、K-Means…… 优化算法 梯度下降(gradient descent)、牛顿法 "No Free Lunch" Theorem(没有免费的午餐定理) NFL定理:一个算法A在某些问题上比算法B好,必然存在另一些问题,B比A好。在脱离实际意义情况下,空泛地谈论哪种算法好毫无意义,要谈论算法优劣必须针对具体学习问题。 这么多算法模型,该用哪一个呢??? 人工智能与机器学习简介全文共28页,当前为第10页。 机器学习算法种类 监督学习监督学习监督学习 强化学习 人工智能与机器学习简介全文共28页,当前为第11页。 Supervised Learning (监督学习) Have right answers or labeled (数据被进行标记) Feature or attribute(数据维度dimension高,一般指feature数量多) Outcome 人工智能与机器学习简介全文共28页,当前为第12页。 Unsupervised Learning(非监督学习) Do not have right answers or unlabeled (数据没有被进行标记) 人工智能与机器学习简介全文共28页,当前为第13页。 监督学习 VS 非监督学习 VS 半监督学习 人工智能与机器学习简介全文共28页,当前为第14页。 1. 分类(Classification) (1)属性:监督学习,离散值(Discrete values ) (2)作用:在多维空间切几刀,将空间分为几个部分 (3)代表算法:决策树、人工神经网络 监督学习和非监督学习,可以干什么? 人工智能与机器学习简介全文共28页,当前为第15页。 2. 回归(Regression) (1)属性:监督学习,连续值(Continuous values ) (2)作用:直线、曲线拟合(二维) (3)代表算法:线性回归 人工智能与机器学习简介全文共28页,当前为第16页。 3. 聚类 (Clustering) (1)属性:最典型的非监督学习。 (2)作用:与分类类似,但是只有输入没有标记,需要计算机自己分出数据属于哪一簇 。 (3)代表算法:层次聚类、K-Means 人工智能

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值