版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1数据科学导论刘苗 Nov.11, 2019 第五章 有监督学习概论机器学习是数据科学的核心内容之一, 不会机器学习就等于不懂数据科学.机器学习领域的算法非常多, 本书中我们将介绍有监督学习和无监督学习两大部分.23主要内容一 “学习”的概念二 模型和拟合三 模型评价四 本章的python代码4一 “学习”的概念“学习”的概念 从数据中训练(学习)模型 经典统计:模型驱动 分布假定 +模型假定 现代统计学习:数据驱动或者问题驱动 各种概念 人工智能、深度学习、机器学习、统计学习5机器学习 有监督学习: 有目标变量(因变量) 分类问题: 因变量为分类变量 回归问题: 因变量为数量变量很多机器学习
2、算法既可以解决分类问题, 又可以解决回归问题. 无监督学习: 无目标变量(因变量) 67二 模型和拟合“模型”和“拟合” 模型是人们对所关心真实世界问题的一个近似描述. 假定人们关心的是如何根据外表区分性别, 就要建立模型. 在儿童画中可以看出孩们关于性别的模型: 女孩子的特征是: 长头发、梳小辫、穿裙子等; 男孩子则是穿短裤、短头发等等. 由于模型只是真实世界的近似, 通过个数据来训练模型的行为称为拟合.8模型是如何训练出来的呢? 想象个厨师, 希望建立个尽可能被大家接受的菜谱, 于是找了群来吃他做的饭(这群人可称为模型的训练集), 人们边吃边提意见,厨师则根据食客的意见不断改进, 最终厨师
3、有了个绝大多数(如90%)食客都满意的菜谱. 这个菜谱模型就被这些食客训练出来了. 这群人的满意程度就是这个模型拟合好坏的标准. 这个模型的错误率为10%. 但是, 如果把这个菜谱用于另个人群, 即用这个模型于另组人群(可称为该模型的测试集), 那满意度就不定是90% 了,很可能要低些. 想象一下: 原先训练集的人都是湖南人, 而测试集的人都是江浙人.9训练决策树模型做分类例5.1 (simple4.csv) 这是个简单的模拟数据, 因变量: sex (性别, F: 女性, M: 男), 自变量: haircol(头发颜色, yellow: 黄, black: ), skirt(是否穿裙子,
4、y: 是, n: 否), style(某种走路姿态, y: 是, n: 否). 目的根据这个数据建立个决策树(decision tree) 模型, 使得人们可以根据个新观测值的3 个特征(haircol, skirt, style) 来判断其性别(sex). 在互联网消费数据分析中,可能会碰到根据消费信息判断消费者的性别,年龄层(是否是妈妈)等特征,并以此作为商品推荐依据哦!10性别判断利用rpart训练决策树的结果 11根节点叶节点决策树的直观过程 关键的问题: 对于目前的数据, 哪个变量的哪种划分最能够区分男女? 我们对于全部数据逐个考虑各个变量(以及每个变量如何划分数据). 根节点(1
5、号节点, 全部12 个观测值: 7 个F 及5 个M) 拆分变量的竞争12拆分变量的竞争 1. 考虑用haircol (头发颜色)作拆分变量, 把数据分为两组(a) haircol=balck: 4 个F, 2 个M; (多数为F)(b) haircol=yellow: 3 个F, 3 个M. (F 和M 相同数目)因此, 如果基于haircol 判别sex 的模型为: black(黑头发) 作为F, yellow(黄头发) 作为M 或F, 那么误判为5 个.13HaircolblackyellowSexF43M23拆分变量的竞争2.如果用skirt(是否穿裙子) 作为拆分变量, 把数据分成两
6、组 (a) skirt=n: 4 个F, 3 个M; (多数为F)(b) skirt=y: 3 个F, 2 个M. (多数为F)因此, 基于skirt 判别sex 的可能模型为: 最优的是两组都判为F, 误判个数为5; 只要有一组判成M, 误判会是6.14SkirtnySexF43M32拆分变量的竞争3.如果用style(是否有某种走路姿态)作为拆分变量, 把数据分成两组 (a) style=n: 3 个F, 4 个M; (多数为M).(b) style=y: 4 个F, 1 个M. (多数为F).因此, 根据style 判断sex 的模型为: 满足style=y 的当成F, 而style=n
7、 的当成M, 有4 个误判.15StylenySexF34M41拆分变量的竞争 用haircol 会有5 个误判, 用skirt 有5 个误判, 用style 则有4 误判, 选择变量style 称为根节点的拆分变量(splitting variable).16左下节点拆分 左下节点( 2号节点,号节点,全部5 个观测值: 4 个F 及1 个M) 拆分变量竞争 1. 若用haircol 作为拆分变量, 把数据分成两组, 则有: (a) haircol=balck: 2 个F, 1 个M; (多数为F) (b) haircol=yellow: 2 个F, 0 个M. (多数为F) 两组都判为F
8、时, 误判为1 个, 只要有一组作为M, 误判会至少2 个.17左下节点拆分 2. 若用skirt 作为拆分变量, 把数据分成两组, 则有: (a) skirt=n: 4 个F, 0 个M; (多数为F) (b) skirt=y: 0 个F, 1 个M. (多数为M) 因此, skirt=“y” 判为男生, skirt=“n” 的判为女生, 有0 个误判. 根据这个结果, 用skirt 没有误判, haircol 有2个误判, 于是skirt 竞争胜利, 成为第2号节点的拆分变量.18右下节点拆分 右下节点(3号节点号节点, 全部7 个观测值: 3 个F 及4 个M) 拆分变量竞争 1. 如果
9、用haircol 作为拆分变量, 把数据分成两组, 则有: (a) haircol=balck: 2 个F, 1 个M; (多数为F) (b) haircol=yellow: 1 个F, 3 个M. (多数为M) 因此, 这里仅有的最好决策为: haircol=balck 作为女生, haircol=yellow 作为男生误判2 个.19右下节点拆分 2. 如果用skirt 作为拆分变量, 把数据分成两组, 则有: (a) skirt=n: 0 个F, 3 个M; (多数为M) (b) skirt=y: 3 个F, 1 个M. (多数为F) 因此, 这里最好的决策是: skirt=“y” 作为
10、女生, skirt=“n” 的作为男生有1 个误判. 因此该轮中,skirt 竞争胜利,成为第3 号节点的拆分变量, 继而分出右下两个节点.20左下右下节点拆分结果 拆分后的节点中信息更“纯”21决策树的实际计算过程22决策树的实际计算过程23熵和Gini24预测值、拟合值及误判率 如果用训练得到的模型作用于一个(也有这几个自变量的) 数据, 那么就会得到预测值(predicted value). 对于训练模型的训练集做预测所得到的预测值也称为拟合值(fitted value). 使用训练模型的训练集会产生一个误判, 这实际上是用训练集“学习到” 的模型对训练集的因变量sex做预测.25预测和
11、误判核对原数据, 其中第7 个本来是男性(M), 却被判为F. 误判率为1/12 把预测值和真实值放在一起得到混淆矩阵(confusion matrix):26预测FM真实F70M14过拟合现象 如果用训练集所得到的误判率和用非训练集(或测试集) 得到的误判率之间差别很大, 则说明该模型有过拟合现象(overfitting). 出现过拟合说明该模型没有普遍意义, 只适合于训练该模型的训练集.不适合推广.27思考如果一个变量有三三个或更多个水平, 如何让其在二分决策树中做拆分?如果因变量是数量变量, 自变量是数量时, 如何训练决策树?如果因变量是分类变量, 自变量是数量变量呢? 无论因变量是什么
12、变量, 自变量既有数量变量又有分类变量时, 如何训练决策树?决策树的叶节点是不是一定是完全纯的?有没有必要一定让决策树长到最后不可分为止?决策树模型是一个稳定的算法吗?28训练最小二乘线性回归模型的例子这是一个R 软件自带的例子. 该数据给出了20 世纪20 年代汽车的速度(speed, 单位: 每小时英里: mph)和停车的距离(dist, 单位: 英尺: ft). 目的是建立一个模型来用speed (速度) 预测dist (停车距离).29回归(regression)30线性回归示意图31最小一乘回归思想32最小二乘回归33两种回归结果比较34R实现代码 (a=lm(distspeed,c
13、ars) #lm 线性模型(linear model)Call:lm(formula = dist speed, data = cars)Coefficients:(Intercept) speed-17.579 3.932 mean(cars$dist-a$fitted.values)2) #MSE1 227.135模型的普遍意义和过拟合 对于任何模型, 用不同观测值集合做训练集, 会得到不同的结果. 实际上, 训练集中的观测值有任何变动都会引起回归直线的变动. 回归直线的每次变动都会引起训练集的MSE 变动, 同时也会引起测试集的MSE 变动. 目标: 希望训练集的MSE 小, 越小则拟合
14、越好, 同时也希望测试集的MSE 小, 越小则说明预测精度高.36模型的普遍意义和过拟合37从回归结果中看出什么呢?38训练集和测试集的MSE3940三 模型评价模型评价 根据一个数据训练出的模型, 如果仅仅对该数据预测比较准确还不算是好模型. 如果该模型还能对其他没有参与训练的数据预测也精确, 则说该模型具有普适性. 我们希望学习出能够推广到其他数据的模型. 要想验证一个模型是否有具有普适性, 一定要有未参加训练的测试集来检验预测效果, 这时候较常用的方法就是交叉验证.41交叉验证42分类问题交叉验证的预测精度标准43回归问题交叉验证预测精度标准44常用的度量标准45Z 折交叉验证时提取各折
15、下标集的R 函数分类情况Fold=function(Z=10,w,D,seed=7777)n=nrow(w);d=1:n; e=levels(w,D);N=length(e)#目标变量的水平个数目标变量的水平个数set.seed(seed)dd=lapply(1:N, function(i) d0=dw,D=ei;j=length(d0);ZT=rep(1:Z,ceiling(j/Z)1:jid=cbind(sample(ZT),d0);id)mm=lapply(1:Z, function(i)u=NULL;for(j in 1:N) u=c(u,ddjddj,1=i,2);u)return(mm)46Z 折交叉验证时提取各折下标集的R 函数 分类情况library(tidyr)mm=Fold(5,singer,2)pred=singer,2for(i in 1:Z)predmmi=rpart(voice.partheight,singer-mmi,)% predict(singermmi,type=class)mean(pred!=singer,2)47Z 折交叉验证时提取各折下标集的R 函数 回归情况n=nrow(cars);Z=3;set.seed(1010)I=sample(rep(1:Z,ceiling(n/Z)1:nmm=lapply(1:Z,fu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 混凝土协会保密协议书
- 渔船个人买卖合同范本
- 短解除合同协议书范本
- 申购合同转让协议模板
- 医患关系的性质界定
- 秋季安全简报模板讲解
- 2025年河北省安国市辅警招聘考试试题题库及参考答案详解(新)
- 2025年江苏省如皋市辅警招聘考试试题题库带答案详解(综合卷)
- 海洋经济计划:蓝图与行动
- 2025年中国农业银行招聘考试真题及答案
- 2025年10月广东深圳市大鹏新区群团工作部招聘编外人员1人考试模拟试题及答案解析
- GB/T 46401-2025养老机构认知障碍老年人照护指南
- 2025年中小学教师师德师风考试试题及答案
- HSF管理体系实施方案及操作指南
- 药企采购知识培训课件
- 脚手架工程监理实施细则(盘扣式脚手架)
- 建筑施工现场质量安全检查表模板
- 医院进修人员培训报告
- 2025-2030中国宠物经济市场现状分析与前景预测报告
- 员工自驾车安全培训课件
- 人工智能区块链技术体系研究报告
评论
0/150
提交评论