周志华书上的p-r标准曲线的r值要求怎么实现

没有更多推荐了,
不良信息举报
举报内容:
《机器学习》周志华 读书笔记
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!周志华:数据挖掘与机器学习_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
周志华:数据挖掘与机器学习
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩7页未读,
定制HR最喜欢的简历
你可能喜欢> 三菱M80系列CNC数控系统连接手册三菱M80系列CNC数控系统连接手册已有 450949个资源编辑推荐相关资源下载专区TI最新应用解决方案&&智能端到端上传者其他资源应用技术热门资源本周本月全部文档信息资源大小:24.8MB上 传 者: () 上传日期:资源类型:应用文档资源积分:1分评
论:下载次数:12参与讨论:标&&&&签:分&&&&享:文档简介三菱M80系列CNC数控系统连接手册文档预览相关帖子大学堂最新课程请选择理由 辱骂 色情 广告提交若举报审核通过,可奖励2下载分举报人:被举报人:jacky21cn举报的资源分:1* 类型:请选择类型资源无法下载资源分类不正确资源无法使用标题与实际内容不符含有危害国家安全内容含有反动色情等内容含广告内容版权问题,侵犯个人或公司的版权其他* 详细原因:回到顶部EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_.cn 或通过站内短信息或QQ:联系管理员 高进,我们会尽快处理。测试markdown文章中的p标签_itency知识共享
测试markdown文章中的p标签
原文链接:
k近邻法(k-nearest neighbor, kNN)是一种基本分类与回归方法,其基本做法是:给定测试实例,基于某种距离度量找出训练集中与其最靠近的k个实例点,然后基于这k个最近邻的信息来进行预测。
通常,在分类任务中可使用“投票法”,即选择这k个实例中出现最多的标记类别作为预测结果;在回归任务中可使用“平均法”,即将这k个实例的实值输出标记的平均值作为预测结果;还可基于距离远近进行加权平均或加权投票,距离越近的实例权重越大。
k近邻法不具有显式的学习过程,事实上,它是懒惰学习(lazy learning)的著名代表,此类学习技术在训练阶段仅仅是把样本保存起来,训练时间开销为零,待收到测试样本后再进行处理。
本文只讨论分类问题中的k近邻法。
一、k近邻法的三要素
距离度量、k值的选择及分类决策规则是k近邻法的三个基本要素。根据选择的距离度量(如曼哈顿距离或欧氏距离),可计算测试实例与训练集中的每个实例点的距离,根据k值选择k个最近邻点,最后根据分类决策规则将测试实例分类。
如图1,根据欧氏距离,选择k=4个离测试实例最近的训练实例(红圈处),再根据多数表决的分类决策规则,即这4个实例多数属于“-类”,可推断测试实例为“-类”。
k近邻法1968年由Cover和Hart提出。
1.距离度量
特征空间中的两个实例点的距离是两个实例点相似程度的反映。K近邻法的特征空间一般是n维实数向量空间Rn。使用的距离是欧氏距离,但也可以是其他距离,如更一般的Lp距离或Minkowski距离。
设特征空间X是n维实数向量空间<span class="MathJax" id="MathJax-Element-1-Frame" tabindex="0" data-mathml="Rn" role="presentation" style="position:">RnRn,<span class="MathJax" id="MathJax-Element-2-Frame" tabindex="0" data-mathml="xi,xj&#x2208;X" role="presentation" style="position:">xi,xj∈Xxi,xj∈X,<span class="MathJax" id="MathJax-Element-3-Frame" tabindex="0" data-mathml="xi=(xi(1),xi(2),&#x22EF;,xi(n))T" role="presentation" style="position:">xi=(x(1)i,x(2)i,?,x(n)i)Txi=(xi(1),xi(2),?,xi(n))T,<span class="MathJax" id="MathJax-Element-4-Frame" tabindex="0" data-mathml="xj=(xj(1),xj(2),&#x22EF;,xj(n))T" role="presentation" style="position:">xj=(x(1)j,x(2)j,?,x(n)j)Txj=(xj(1),xj(2),?,xj(n))T,<span class="MathJax" id="MathJax-Element-5-Frame" tabindex="0" data-mathml="xi,xj" role="presentation" style="position:">xi,xjxi,xj的<span class="MathJax" id="MathJax-Element-6-Frame" tabindex="0" data-mathml="Lp" role="presentation" style="position:">LpLp距离定义为
<span class="MathJax" id="MathJax-Element-7-Frame" tabindex="0" style="text-align: position:" data-mathml="Lp(xi,xj)=(&#x2211;l=1n|xi(l)&#x2212;xj(l)|p)1p" role="presentation">Lp(xi,xj)=(∑l=1n|xi(l)-xj(l)|p)1pLp(xi,xj)=(∑l=1n|xi(l)-xj(l)|p)1p
这里p≥1。
当p=1时,称为曼哈顿距离(Euclidean distance),即
<span class="MathJax" id="MathJax-Element-8-Frame" tabindex="0" style="text-align: position:" data-mathml="L1(xi,xj)=&#x2211;l=1n|xi(l)&#x2212;xj(l)|" role="presentation">L1(xi,xj)=∑l=1n|xi(l)-xj(l)|L1(xi,xj)=∑l=1n|xi(l)-xj(l)|
当p=2时,称为欧氏距离(Euclidean distance),即
<span class="MathJax" id="MathJax-Element-9-Frame" tabindex="0" style="text-align: position:" data-mathml="L2(xi,xj)=(&#x2211;l=1n|xi(l)&#x2212;xj(l)|2)12" role="presentation">L2(xi,xj)=(∑l=1n|xi(l)-xj(l)|2)12L2(xi,xj)=(∑l=1n|xi(l)-xj(l)|2)12
当p=∞时,它是各个坐标距离的最大值,即
<span class="MathJax" id="MathJax-Element-10-Frame" tabindex="0" style="text-align: position:" data-mathml="L&#x221E;(xi,xj)=maxl&#xA0;|xi(l)&#x2212;xj(l)|" role="presentation">L∞(xi,xj)=maxl&|xi(l)-xj(l)|L∞(xi,xj)=maxl&|xi(l)-xj(l)|
以二维实数向量空间(n=2)为例说明曼哈顿距离和欧氏距离的物理意义。
① 曼哈顿距离
<span class="MathJax" id="MathJax-Element-11-Frame" tabindex="0" style="text-align: position:" data-mathml="L1(xi,xj)=&#x2211;l=12|xi(l)&#x2212;xj(l)|=|xi(1)&#x2212;xj(1)|+|xi(2)&#x2212;xj(2)|" role="presentation">L1(xi,xj)=∑l=12|xi(l)-xj(l)|=|xi(1)-xj(1)|+|xi(2)-xj(2)|L1(xi,xj)=∑l=12|xi(l)-xj(l)|=|xi(1)-xj(1)|+|xi(2)-xj(2)|
图2绿色线即曼哈顿距离物理意义,其中横向线条表示<span class="MathJax" id="MathJax-Element-12-Frame" tabindex="0" data-mathml="|x1i&#x2212;x1j|" role="presentation" style="position:">|x1i-x1j||x1i-x1j|,竖向线条表示<span class="MathJax" id="MathJax-Element-13-Frame" tabindex="0" data-mathml="|x2i&#x2212;x2j|" role="presentation" style="position:">|x2i-x2j||x2i-x2j|。
② 欧氏距离
<span class="MathJax" id="MathJax-Element-14-Frame" tabindex="0" style="text-align: position:" data-mathml="L2(xi,xj)=(&#x2211;l=12|xi(l)&#x2212;xj(l)|2)12=|xi(1)&#x2212;xj(1)|2+|xi(2)&#x2212;xj(2)|22" role="presentation">L2(xi,xj)=(∑l=12|xi(l)-xj(l)|2)12=|xi(1)-xj(1)|2+|xi(2)-xj(2)|2????????????????????????????√2L2(xi,xj)=(∑l=12|xi(l)-xj(l)|2)12=|xi(1)-xj(1)|2+|xi(2)-xj(2)|22
图2红色线即欧氏距离物理意义,根据勾股定理可得。
2.k值的选择
k值的选择会对k近邻法的结果产生重大影响。在应用中,k值一般取一个比较小的数值,通常采用交叉验证法来选取最优的k值。
3.分类决策规则
k近邻法中的分类决策规则往往是多数表决,即由输入实例的k个邻近的训练实例中的多数类,决定输入实例的类。
二、k近邻算法及代码实现(python)
算法1(k近邻法)
输入:训练集
<span class="MathJax" id="MathJax-Element-15-Frame" tabindex="0" style="text-align: position:" data-mathml="D={(x1,y1),(x2,y2),&#x22EF;,(xN,yN)}" role="presentation">D={(x1,y1),(x2,y2),?,(xN,yN)}D={(x1,y1),(x2,y2),?,(xN,yN)}其中,<span class="MathJax" id="MathJax-Element-16-Frame" tabindex="0" data-mathml="xi&#x2208;X&#x2286;Rn" role="presentation" style="position:">xi∈X?Rnxi∈X?Rn为实例的特征向量,<span class="MathJax" id="MathJax-Element-17-Frame" tabindex="0" data-mathml="yi&#x2208;Y={c1,c2,&#x22EF;,ck}" role="presentation" style="position:">yi∈Y={c1,c2,?,ck}yi∈Y={c1,c2,?,ck}为实例的类别,i=1,2,…,N。
输出:实例x所属的类别y
① 根据给定的距离度量,在训练集D中找出与x最近邻的k个点,涵盖这k个点的x的领域记作<span class="MathJax" id="MathJax-Element-18-Frame" tabindex="0" data-mathml="Nk(x)" role="presentation" style="position:">Nk(x)Nk(x)
② 在<span class="MathJax" id="MathJax-Element-19-Frame" tabindex="0" data-mathml="Nk(x)" role="presentation" style="position:">Nk(x)Nk(x)中根据分类决策规则(如多数表决)决定x的类别y
<span class="MathJax" id="MathJax-Element-20-Frame" tabindex="0" style="text-align: position:" data-mathml="y=arg&#xA0;maxcj&#x2211;xi&#x2208;Nk(x)I(yj=cj),&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;i=1,2,&#x22EF;,N;j=1,2,&#x22EF;,K" role="presentation">y=arg&maxcj∑xi∈Nk(x)I(yj=cj),&&&&&i=1,2,?,N;j=1,2,?,Ky=arg&maxcj∑xi∈Nk(x)I(yj=cj),&&&&&i=1,2,?,N;j=1,2,?,K上式中,I为指示函数,即当yi=ci时I为1,否则I为0。
2.代码实现(python)
以下代码来自Peter Harrington《Machine Learing in Action》
距离度量为欧氏距离,分类决策规则为多数表决。classify0()函数有4个输入参数:用于分类的输入向量是inX,输入的训练集为dataSet,类别为labels,k表示用于选择最近邻的数目。
代码如下(保存为kNN.py):
# -- coding: utf-8 --
form numpy import *
import operator
def createDataSet():
# 创建训练集
group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])
labels = ['A','A','B','B']
return group, labels
def classify0(inX, dataSet, labels, k):
dataSetSize = dataSet.shape[0]
# 根据欧式距离计算训练集中每个样本到测试点的距离
diffMat = tile(inX, (dataSetSize,1)) - dataSet
sqDiffMat = diffMat**2
sqDistances = sqDiffMat.sum(axis=1)
distances = sqDistances**0.5
# 计算完所有点的距离后,对数据按照从小到大的次序排序
sortedDistIndicies = distances.argsort()
# 确定前k个距离最小的元素所在的主要分类,最后返回发生频率最高的元素类别
classCount={}
for i in range(k):
voteIlabel = labels[sortedDistIndicies[i]]
classCount[voteIlabel] = classCount.get(voteIlabel,0) + 1
sortedClassCount = sorted(classCount.iteritems(), key=operator.itemgetter(1), reverse=True)
return sortedClassCount[0][0]
运行命令如下:
group和labels为训练集,其中group为特征向量,labels为类别。输入测试实例[0,0],选取与测试实例距离最近的3个元素,最后返回这3个元素中发生频率最高的元素类别,即为kNN近邻法的预测值。
三、k近邻法的实现:kd树
实现k近邻法时,主要考虑的问题是如何对训练数据进行快速k近邻搜索,这点在特征空间的维数大及训练数据容量大时尤其必要。
k近邻法最简单的实现方法是线性扫描(linear scan),这时要计算输入实例与每一个训练实例的距离,当训练集很大时,计算非常耗时。为了提高k近邻法搜索的效率,可以考虑使用特殊的结构存储训练数据,以减少计算距离的次数。具体方法很多,下面介绍其中的kd树方法(kd树是存储k维空间数据的树结构,这里的k与k近邻法的k意义不同)。
1.构造kd树
kd树是二叉树,是一种对k维空间中实例点进行存储以便对其进行快速检索的树形数据结构。kd树表示对k维空间的一个划分(partition),构造kd树相当于不断地用垂直于坐标轴的超平面将k维空间切分,构成一系列的k维超矩形区域。kd树的每个结点对应于一个k维超矩形区域。
通常,依次选择坐标轴对空间切分,选择训练实例点在选定坐标轴上的中位数(一组数据按大小顺序排列起来,处于中间的一个数或最中间两个数的平均值。本文在最中间有两个数时选择最大值作中位数)为切分点,这样得到的kd树是平衡的。注意,平衡的kd树搜索时未必是最优的。
算法2(构造平衡kd树)
输入:k维空间数据集
<span class="MathJax" id="MathJax-Element-21-Frame" tabindex="0" style="text-align: position:" data-mathml="D={x1,x2,&#x22EF;,xn}" role="presentation">D={x1,x2,?,xn}D={x1,x2,?,xn}其中<span class="MathJax" id="MathJax-Element-22-Frame" tabindex="0" data-mathml="xi=(xi(1),xi(2),&#x22EF;,xi(n))T&#xFF0C;i=1,2,&#x22EF;,N" role="presentation" style="position:">xi=(x(1)i,x(2)i,?,x(n)i)T,i=1,2,?,Nxi=(xi(1),xi(2),?,xi(n))T,i=1,2,?,N
输出:kd树
开始:构造根结点,根结点对应于包含D的k维空间的超矩形区域。
选择x1为坐标轴,以D中所有实例的x1坐标的中位数为切分点,将根结点对应的超矩形区域切分为两个子区域。切分由通过切分点并与坐标轴x1垂直的超平面实现。
由根结点生成深度为1的左、右子结点:左子结点对应坐标x1小于切分点的子区域,右子结点对应坐标x1大于切分点的子区域。将落在切分超平面上的实例点保存在根结点。
重复:对深度为j的结点,选择xl为切分的坐标轴,l=j(mod k)+1,以该结点的区域中所有实例点的xl坐标的中位数为切分点,将该结点对应的超矩形区域切分为两个子区域。切分由通过切分点并与坐标轴xl垂直的超平面实现。
由该结点生成深度为j+1的左、右子结点:左子结点对应坐标xl小于切分点的子区域,右子结点对应坐标xl大于切分点的子区域。将落在切分超平面上的实例点保存在该结点。
直到两个子区域没有实例存在时停止,从而形成kd树的区域划分。
例1 给定一个二维空间的数据集:<span class="MathJax" id="MathJax-Element-23-Frame" tabindex="0" style="text-align: position:" data-mathml="D={(2,3)T,(5,4)T,(9,6)T,(4,7)T,(8,1)T,(7,2)T}" role="presentation">D={(2,3)T,(5,4)T,(9,6)T,(4,7)T,(8,1)T,(7,2)T}D={(2,3)T,(5,4)T,(9,6)T,(4,7)T,(8,1)T,(7,2)T}构造一个平衡kd树。
解:D为二维空间,则k=2。
① D中6个实例的x1坐标的中位数为7,则以(7 , 2)为切分点,由通过切分点并与坐标轴x1垂直的平面将超矩形区域切分为两个子区域。根结点为(7 , 2),左区域包括:(2 , 3) , (5 , 4) ,
(4 , 7),右区域包括:(8 , 1) , (9 , 6),深度为1
② 对深度为j=1的结点,选择l=j(mod k)+1=1(mod 2)+1=2即x2为切分的坐标轴。则左区域的切分点为(5 , 4) ,左子区域为(2 , 3),右子区域为(4 , 7);右区域的切分点为(9 , 6) ,左子区域为(8 , 1)。
如此递归,最后得到的平衡kd树如下所示:
3.搜索kd树(未完,待续)
以上全部内容参考书籍如下:
李航《统计学习方法》
周志华《机器学习》
Peter Harrington《Machine Learing in Action》
转载自:https://blog.csdn.net/xiongjiamu/article/details/
usingSusingSystem.Collections.GusingSystem.LusingSystem.TusingSystem.IO;namespaceQuickEAS.CoreLib{publicclassLibHtmlConvertToMhtByCDO{#region变量...
经过半个多月以来精彩纷呈的实力比拼,“第一期SWTC社区开发者大赛”圆满落幕。本次比赛,成果丰硕,涌现出一批具有一定前瞻性、创新性思维的优秀作品。大赛评委们对所有参赛作品进行耐心、细致、严谨、科学的评价,终于艰难的做出了评判。现将大赛赛果公示如下,以飨各位。
一、赛果(一)第一名作品:《区块链浏览器tumscan》作者:闷油瓶评委评语:井通区块链浏览器,规划的功能比较多、扁平化的设计风格,能...
1、Spark在SQL上的优化,尤其是DataFrame到DataSet其实是借鉴的Flink的。Flink最初一开始对SQL支持得就更好。2、Spark的cacheinmemory在Flink中是由框架自己判断的,而不是用户来指定的,因为Flink对数据的处理不像Spark以RDD为单位,就是一种细粒度的处理,对内存的规划更好。3、Flink原来用Java写确实很难看,现在也在向Spark靠...
zookeeper的安装使用
1选择virtualbox中的管理-->全局设定-->更改默认存储路径2将原来的vdi文件移动到自己要更改的新位置。3选定虚拟机,设置,存储中删除原来的虚拟机。
distcp异常--每天定时的distcp突然失败了怎么办?
在基于容器云的应用程序部署中,具体POD的生命周期根据各种环境状况有很大不同,POD内部各个容器的状态,container依赖的上游或者周边服务的状态都会对POD作为最终服务实体的服务能力造成影响。
一、bash的测试1test能够理解3种类型的表达式(1)字符串比较(2)数字比较(3)文件测试。
无法初始化,错误都在MapTest里,说明输出类型错误,通过查DriverJob的代码,发现在setMapOutputKeyFormat方法里面,设定的输出是Text类型。机器学习(周志华) 第二章 模型评估与选择 - 简书
机器学习(周志华) 第二章 模型评估与选择
2.1经验误差与过拟合定义误差:学习器的实际预测输出与样本的真实输出之间的差异。训练误差(经验误差):学习器在训练集上的误差泛化误差:在新样本上的误差在实际希望中,我们需要的是在新样本上能表现很好的学习器,就需要从训练样本中尽可能学出适用于所有潜在样本的“普遍规律”,用以判别新样本,但如果学习器将训练样本中一些自身特点当作所有潜在样本都会具有的性质,就会导致泛化能力下降。这种现象称为“过拟合”,与其相对的就是“欠拟合”:训练一般性质尚未完成。2.2评估方法2.2.1留出法直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T,即D=S∪T,S∩T=空集,在S上训练出模型后,用T来评估其测试误差,作为对泛化误差的估计。Eg:假定D包含1000个样本,将其划分为S包含700个样本,T包含300个样本,用S进行训练以后,如果模型在T上有90个样本分类错误,那么其错误率为(90/300)*100%=30%,精度为1-30%=70%。需注意:1.训练/测试集的划分要保持数据分布的一致性,避免额外偏差。2.即使在给定训练/测试样本比例后,仍存在多种划分方式对初始数据集D进行分割。不同的分割将导致不同的训练/测试集,单次使用留出法得到的估计结果往往不够稳定可靠,在使用留出法时,一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果,例如进行100次随机划分,每次产生一个训练/测试集用于实验评估,100次后就得到100个结果,而留出法返回的是这100个结果的平均。问题:划分训练集/测试集比例问题,若将绝大部分数据用于训练,则模型更接近D,但测试的评估结果不够准确稳定,但若将数据中大部分用于测试,则S与D差别更大,训练模型就不够接近,降低了评估结果的保真性。常见划分:2/3
4/52.2.2交叉验证法先将数据集D分为k个大小相似的互斥子集,即D=D1∪D2∪……∪Dk,Di∩Dj=空集(i≠j)。每次用K-1个子集的并集作为训练集,余下的子集作为测试集;获得K组训练/测试集,从而可进行k次训练和测试,最终返回的是这k个测试结果的均值。2.2.3自助法自助采样:在数据集D中做放回抽取样本,将m次抽取后得到的样本做数据集D’。每个样本被选中的概率是1/D,因此未被选中的概率就是(1-1/D),这样一个样本在训练集中没出现的概率就是d次都未被选中的概率,即(1-1/D)^D。当d趋于无穷大时,这一概率就将趋近于e^-1=0.368通过自助采样,初始数据集D中约有36.8%的样本出现在D’中。将D’做训练集,将D/D’做测试集。2.2.4调参与最终模型调参:因参数配置不同,学得模型的性能有显著差别,在进行模型评估和选择时,需要对算法参数进行设定2.3性能度量性能度量:衡量模型泛化能力的评价标准在预测任务时,将学习器预测结果与真实值进行比较回归任务中常用的性能度量“均方误差”:数据分布D和概率密度函数p(.),均方误差:2.3.1错误率与精度错误率:精度:数据分布D和概率密度函数p(.)。错误率:精度:2.3.2查准率、查全率与F1面对不同问题,性能度量不同例如。信息检索中,“检索出的信息中有多少比例是用户感兴趣的”即为“查准率”“用户感兴趣的信息有多少被检索出来了”即“查全率”查准率与查全率是矛盾度量,所以一般会综合两方面考量学习器的好坏,找到最佳平衡点BEP(Break-Even Point)。衡点定义:查全率等于查准率时的取值。我们可以根据学习器的预测结果对样例排序,计算出当前的查准率、查全率,做查准率-查全率曲线,简称“P-R曲线”如果一个学习器的PR曲线包住了另一个,如图:A曲线包住C曲线,则可以认为A的性能优于C。如果有交叉,如A、B,可比较曲线下面积大小,但不容易估算,需综合考虑PR性能。引入平衡点(BEP),基于BEP比较,A优于B。当BEP判断不够准确时使用F1变量,本质上是P和R的调和平均。Fβ:F1的一般形式,能让我们表达对查准率/查全率的不同偏好。Β&0度量了查全率对查准率的相对重要性;β=1时退化为F1;β&1查全率有更大影响;β&1查准率有更大影响。参考:2.3.3ROC与AUCROC曲线:用于研究综合考虑学习器在不同任务下“期望泛化性能”的好坏。现实中有限个测试样例仅能获得有限个坐标对绘制ROC,如右图。若一个学习器的ROC曲线被另一个包住,后者的性能能优于前者;若交叉,判断ROC曲线下的面积,即AUC。AUC:考虑的是样本预测的排序质量,因此它与排序误差有紧密联系。参考:2.3.4代价敏感错误与代价曲线为权衡不同类型错误所造成的不同损失,可为错误赋予“非均等代价”(unequal cost)在非均等代价下,ROC曲线不能直接反应出学习器的期望总体代价,以及其他性能度量如精度的代价敏感版本。所以需要“代价曲线”,如图。绘图过程:ROC曲线每一点对应代价平面上一条线段设ROC曲线上点的坐标(FPR,TPR),计算FNR,绘制一条从(0,FPR)到(1,FNR)的线段,线段下的面积表示该条件下的期望总体代价,诸如此类,取所有线段的下界围成的面积为在所有条件下学习器的期望总体代价。2.4比较检验机器学习性能不能通过度量值直接比较。“统计假设检验”为学习器性能比较提供重要依据给出如下检验方法:2.4.1假设检验“假设“是我们对学习器泛化错误率分布的猜想或判断。我们通过不同假设,基于假设检验结果可推断出学习器性能的比较。当我们做出多次重复留出法或交叉验证法进行训练/测试时,得出多个测试错误率:t检验2.4.2交叉验证t检验基本思想:若两个学习器的性能相同,则使用相同的训练/测试集得到的测试错误率应相同。假设检验的前提:测试错误率均为泛化错误率的独立采样。k折交叉验证产生的K对测试错误率:先对每对结果求差,若两个学习器性能相同则差值均值应为0。因此根据差值对“学习器AB性能相同”做t检验,计算差值的均值和方差,在显著度确定条件下,判断变量是否小于临界值,若小于则无显著差别,否则可判断平均错误率较小的学习器性能较优。因样本有限,加查验证不同轮次训练集有重叠,测试错误率实际上不独立,会导致过高估计假设成立的概率。5×2交叉验证法交叉验证法:2.4.3McNemar检验McNemar检验通过考虑变量,服从自由度为1的分布,即标准正态分布变量的平方。给定显著度α,当以上变量值小于临界值时,认为两学习器性能没有显著差别;否则性能有显著差别。且平均错误率较小的那个学习器性能较优。2.4.4Friedman检验与Nemenyi后续检验定义:Friedman检验是利用秩实现对多个总体分布是否存在显著差异的非参数检验方法。原始前提:当多个配对样本来自的多个总体分布无显著差异时。基于算法排序的Friedman检验用于:一组数据集上对多个算法进行比较:假定数据集比较,由好到差排序,并赋予序值1,2,……Friedman检验判断这些算法是否性能相同:性能相同,平均序值应当相同。若”所有算法的性能相同”这个假设被拒绝,说明算法的性能显著不同。Nemenyi后续检验Nemenyi检验计算出平均序值差别的临界值域,若两个算法的平均序值之差超出了临界值域,则以相应的置信度拒绝”两个算法性能相同”这一假设。2.5偏差与方差偏差-方差分解(bias-variance decomposition)就是用来解释学习算法泛化性能的一种工具,试图拆解期望泛化错误率。泛化误差可分解为偏差、方差与噪声之和。范化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的。偏差和方差是有冲突的。训练不足时,拟合能力不强,由偏差主导泛化错误率;训练充足时,方差主导泛化错误率。
汗水是最好的化妆品
目录: 1.说明;2.概念;3.bias-variance trade-off;4.评估方法5.性能度量 说明:本文大部分内容来自于《机器学习》读书的笔记,对机器学习感兴趣的同学,非常推荐阅读周志华的这本书: 1.概念 错误率&精度:分类错误的样本数占样本总数的比例是“错误...
1. 章节主要内容(遇到不清楚的概念请在第二节基础知识中找寻解释) 在第一章绪论中,我们知道要根据具体的问题选择具体的算法和归纳偏好。那么我们怎么判定我们的选择是正确的呢?这就需要拥有一套规范的模型评估与选择方法论了。 1)首先,我们要理解机器学习为什么需要一套模型评估与选...
积跬步以致千里,积怠惰以致深渊 注:本篇文章在整理时主要参考了 周志华 的《机器学习》。 主要内容 在上一篇文章中,我们知道要根据具体的问题选择具体的算法和归纳偏好。那么我们怎么判定我们的选择是正确的呢?这就需要拥有一套规范的模型评估与选择方法论了。 经验误差与过拟合 首先...
1. 经验误差与过拟合 错误率:分类错误的样本数占样本总数的比例 例如:m个样本中有a个样本分类错误,则错误率为 E=a/m 精度:分类正确的样本数占样本总数的比例。即:精度=1-错误率 例如:m个样本中有m-a个样本分类正确,则精度 A=(m-a)/m=1-E 误差:学习...
-- 原创,未经授权,禁止转载
-- 传送门: 机器学习的基本概念(一):http://www.jianshu.com/p/10fc7e397a3e 机器学习的基本概念(二):http://www.jianshu.com/p/b3edf9c9f2c8 ...
【三只青蛙打卡】田艳娟 用最温柔的坚持影响周围的每一个人 昨日三只青蛙 1、助教工作完成? 今日三只青蛙 1、晨会分享文字版 2、游泳 3、本周工作安排 【易效能100天目标】 1、皮肤管理专业知识达到100个番茄钟 2、学会蛙泳、蝶泳、自由泳、仰泳 3、结...
我们所处的时代变化太快了,今天疯狂追求的,明天可能就无人问津了。 但投投也觉得有些东西一直没变, 创业公司的创始人都想与志同道合的人一起,做出好产品,得到更高市场占有率创造出自己的企业文化并吸引到更多人。但这一切如此做呢?从瓜子二手车杨浩涌的经历也许可以窥见一些经验。 1怎...
Python原生提供多种数据类型的支持,包括列表、元组、字典、集合等。不过对于数据统计、数据挖掘、机器学习来说,这些支持不够用,而NumPy则是数学运算库的不二之选。 一、安装或升级 没有pip的请先安装Python包管理工具。 安装NumPy: 升级NumPy: 二、导入...

我要回帖

更多关于 r 拟合曲线 的文章

 

随机推荐