深度学习:知识回收(Lecture3+4 PLA+Decision Tree)
Lecture 3 PLA and Lecture 4 Decision Tree
- 序
- Lecture 3 PLA
- Lecture 4 Decision Tree
- 特征划分
- ID3 信息增益
- C4.5 信息增益率
- CART GINI指数
- 连续特征
- 剪枝
- 额外说一下
序
晚上开始继续写啦,这篇主要将PLA 和 决策树 DecisionTree
主要篇章应该是在决策树上,依稀记得决策树自己实现的代码写的比较久(也可能是偷懒哈)
哼~
Lecture 3 PLA
PLA主要是用来解决二元分类问题
首先我们有样本x={x1,x2,x3,…,xn} 、权重向量w={w1,w2,w3,…,wn}、以及阈值θ
其中w0=θ
那么PLA的步骤应该是
Step1 给样本前都加上常数字1
Step 2 初始化权重,w0=0或其他值
Step 3 遍历所有样本
发现预测是错误的时候,即更新权重wt+1 = wt+yn*xn
重复遍历所有样本直到所有的样本都预测正确
此时的权重w就可以用来预测测试集的label
PLA的核心思想非常简单,就是要尽量满足所有样本的预测正确
但是PLA不适用于非线性问题,并且并非所有时候的权重w能满足所有样本预测正确
- 对于权重无法满足的情况有两种解决方法
-
1、 设置迭代次数,在达到次数时直接停止继续遍历,无论满不满足所有样本
2、用最优解的w作为 初始化的权重进行遍历和更新,找到最优的w放入口袋
即口袋pocket算法
对于二元分类的验证集评测来说分为四个评测指标
准确率表示被正确分类的样本占总样本的比例
召回率是覆盖率的度量,表示有多少正例被正确分类
精度表示被分为正例的示例中实际为正例的比例
精度P和召回率R有时候会出现的矛盾的情况, F-Measure是Precision和Recall加权调和平均
α=1即F1
Lecture 4 Decision Tree
决策树,看了下似乎不难哈,就是分类方法多(所以才写的慢,嗯肯定是这样)
处理离散和连续特征
剪枝:预剪枝、后剪枝等
对于决策树来说,就是要先建树。
- Step 1 初始化 : 创建根结点,该根结点拥有所有的数据集以及所有的特征
- Step 2 选择特征 : 遍历当前所有结点的数据集和特征,根据某种原则,选择其中一个特征
- Step 3 划分数据 : 根据这个特征的取值,将当前数据集划分成为若干个子数据集
- Step 4 创建结点 : 为每一个子数据集创建一个结点,并且删除刚刚选中的特征
- Step 5 递归建树 : 对于每个子结点,返回到Step 2 ,直到达到边界条件,则回溯
- Step 6 完成建树 : 叶子结点采用多数投票的方式判定自身的类别
那么对于其中Step 5 来说,边界条件是什么呢,假设当前结点的数据集为D,特征集为F
- D中样本属于同一个类别 1 ,则将当前结点标记为类别1 的叶结点
- F为空集或者D中所有样本在F中的所有特征值相同,则此时已经达到边界,将当前结点标记为叶结点,类别为D中出现最多的类
- D为空集,则将当前结点标记为叶结点,类别为父结点中出现最多的类
那么,举个栗子
接下来我们对左边<=30 的age进行继续的划分
那么假设我们通过student这个类别来进行划分
子结点可以被分成yes 和 no
此时我们可以选择的特征划分的方法有3种
特征划分
ID3 信息增益
对于ID3,信息增益(information gain)
步骤如下:
那么举个计算的例子
Data | x | y | label |
---|---|---|---|
A1 | 1 | 1 | 1 |
A2 | 0 | 1 | 0 |
A3 | 1 | 0 | 0 |
A4 | 0 | 0 | 0 |
C4.5 信息增益率
同样以上面的例子计算
CART GINI指数
以上面的例子进行计算
连续特征
上面举的例子都是关于离散特征的处理,对于连续特征来说,应该如何处理呢
连续特征我们首先可以将数据看作一个范围
譬如(0,1), [-20,20] 等等
对于这些连续的特征,只需要分区对应即可
譬如0-0.5记作1,0.5-1记作2,那么(0,1)就被划分成两个离散的特征了
剪枝
剪枝可以帮助提升泛化性能,简单的两种
预剪枝和后剪枝
预剪枝,是在决策树构造的时候进行的,对于当前的结点未达到作为子结点的终止条件之前就进行停止,并将该结点作为叶子结点。
可以基于某个划分方式来确认对某个特征不再进行划分
若划分后验证集的正确率无法提高则无需划分后剪枝,在决策树形成后,通过后续遍历进行尝试,若发现某个非叶子结点变为叶子结点后,在验证集上的正确率不下降,则将其变成叶子结点
额外说一下
决策树一般用在一些流程、营销等市场战略分类上
对于决策树来说,剪枝和设定上限高度可以有效解决过拟合问题
最后,这篇文章过了几天才出来真不是我偷懒,昨天电脑坏了,先用ipad把bpnn的推导写出来就先写那篇了,今天先修好了电脑才开始写的
哼~
深度学习:知识回收(Lecture3+4 PLA+Decision Tree)相关推荐
- 深度学习:知识回收(Lecture1and2)
知识回收~ 回到深度学习(基础知识回收) Lecture 1 数据集处理 Lecture 2 K近邻与朴素贝叶斯 --分类和回归 KNN算法 NB朴素贝叶斯算法 复习路线 回到深度学习(基础知识回收) ...
- 复旦大学邱锡鹏教授:一张图带你梳理深度学习知识脉络
Datawhale 作者:邱锡鹏,复旦大学教授 寄语:本文梳理了深度学习知识体系,分为机器学习.神经网络和概率图模型,同时对机器学习算法类型.深度学习原理框架等进行了梳理,帮助大家更好地学习和入手深度 ...
- 吴恩达创建deeplearning.ai讲授AI课程 ,向全世界普及深度学习知识
吴恩达称正在做的AI项目有三个,deeplearning.ai只是其中的第一个. 昨晚,前百度首席科学家吴恩达在其Twitter上发布重磅消息称,deeplearning.ai课程正式登录Couser ...
- 深度学习+知识图谱,一个不小心就顶流的话题
知识图谱是个很热的话题,是学术界研究的热点,也是工业界主推的重点.我自己接触到的就不下十个项目,都自称使用了知识图谱技术.不过,到底什么是知识图谱,却发现各家的理解差异很大--有人大唱赞歌,说知识图谱 ...
- 你不得不了解的深度学习知识(二)
你不得不了解的深度学习知识 书接上回,你不得不了解的深度学习知识(一),了解了卷积神经网络,以及循环神经网络.这节把剩下的两种常见网络给讲述完毕! 3 生成对抗网络 – Generative Adve ...
- 重磅!深度学习知识总结和调参技巧开放下载了
近年来,人工智能正在进入一个蓬勃发展的新时期,这主要得益于深度学习和CV领域近年来的发展和成就.在这其中,卷积神经网络的成功也带动了更多学术和商业应用的发展和进步. 为了避免"内卷" ...
- 「深度学习知识体系总结(2021版)」开放下载了!
随着世界技术的迭代与发展,人工智能和机器学习正在超自动化领域,扮演着越来越重要的角色.2020年的冠状病毒疫情突发,整个世界都在防疫的道路上披荆斩棘.人工智能发挥了重大作用,智能测温.智能消毒.智能建 ...
- 22张图全解深度学习知识,建议收藏
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 转载于:Sophia知乎 https://zhuanlan.zhih ...
- 哪些是我们必须要会深度学习知识
在当前的就业环境下,人工智能工程师的高薪优势凸显,可却有不少人陷入了瓶颈期,不知道该朝着哪个方向发展自己,"掌握理论知识但缺乏实战经验"成为了求职晋升路上的短板,硬件设备的不足和自 ...
最新文章
- yii mailer 扩展发送邮件
- admi后台 vue_vue-admin-webapp后台管理系统
- c++ 怎么读取rtf文件_最全集合!Word、PPT、Excel、PDF文件转换方法大全!建议收藏...
- 元宇宙教不会区块链赚钱
- margin负值布局(一)
- jmeter跨线程组传多个值_Jmeter 跨线程组传递参数 之两种方法(转)
- Tensorflow ExponentialMovingAverage 详解
- 在Project中引用zedgraph控件
- 数据库MySQL--常见基础命令
- 走向.NET架构设计—第四章—业务层分层架构(中篇)
- php定位并且获取天气信息
- textjoin去重_Excel 2016新增函数之TEXTJOIN
- php word 简历模板,php程序员简历模板
- 服务端技术进阶(三)从架构到监控报警,支付系统的设计如何步步为营
- 一位博士在华为的 22 年(干货满满)
- 网卡-驱动-DMA API-TCP/IP
- 微信小程序的转发分享功能
- 串口调试助手fx2n_PLC串口调试助手详细讲解(结合实操)
- DataV实现大屏滚动含后端代码
- s5p4418摄像头程序使用教程
热门文章
- java.lang.IncompatibleClassChangeError: Found interface org.apache.poi.util.POILogger, but class was
- 局部响应归一化LRN(Local Response Normalization)
- ICML 2019 | 图马尔可夫神经网络
- 24 式加速你的 Python
- 在线作图|微生物多样性分析——稀释曲线
- iMeta | 中科院生态中心邓晔组发布微生物组网络分析平台iNAP(图文/视频教程)
- PICRUSt:16S预测宏基因组-扩增子分析锦上添花
- linux 类型排序,Linux命令之排序命令sort使用实例
- R语言对dataframe进行行数据筛选(row selection)多种方案:使用R原生方法、data.table、dplyr等方案
- R语言使用str_order函数和str_sort函数对字符向量进行排序(str_order返回字符串排序的次序值(索引)、str_sort返回排序后的字符串)