《人工智能基础与应用》课件-项目五:预测房屋价格系统_第1页
《人工智能基础与应用》课件-项目五:预测房屋价格系统_第2页
《人工智能基础与应用》课件-项目五:预测房屋价格系统_第3页
《人工智能基础与应用》课件-项目五:预测房屋价格系统_第4页
《人工智能基础与应用》课件-项目五:预测房屋价格系统_第5页
已阅读5页,还剩142页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

云计算技术应用省级专业教学资源库人工智能基础与应用项目五:预测房屋价格系统(任务5-1:初识机器学习)CONTENTS目录初识机器学习5.1.1ArtificialIntelligence

人工智能AIisthefieldthatstudiesthesynthesisandanalysisof

computationalagentsthatactintelligently

AIistousecomputerstoanalogandinsteadofhumanbrain1什么是人工智能2AI的期望thinklikehumansSystemsthatthink

likehumansthinklikehumansSystemsthatthinkrationallythinklikehumansSystemsthatactlikehumansthinklikehumansSystemsthatactrationallyMachineLearning

机器学习Fieldofstudythatgivescomputerstheabilitytolearnwithoutbeingexplicitlyprogrammed1什么是机器学习2机器如何学习深度学习(DL,DeepLearning)

:,也叫深度神经网络,大脑仿生,设计一层一层的神经元模拟万事万物三者之间的关系机器学习是实现人工智能的一种途径深度学习是机器学习的一种方法学习方式基于规则的学习:程序员根据经验利用手工的if-else方式进行预测学习方式有很多问题无法明确的写下规则,此时我们无法使用规则学习的方式来解决这一类问题,比如:图像和语音识别和自然语言处理学习方式基于模型的学习:

从数据中自动学出规律学习方式基于模型的学习:

房价预测1、利用线性关系来模拟面积和房价之间的关系

eg:让直线尽可能多的经过这些点,不能经过的点分布直线两侧2、机器学习模型

eg:直线记成y

=

ax

+

b就是模型,其中a、b就是我们要训练的模型参数!有关人工智能概念说法正确的?(多选)A)实现人工智能的方法很多,其中机器学习是实现人工智能一种途径、一种方法B)广义上深度学习是从机器学习发展而来的,两者有区别还有联系C)深度学习方法是大脑仿生,深度学习方法从机器学习发展而来D)机器学习就是基于模型自动学习事物特征,而不是程序员手工的编写规则E)深度学习和机器学习都有各自的应用场景。在研究领域中要根据待解决的问题来选择合理的方法。答案:ABCDE习题人工智能机器学习深度学习AI、ML、DL三者之间的关系算法的学习方式有哪两种?小结云计算技术应用省级专业教学资源库谢谢观看Thankyouforwatching云计算技术应用省级专业教学资源库人工智能基础与应用项目五:预测房屋价格系统(任务5-1:初识机器学习)CONTENTS目录初识机器学习5.1.2机器学习的应用领域机器学习发展史专家系统占主导1950:图灵设计国际象棋程序1962:IBMArthurSamuel的跳棋程序战胜人类高手(人工智能第一次浪潮)主要用统计模型解决问题1993:Vapnik提出SVM1997:IBM深蓝战胜卡斯帕罗夫(人工智能第二次浪潮)神经网络、深度学习流派2012:AlexNet深度学习的开山之作2016:GoogleAlphaGO

战胜李世石(人工智能第三次浪潮)大规模预训练模型2017年,自然语言处理NLP的Transformer框架出现2018年,Bert和GPT的出现2022年,chatGPT的出现,进入到大模型AIGC发展的阶段大规模预训练模型2017-至今神经网络21世纪初期统计主义20世纪80-2000符号主义20世纪50-70AI发展三要素数据、算法、算力三要素相互作用,是AI发展的基石CPU:主要适合I\O密集型的任务GPU:主要适合计算密集型任务TPU:专门针对大型网络训练而设计的一款处理器

样本、特征、标签同学编号专业方向作业考试学历工作经验工作地点就业薪资1java90本科1北京14k2java80本科1武汉10k3AI90本科0北京15k4AI92研究生2上海25k5测试95本科0上海11k6测试80专科0武汉7k…nAI91本科1上海?学生就业薪资表样本(sample):一行数据就是一个样本;多个样本组成数据集;有时一条样本被叫成一条记录特征(feature):一列数据一个特征,有时也被称为属性标签/目标(label/target):模型要预测的那一列数据。本场景是就业薪资就业薪资与专业方向、作业考试、学历、工作经验、工作地点5个特征有关系特征如何理解(重点):特征是从数据中抽取出来的,对结果预测有用的信息eg:房价预测、车图片识别数据集划分同学编号专业方向作业考试学历工作经验工作地点就业薪资1java90本科1北京14k2java80本科1武汉10k3AI90本科0北京15k4AI92研究生2上海25k5测试95本科0上海11k6测试80专科0武汉7k…nAI91本科1上海?学生就业薪资表数据集可划分两部分:训练集、测试集比例:8

:

2,7

:

3

训练集(training

set):用来训练模型(model)的数据集测试集(testingset):用来测试模型的数据集训练集测试集数据集划分同学编号专业方向作业考试学历工作经验工作地点就业薪资1java90本科1北京14k2java80本科1武汉10k3AI90本科0北京15k4AI92研究生2上海25k5测试95本科0上海11k6测试80专科0武汉7k…nAI91本科1上海?学生就业薪资表x_train训练集中的x

x_test测试集中的xy_train训练集中的y

y_test测试集中的y训练集测试集西瓜数据集如下,可通过西瓜的色泽、根蒂、敲声确定一个西瓜是好瓜或坏瓜,数据集划分形成1/2/3/4四个部分,其表示正确的是?A)

1:x_train,

2:x_test,

3:y_train,

4:y_testB)

1:train_x,

2:test_x,

3:train_y,

4:test_yC)

1:x_train,

2:y_train3:x_test,,

4:y_testD)

1:train_x,

2:train_y3:test_x,

4:test_y解析:x、y放在前头,train、test用来界定(修饰)x、y。选A习题有监督学习&无监督学习有监督学习定义:输入数据是由输入特征值和目标值所组成,即输入的训练数据有标签的数据集:需要标注数据的标签/目标值无监督学习定义:输入数据没有被标记,即样本数据类别未知,没有标签,根据样本间的相似性,对样本集聚类,以发现事物内部结构及相互关系。数据集:不需要标注数据有监督分类问题&回归问题分类问题目标值(标签值)是不连续的分类种类:二分类、多分类回归问题目标值(标签值)是连续的房子面积房子位置房子楼层房子朝向房子价格数据18013081数据2100251121数据380330102…数据n90241?同学编号培训学科作业考试学历工作经验工作地点就业薪资1java90本科1北京中2java80本科1武汉中3AI90本科0北京中4AI92研究生2上海高5测试95本科0上海低6测试80专科0武汉低…nAI91本科1上海?无监督再举例无监督学习特点:1

训练数据无标签

2根据样本间的相似性对样本集进行聚类,发现事物内部结构及相互关系半监督学习工作原理:1让专家标注少量数据,利用已经标记的数据(也就是带有类标签)训练出一个模型2再利用该模型去套用未标记的数据3通过询问领域专家分类结果与模型分类结果做对比,从而对模型做进一步改善和提高思考有什么好处?半监督学习方式可大幅降低标记成本机器学习算法分类–强化学习1

强化学习(ReinforcementLearning):机器学习的一个重要分支2应用场景:里程碑AlphaGo围棋、各类游戏、对抗比赛、无人驾驶场景3基本原理:通过构建四个要素:agent,环境状态,行动,奖励, agent根据环境状态进行行动获得最多的累计奖励。机器学习算法分类–总结常见算法分类监督学习无监督学习半监督学习强化学习目标值连续:回归目标值离散:分类无目标值,根据样本的特征进行聚类部分样本有目标值、部分数据无目标值目的是能获得更多奖励,进行一系列决策过程输入动态的数据,决策+回报函数(每个转态目标值是变化的)机器学习建模流程获取经验数据图像数据文本数据。。。数据缺失值处理异常值处理…

特征提取特征预处理特征降维。。。线性回归逻辑回归决策树GBDT回归评测指标分类评测指标聚类评测指标1获取数据3特征工程5模型评估2数据基本处理4机器学习(模型训练)注:在整个建模流程中,数据基本处理、特征工程一般是耗时、耗精力最多的。有监督学习模型训练和模型预测机器学习算法可分为哪些类别?分别说一说各自的特点?1、按照学习方式分类可分为:监督学习,无监督学习,半监督学习,强化学习2、监督学习:输入训练集数据包含输入特征值和目标值回归:函数的输出是一个连续的值分类:函数的输出是有限个离散值3、无监督学习:输入训练集数据是由输入特征值组成,没有目标值比如:聚类根据样本间的相似性对样本集进行分类4、半监督学习:训练集同时包含有目标值的样本数据和不含有目标值的样本数据5、强化学习:智能体不断与环境进行交互,通过获取最大奖励的方式(试错的方式)来获得最佳策略;主要包含四个元素:Agent(智能体),环境(Environment),行动(Action),奖励(reward)

习题下面关于机器学习建模的流程每个步骤表示如下:获取数据(3)、数据基本处理(1)、特征工程(6)、机器学习(模型训练)(5)、模型评估(4)、在线服务模型预测(2)。下列流程正确的是:A)

1

->

2

–>

3

->

4

->

5

->

6

B)

3

->

1

–>

6

->

5

->

4

->

2

C)

3

->

1

–>

6

->

2

->

5

->

4

D)

1

->

3

–>

6

->

5

->

4

->

2

解析:最后是在线服务模型预测正确答案B习题获取数据:搜集与完成机器学习任务相关的数据集数据基本处理:数据集中异常值,缺失值的处理等特征工程:对数据特征进行提取、转成向量,让模型达到最好的效果机器学习(模型训练):选择合适的算法对模型进行训练根据不同的任务来选中不同的算法;有监督学习,无监督学习,半监督学习,强化学习模型评估:评估效果好上线服务,评估效果不好则重复上述步骤小结云计算技术应用省级专业教学资源库谢谢观看Thankyouforwatching云计算技术应用省级专业教学资源库人工智能基础与应用项目五:预测房屋价格系统(任务5-1:初识机器学习)CONTENTS目录初识机器学习5.1.3特征工程概念入门房子面积

房子位置房子楼层房子朝向房子价格特征(feature)特征工程(FeatureEngineering)利用专业背景知识和技巧处理数据,让机器学习算法效果最好。这个过程就是特征工程Comingupwithfeaturesisdifficult,time-consuming,requiresexpertknowledge.“Appliedmachinelearning”isbasicallyfeatureengineering.”数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已1特征提取featureextraction23特征降维

Feature

decomposition4特征选择featureselection5原始数据中提取与任务相关的特征,构成特征向量特征组合featurecrosses特征预处理

featurepreprocessing特征工程概念入门–涉及内容1特征提取featureextraction23特征降维

Feature

decomposition4特征选择featureselection5特征对模型产生影响;因量纲问题,有些特征对模型影响大、有些影响小特征组合featurecrosses特征预处理

featurepreprocessing特征工程概念入门–涉及内容1特征提取featureextraction23特征降维

Feature

decomposition4特征选择featureselection5将原始数据的维度降低,叫做特征降维,一般会对原始数据产生影响特征组合featurecrosses特征预处理

featurepreprocessing特征工程概念入门–涉及内容1特征提取featureextraction23特征降维

Feature

decomposition4特征选择featureselection5原始数据特征很多,与任务相关是其中一个特征集合子集,不会改变原数据特征组合featurecrosses特征预处理

featurepreprocessing特征工程概念入门–涉及内容1特征提取featureextraction23特征降维

Feature

decomposition4特征选择featureselection5把多个的特征合并成一个特征。利用乘法或加法来完成特征组合featurecrosses特征预处理

featurepreprocessing特征工程概念入门–涉及内容1特征提取featureextraction23特征降维

Feature

decomposition4特征选择featureselection5原始数据特征很多,但是对模型训练相关是其中一个特征集合子集。把多个的特征合并成一个特征。一般利用乘法或加法来完成特征组合featurecrosses特征预处理

featurepreprocessing特征工程概念入门–涉及内容从原始数据中提取与任务相关的特征特征对模型产生影响;因量纲问题,有些特征对模型影响大、有些影响小将原始数据的维度降低,叫做特征降维拟合拟合

fitting欠拟合under-fitting用在机器学习领域,用来表示模型对样本点的拟合情况模型在训练集上表现很差、在测试集表现也很差模型在训练集上表现很好、在测试集表现很差过拟合over-fitting拟合机器学习到的天鹅特征太少了,导致区分标准太粗糙,不能准确识别出天鹅机器已基本能区别天鹅和其他动物了很不巧已有的天鹅图片全是白天鹅的。黑色的天鹅不能识别模型表现效果–欠拟合欠拟合–从样本分布角度看欠拟合产生的原因:模型过于简单过拟合产的原因:模型太过于复杂、数据不纯、训练数据太少泛化Generalization:模型在新数据集(非训练数据)上的表现好坏的能力。奥卡姆剃刀原则:给定两个具有相同泛化误差的模型,较简单的模型比较复杂的模型更可取基于Python的scikit-learn库简单高效的数据挖掘和数据分析工具可供大家使用,可在各种环境中重复使用建立在NumPy,SciPy和matplotlib上开源,可商业使用-获取BSD许可证安装方法:pipinstallscikit-learn官网:/stable/基于Python的scikit-learn库基于Python的scikit-learn库下列有关过拟合欠拟合说法正确的?(多选)A)欠拟合:模型学习到的特征过少,无法准确的预测未知样本B)过拟合:模型学习到的特征过多,导致模型只能在训练样本上得到较好的预测结果,而在未知样本上的效果不好C)欠拟合可以通过增加特征来解决D)过拟合可以通过正则化、异常值检测、特征降维等方法来解决答案:ABCD。解析:A欠拟合出现的原因B过拟合出现的原因C增加模型的复杂度D减低模型复杂度。习题有关特征工程说法正确的?(多选)A)在机器学习整个工程项目中,一般情况下特征工程往往是耗时、耗精力最多工作B)特征工程就是处理数据,不重要C)特征提取一般是做数据的标准化、归一化等工作D)特征降维会修改原始数据,特征选择不会修改原始数据

E)特征工程的好坏会影响模型的上限,是一项专项的工作;开发者需要掌握解析:特征工程是很重要的B描述错误;特征提取从无到有的做行列向量数据,C描述错误。特征预处理做数据标准化、归一化前置处理工作。答案(ADE)习题1、特征工程FeatureEngineering特征Feature:对任务有用的属性信息特征工程:利用专业背景知识和技巧处理数据,让模型效果更好

2、特征工程的内容

特征提取featureextraction:特征向量特征预处理featurepreprocessing:不同特征对模型影响一致性特征降维Featuredecomposition:保证数据的主要信息要保留下来特征组合featurecrosses:把多个特征合并组合成一个特征特征选择featureselection:从特征中选择出一些重要特征训练模型

小结云计算技术应用省级专业教学资源库谢谢观看Thankyouforwatching云计算技术应用省级专业教学资源库人工智能基础与应用项目五:预测房屋价格系统(任务5-2:认识线性回归)CONTENTS目录认识线性回归5.2.1线性回归概念–举个例子假若有了身高和体重数据,来了哪吒的身高,你能预测哪吒体重吗?编号身高体重116056.3216660.6317265.1417468.55180756176?这样的问题是回归问题,该如何求解呢?线性回归概念–举个栗子思路:先从已知身高X和体重Y中找规律,再预测体重Y身高X线性回归概念–举个栗子数学问题:用一条线来拟合身高和体重之间的关系,再对新数据进行预测身高X体重Y方程Y

=

kX

+

bk160

+

b

=

56.3

--

(1)k166

+

b

=

60.6

–-

(2)。。。。k:斜率b:截距若:y

=

0.9

x

+

(-93)

0.9*176

+(-93)=

?

编号身高体重116056.3216660.6317265.1417468.55180756176?线性回归概念利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间

关系进行建模的一种分析方式。房子面积

房子位置

房子楼层房子朝向房子价格

线性回归概念线性回归分类编号身高体重116056.3216660.6317265.1417468.55180756176?房子面积房子位置房子楼层房子朝向房子价格数据18013081数据2100251121数据380330102…数据n90241?一元线性回归:y

=

wx

+b

目标值只与一个因变量有关系

线性回归概念应用常见场景是非常多钢轨伸缩长度与温度昆虫鸣叫次数与天气国内GDP与双十一销售额如何利用线性回归API来快速的解决实际问题呢?一元线性回归案例:预测哪吒身高需求:哪吒身高是176,请预测体重?已知数据:对于这个回归案例如何利用API快速求解呢?编号身高116021663172417451806176体重56.360.665.168.575?公式推导/share/a804wio11w1da8any1线性回归API介绍X:身高数据x=[[160],

[166],

…

]Y:体重数据y

=

[56.3,60.6,…]使用类LinearRegression实例化对象estimator2准备数据1导入线性回归包4训练线性回归模型3实例化线性回归模型5模型预测estimator.fit(x,y)

从数据中获取规律查看模型参数斜率coef_

截距intercept_estimator.predict([[176]])导包

fromsklearn.linear_model

importLinearRegression线性回归API介绍fromsklearn.linear_modelimportLinearRegression

defdm01_lr预测播仔身高():

#1准备数据身高和体重

x=[[160],[166],[172],[174],[180]]

y=[56.3,60.6,65.1,68.5,75]

#2实例化线性回归模型estimator

estimator=LinearRegression()

#3训练线性回归模型fit()h(w)=w1x1+w2x2+b

estimator.fit(x,y)

#4打印线性回归模型参数coef_intercept_

print('estimator.coef_-->',estimator.coef_)

print('ercept_-->',ercept_)

#5模型预测predit()

myres=estimator.predict([[176]])

print('myres-->',myres)

线性回归的求解方法通过线性回归API可快速的找到拟合结果,那是怎么求解的呢?身高X体重Y如何学习数据分布规律?如何找到最优解?损失函数需要设置一个评判标准身高X体重Y点4点51.误差概念:用预测值y

–真实值y就是误差2、损失函数:衡量每个样本预测值与真实值效果的函数,也叫代价函数、成本函数、目标函数3、“红色直线能更好的拟合所有点”也就是误差最小;误差总和最小如何求损失函数误差最小呢?也就是损失函数的最优解?损失函数损失函数数学如何表达呢?又如何求损失函数的最小值呢?身高X体重Y点4点5

损失函数是关于k、b的函数,展开会变成二元二次方程。为简化计算,先固定截距b,x=0时,b可设置成一个负值,b固定成-100

y

=

kx

+

by

=

kx

+

b当x=0,y=b,让

b=-100求损失函数最小值(求损失函数最优解)当损失函数取最小值时,得到k就是最优解

k

=281671.6

/

(2*145416)

=

0.9685

让损失函数值最小,就相当于直线拟合了所有的点!!求上式的导函数:L′(k)=2×145416k−281671.6=0截距等于-100情况下,最优解,求播仔体重:y

=

0.9685x

+

(-100)

=

0.9685*176

–

100

=

70.456想求一条直线更好的拟合所有点y

=

kx

+

b

==>引入损失函数(衡量预测值和真实值效果)

Loss(k,

b)

==>通过一个优化方法,求损失函数最小值,得到K最优解损失函数的种类和数学表达损失函数用来衡量真实值和预测值之间的差异,为优化参数指明了方向

线性回归问题求解需要什么?线性回归模型数据优化方法损失函数样本数据特征值x和目标值y组成,假设数据分布线性的线性方程式(假设函数)1、样本x特征值有1个,

Y

=

kx

+

b

线性关系2、样本特征值x由多个损失函数种类1、MSE2、MAE让损失函数最小的方法1、梯度下降法:利用梯度逐步逼近最优解2、通过求方程法(求导、求偏导)有关损失函数下列说法正确的是?(多选)A)损失函数(LossFunction)又被称为代价函数(CostFunction)B)损失函数可用来描述预测值的分布,看是否为均匀分布还是正态分布、或其他分布C)损失函数可用来描述输出(预测值)和观测结果(真实值)效果,可衡量模型效果好坏D)不同的任务比如分类、回归、聚类问题,一般会采用各自的损失函数E)线性回归求解一般需要数据、假设函数、损失函数、损失函数优化方法等部分,相互配合共同完成答案:ACDE线性回归的概念线性回归API介绍损失函数云计算技术应用省级专业教学资源库谢谢观看Thankyouforwatching云计算技术应用省级专业教学资源库人工智能基础与应用项目五:预测房屋价格系统(任务5-2:认识线性回归)CONTENTS目录认识线性回归5.2.2基础数学–机器学习中常见的数据表述标量scalar:一个独立存在的数,只有大小没有方向宗旨:用到就学什么,不要盲目的展开、大篇幅学数学向量vector:向量指一列顺序排列的元素。默认是列向量为什么要学习标量、向量、矩阵、张量?比如张三的数理化成绩信息:70,80,90向量有大小和方向

矩阵matrix:二维数组

比如张三、李四的数理化成绩信息:70,80,90;75,85,95m代表多少行n代表特征数张量Tensor:数组,张量是基于向量和矩阵的推广

导数–基本概念导数的几何意义常见函数的导数导数的四则运算复合函数求导:g(h)是外函数h(x)是内函数。先对外函数求导,再对内函数求导

导数与运算规则求导练习导数与运算规则12345

导数求极值导数为0的位置是函数的极值点

偏导

多元函数的偏导(练习)

向量和矩阵–向量运算几何意义上表示:向量(1,1),向量(1,2)向量基运算向量是有大小和方向B(1,

2)

A(1,

1)

向量矩阵转置Transpose

向量和矩阵–范数Norm1范数(L1范数)-向量中各个元素绝对值之和2范数(L2范数)-向量的模长,每个元素平方求和,再开平方根p-范数:向量中每一个元素p幂求和,在开p次根范数(norm)是数学中的一种基本概念,具有长度的意义L1范数

L2范数

Lp范数向量和矩阵–矩阵Matrix1矩阵在机器学习中的表达矩阵是数学中的一种基本概念,表达m行n列的数据等矩阵加法和减法

矩阵乘法:对应行列元素相乘,然后再加和再一起

基础数学向量和矩阵–矩阵Matrix2矩阵@矩阵的转置

方阵:一种特殊的矩阵,其行数=列数

单位阵:一种特殊的方阵符号E

或者

I

主对角线为1,其他为0

举个栗子:三阶单位阵:

矩阵转置

基础数学向量和矩阵–矩阵Matrix3矩阵的乘法不满足交换律:A×B≠B×A矩阵乘法的性质

矩阵的乘法满足结合律。即:A×(B×C)=(A×B)×Ceg:

A@I

=

A

I@A

=

A

I为单位矩阵矩阵与单位矩阵相乘等于矩阵本身矩阵的逆

基础数学向量和矩阵–矩阵Matrix4

矩阵转置的性质

1.已知函数f(x,y),其中x,y均为变量,那么f(x,y)的偏导数df/dx是()A.f(x,y)的导数B.f(x,y)的一阶偏导数C.f(x,y)的二阶偏导数D.f(x,y)的对x的偏导数2.已知函数f(x),令g(x)=f'(x),则g'(x)=()A.f''(x)B.f'(x)C.f(x)D.不能确定3.已知函数f(x),若在x=a时,函数取极小值,则()A.f'(a)=0B.f'(a)>0C.f'(a)<0D.不能确定1答案D

2答案A

3答案A

答案解析:1

A矩阵条件错应该中间一致。B对C错D错有些矩阵不一定有逆答案:B

标量、向量、矩阵、张量概念导数Derivative导数的求解方法利用导数求极值偏导数云计算技术应用省级专业教学资源库谢谢观看Thankyouforwatching云计算技术应用省级专业教学资源库人工智能基础与应用项目五:预测房屋价格系统(任务5-3:梯度下降法详解)CONTENTS目录梯度下降法详解5.3.1一元线性回归–解析解损失函数用来衡量真实值和预测值之间的差异,为优化参数指明了方向身高X体重Y点4点5

一元线性回归–解析解

145416*k+852*b-55683.8=0852*k+5*b-325.5=0请求解k、b的值根据k、b进行预测:k=0.0397b=60.7615

y

=

0.0397*176+60.7615

=

67多元线性回归–正规方程法

多元线性回归方程的损失函数:多元线性回归方程的已知:多元线性回归–正规方程法损失函数普通方式转成矩阵方式(正规方程):损失函数最小值:多元线性回归–正规方程法正规方程的w:正规方程w公式的解释说明:梯度下降法–梯度下降和梯度顾名思义:沿着梯度下降的方向求解极小值举个例子:坡度最陡下山法什么是梯度下降法

梯度下降过程就和下山场景类似可微分的损失函数,代表着一座山寻找的函数的最小值,也就是山底梯度下降法–梯度下降和梯度单变量函数中,梯度就是某一点切线斜率(某一点的导数);有方向为函数增长最快的方向多变量函数中,梯度就是某一个点的偏导数;有方向:偏导数分量的向量方向什么是梯度gradient

grad循环迭代求当前点的梯度,更新当前的权重参数梯度下降公式α:学习率(步长)

不能太大,也不能太小.机器学习中:0.001

~

0.01梯度是上升最快的方向,我们需要是下降最快的方向,所以需要加负号梯度下降法–梯度下降和梯度单变量梯度下降–举个栗子

我们开始进行梯度下降的迭代计算过程:第一步:θ=1第二步:θ=θ-α*(2θ)=1-0.4*(2*1)=0.2第三步:θ=θ-α*(2θ)=0.2-0.4*(2*0.2)=0.04第四步:θ=θ-α*(2θ)=0.04-0.4*(2*0.04)=0.008第五步:θ=θ-α*(2θ)=0.008-0.4*(2*0.008)=0.0016....第N步:θ已经极其接近最优值0,J(θ)也接近最小值。小结:经过四次的运算,即走了四步,基本抵达了函数的最低点梯度下降法–梯度下降和梯度多变量梯度下降–举个栗子

梯度下降法–梯度下降和梯度梯度下降优化过程给定初始位置、步长(学习率)计算该点当前的梯度的负方向向该负方向移动步长重复2-3步直至收敛两次差距小于指定的阈值达到指定的迭代次数步长决定了在梯度下降迭代的过程中,每一步沿梯度负方向前进的长度学习率太小,下降的速度会慢学习率太大:容易造成错过最低点、产生下降过程中的震荡、甚至梯度爆炸梯度下降公式中,为什么梯度要乘以一个负号有关学习率步长(Learningrate)梯度的方向实际就是函数在此点上升最快的方向!需要朝着下降最快的方向走,负梯度方向,所以加上负号梯度下降法–案例银行信贷案例:梯度下降法计算每个样本产生的梯度

银行信贷只考虑每月薪资(元)、存款余额(元)、房产面积(平方米)已知:8位贷款人的数据。目标:计算数据样本产生的梯度,求解线性回归模型梯度下降法-案例银行信贷梯度下降法的标量表示

梯度下降法–案例银行信贷贷款编号姓名每月工资存款余额房产面积授信额度(元)1张一60001200055300002张二80001000065453003张三75001600060460004赵六100001500075555005钱七90002100070580006孙八120001900085754007周九110002600090810008吴十13000320008076800

梯度下降法–案例银行信贷案例:梯度下降法计算每个样本产生的梯度

贷款编号姓名每月工资存款余额房产面积授信额度(元)1张一60001200055300002张二80001000065453003张三75001600060460004赵六100001500075555005钱七90002100070580006孙八120001900085754007周九110002600090810008吴十13000320008076800梯度下降法分类全梯度下降算法FGD(FullGradientDescent)每次迭代时,使用全部样本的梯度值随机梯度下降算法SGD每次迭代时,随机选择并使用一个样本梯度值小批量梯度下降算法mini-batch每次迭代时,随机选择并使用小批量的样本梯度值从m个样本中,选择x个样本进行迭代(1<x<m),随机平均梯度下降算法SAG每次迭代时,随机选择一个样本的梯度值和以往样本的梯度值的均值随机选择一个样本,假设选择D样本,计算其梯度值并存储到列表:[D],然后使用列表中的梯度值均值,更新模型参数。随机再选择一个样本,假设选择G样本,计算其梯度值并存储到列表:[D,G],然后使用列表中的梯度值均值,更新模型参数。随机再选择一个样本,假设又选择了D样本,重新计算该样本梯度值,并更新列表中D样本的梯度值,使用列表中梯度值均值,更新模型参数。...以此类推,直到算法收敛。有m个样本,求梯度时用了所有m个样本from

sklearn.linear_modelimportSGDRegressor若batch_size=1,则变成了SG;若batch_size=n,则变成了FGD梯度下降法分类全梯度下降算法FGD随机梯度下降算法SGD简单,高效,不稳定。SG每次只使用一个样本迭代,若遇上噪声则容易陷入局部最优解小批量梯度下降算法mini-batch结合了SG的胆大和FG的心细,它的表现也正好居于SG和FG二者之间。目前使用最多,正是因为它避开了FG运算效率低成本大和SG收敛效果不稳定的缺点随机平均梯度下降算法SAG训练初期表现不佳,优化速度较慢。这是因为我们常将初始梯度设为0,而SAG每轮梯度更新都结合了上一轮梯度值。由于使用全部数据集,训练速度较慢目前使用较多的是:小批量梯度下降梯度下降法与正规方程对比梯度下降需要选择学习率需要迭代求解特征数量较大可以使用应用场景:更加普适,迭代的计算方式,适合于嘈杂、大数据应用场景注意:梯度下降在各种损失函数(目标函数)求解中大量使用。深度学习中更是如此,深度学习模型参数很轻松就上亿,只能通过迭代的方式求最优解。正规方程

1、关于损失函数下列说法正确的是?(多选)A)损失函数(LossFunction)又被称为代价函数(CostFunction)、目标函数B)它是模型输出(预测值)和观测结果(真实值)之间概率分布差异的量化C)线性回归的损失函数形如:D)线性回归可采用的是MSE来衡量模型的损失答案:ABCD。2、关于正规方程的说法正确的是(多选)?A)它是线性回归中参数向量w的解析式,通过损失函数求解而来B)方阵XTX一定是可逆的C)使用正规方程求解最优参数时,它的计算规模随着数据维度的增加而增加D)X是特征矩阵,y是目标值向量答案:ACD。3、关于梯度下降说法正确的是?(多选)A)目的是求解一组权重w的值,使得关于w的函数J(w)取得最小值B)梯度的本质是一个矢量C)沿着梯度的方向是函数值下降最快的方向D)权重的迭代公式中步长需要手动设定,不可过大或过小答案:ABD。C错误上升4、下列关于其它常见的梯度下降方法的描述正确的是?A)全梯度下降每次更新权重都要使用全部的数据集数据B)随机梯度下降每次更新权重只需要使用数据集中某一个样本的数据C)小批量梯度下降法综合了FGD和SGD的优势,缓解了两者的缺陷D)SAG在任何情况下都比其它梯度下降方法表现要好答案:ABC。D错误,每个方法有自己的应用场景梯度概念梯度下降法梯度下降算法分类云计算技术应用省级专业教学资源库谢谢观看Thankyouforwatching云计算技术应用省级专业教学资源库人工智能基础与应用项目五:预测房屋价格系统(任务5-4:实现预测房屋价格)CONTENTS目录梯度下降法详解5.4.1线性回归模型评估–

MAE、MSE、RMSE三种指标我们希望衡量预测值和真实值之间的差距,会用到MAE、MSE、RMSE多种测评函数进行评价为什么要进行线性回归模型的评估平均绝对误差MeanAbsoluteErrorMAE

均方误差MeanSquaredErrorMSE

均方根误差RootMeanSquaredError(RMSE)

线性回归模型评估–

MAE、MSE、RMSE三种指标对比举个栗子:我们绘制了一条直线

y=2x+5

用来拟合

y=2x+5+e.

这些数据点,其中e为噪声(随机值)RMSE的计算公式中有一个平方项,因此大的误差将被平方,因此会增加RMSE的值,大多数情况下RMSE>MAE,比如两个误差大小为1,

3求MAE和RMSE:RMSE会放大预测误差较大的样本对结果的影响,而MAE只是给出了平均误差结论:RMSE

>

MAE都能反应真实误差,但是RMSE会对异常点更加敏感MAE和RMSE非常接近,都表明模型的误差很低。MAE或RMSE越小,误差越小!线性回归模型评估–

MAE、MSE、RMSE三种指标对比2再举个栗子:橙色线

y=2x+5。蓝色的点

y=y+sin(x)*exp(x/20)+e

其中exp()表示指数函数对比第一张图,所有指标都变大了,RMSE几乎是MAE值的两倍,因为它对预测误差较大的点比较敏感MAE和RMSE同样是真实反应误差,能不能说RMSE是更好的指标?我们只按照RMSE指标来优化模型,让模型的误差降的更低?一直按照RMSE指标来训练模型,如果RMSE指标训练的非常低,说明什么?说明模型对异常点(对噪声)也拟合的非常好。这样模型就容易过拟合了。所以评价指标要综合的看线性回归正规方程API和梯度下降APIsklearn.linear_model.LinearRegression(fit_intercept=True)通过正规方程优化参数:fit_intercept,是否计算偏置属性:LinearRegression.coef_(回归系数)LinearRercept_(偏置)sklearn.linear_model.SGDRegressor(loss="squared_loss",fit_intercept=True,learning_rate='constant',eta0=0.01)SGDRegressor类实现了随机梯度下降学习,它支持不同的损失函数和正则化惩罚项,来拟合线性回归模型。参数loss(损失函数类型)eg:loss=”squared_lossfit_intercept(是否计算偏置)learning_rate

(学习率策略):string,optional,可以配置学习率随着迭代次数不断减小比如:学习率不断变小策略:‘invscaling’:eta=eta0/pow(t,power_t=0.25)

eta0=0.01(学习率的值)

属性SGDRegressor.coef_(回归系数)SGDRercept_(偏置)sklearn提供两种实现的API,根据选择使用波士顿房价预测1

案例背景–数据来源波士顿房价预测1案例背景-

数据属性波士顿房价预测2案例分析回归当中的数据大小不一致,是否会导致结果影响较大。所以需要做标准化处理。数据分割与标准化处理回归预测线性回归的算法效果评估3回归性能评估均方误差(MeanSquaredError)MSE)评价机制:sklearn.metrics.mean_squared_error(y_true,y_pred)均方误差回归损失y_true:真实值y_pred:预测值return:浮点数结果波士顿房价预测导入库fromsklearn.datasetsimportload_boston#数据

fromsklearn.preprocessingimportStandardScaler#特征处理

fromsklearn.model_selectionimporttrain_test_split#数据集划分

fromsklearn.linear_modelimportLinearRegression#正规方程的回归模型

fromsklearn.linear_modelimportSGDRegressor#梯度下降的回归模型

fromsklearn.metricsimportmean_squared_error#均方误差评估

fromsklearn.linear_modelimportRidge,RidgeCV波士顿房价预测正规方程正规方程

deflinear_model1():

#1获取数据

data=load_boston()

#2数据集划分

x_train,x_test,y_train,y_test=train_test_split(data.data,data.target,random_state=22)

#3特征工程-标准化

transfer=StandardScaler()

x_train=transfer.fit_transform(x_train)

x_test=transfer.transform(x_test)

#4机器学习-线性回归(正规方程)

estimator=LinearRegression()

estimator.fit(x_train,y_train)

#5模型评估#获取模型系数

y_predict=estimator.predict(x_test)

print(“预测值为:\n”,y_predict)

print(“模型的权重系数为:\n",estimator.coef_)

print("模型的偏置为:\n",ercept_)

#5.2评价均方误差

error=mean_squared_error(y_test,y_predict)

print("误差为:\n",error)波士顿房价预测梯度下降#梯度下降方式

deflinear_model2():

#1.获取数据

data=load_boston()

#2.数据集划分

x_train,x_test,y_train,y_test=train_test_split(data.data,data.target,random_state=22)

#3.特征工程-标准化

transfer=StandardScaler()

x_train=transfer.fit_transform(x_train)

x_test=transfer.transform(x_test)

#4.机器学习-线性回归(正规方程)

estimator=SGDRegressor()

#estimator=SGDRegressor(max_iter=1000,learning_rate="constant",eta0=0.001)

estimator.fit(x_train,y_train)

#5.模型评估#5.1获取模型参数

y_predict=estimator.predict(x_test)

print("预测值为:\n",y_predict)

print("模型的权重系数为:\n",estimator.coef_)

print("模型的偏置为:\n",ercept_)

#5.2评价均方误差

error=mean_squared_error(y_test,y_predict)

print("误差为:\n",error)A)最小二乘法B)均方误差C)平均绝对误差D)决定性系数1、本案例中,以下哪个选项是用来评估线性回归模型的方法?答案:B。正规方程梯度下降梯线性回归性能评估云计算技术应用省级专业教学资源库谢谢观看Thankyouforwatching云计算技术应用省级专业教学资源库人工智能基础与应用项目五:预测房屋价格系统(任务5-4:实现预测房屋价格)CONTENTS目录梯度下降法详解5.4.1线性回归模型评估–

MAE、MSE、RMSE三种指标我们希望衡量预测值和真实值之间的差距,会用到MAE、MSE、RMSE多种测评函数进行评价为什么要进行线性回归模型的评估平均绝对误差MeanAbsoluteErrorMAE

均方误差MeanSquaredErrorMSE

均方根误差RootMeanSquaredError(RMSE)

线性回归模型评估–

MAE、MSE、RMSE三种指标对比举个栗子:我们绘制了一条直线

y=2x+5

用来拟合

y=2x+5+e.

这些数据点,其中e为噪声(随机值)RMSE的计算公式中有一个平方项,因此大的误差将被平方,因此会增加RMSE的值,大多数情况下RMSE>MAE,比如两个误差大小为1,

3求MAE和RMSE:RMSE会放大预测误差较大的样本对结果的影响,而MAE只是给出了平均误差结论:RMSE

>

MAE都能反应真实误差,但是RMSE会对异常点更加敏感MAE和RMSE非常接近,都表明模型的误差很低。MAE或RMSE越小,误差越小!线性回归模型评估–

MAE、MSE、RMSE三种指标对比2再举个栗子:橙色线

y=2x+5。蓝色的点

y=y+sin(x)*exp(x/20)+e

其中exp()表示指数函数对比第一张图,所有指标都变大了,RMSE几乎是MAE值的两倍,因为它对预测误差较大的点比较敏感MAE和RMSE同样是真实反应误差,能不能说RMSE是更好的指标?我们只按照RMSE指标来优化模型,让模型的误差降的更低?一直按照RMSE指标来训练模型,如果RMSE指标训练的非常低,说明什么?说明模型对异常点(对噪声)也拟合的非常好。这样模型就容易过拟合了。所以评价指标要综合的看线性回归正规方程API和梯度下降APIsklearn.linear_model.LinearRegression(fit_intercept=True)通过正规方程优化参数:fit_intercept,是否计算偏置属性:LinearRegression.coef_(回归系数)LinearRercept_(偏置)sklearn.linear_model.SGDRegressor(loss="squared_loss",fit_intercept=True,learning_rate='constant',eta0=0.01)SGDRegressor类实现了随机梯度下降学习,它支持不同的损失函数和正则化惩罚项,来拟合线性回归模型。参数loss(损失函数类型)eg:loss=”squared_lossfit_intercept(是否计算偏置)learning_rate

(学习率策略):string,optional,可以配置学习率随着迭代次数不断减小比如:学习率不断变小策略:‘invs

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论