过拟合与剪枝
一、过拟合问题我们将一个数据集划分为三个子数据集:训练集、验证集、测试集。过拟合现象,即:随着决策树节点数的增多,训练集的错误率逐渐减小,但验证集错误率呈先减小后增大的趋势。
因此在建立决策树时,我们需要寻找恰拟合的决策树,这样避免过拟合现象同时达到验证集错误率最小,故引入剪枝方法。
二、剪枝方法决策树中的剪枝方法,即减少树中结点的个数。剪枝方法的基本思想为:剪枝前后,决策树在验证集的错误率减少,是一种自下而上的减少结点数量方法。
以上方法进行剪枝,未免过于麻烦,因此引入损失函数方法进行剪枝,它是通过综合考虑决策树的大小和训练集上的错误率来影响剪枝过程。
三、损失函数
C(T)=\sum_{i=1}^{N(T)}{N_iH(T_i)+{\alpha}N(T)}其中,$N(T)$表示树T的叶节点树,反映了决策树的大小。$H(T_i)$表示叶节点$T_i$的熵,反映了训练集的错误率。$N_i$表示叶节点$T_i$的样本数。$\alpha$表示调节系数。
决策树算法-C4.5算法
一、C4.5算法介绍C4.5算法是对ID3决策树算法的改进,之所以要改进ID3算法,主要有以下原因:$g(D,A)=H(D)-H(D|A)$,信息增益倾向于选择取值多的特征,当特征取值多时,D被划分为多个子数据集,每个子数据集中的样本数可能比较少,里面只包含单一类别样本的可能性就比较大,这样就会导致条件熵比较小,从而使得信息增益比较大,在极限情况下,特征A的取值特别多,以至于每个样本都有一个不同的取值,这样每个子数据集就只含有一个样本,每个子数据集的类别都是确定的。比如:以毫米为单位的发长特征。(本质上还是数据量不足)
改进思想:
相对信息增益,即:信息增益率
用信息增益率代替信息增益选择特征
分离信息:
分离信息也是一种熵,按照特征取值计算概率,不是按照分类结果计算概率:
SI(D,A)=-\sum_{i=1}^{n}{P_i}·log(P_i)=-\sum_{i=1}^{n}{\frac{D中特征A取第i个值的样本数}{D中的样本数}·log(\frac{D中特征A取第i个值的样本数}{D中的样本数})}信息增益率:
g_r(D,A)=\frac{g(D,A)}{SI( ...
决策树算法-ID3算法
一、ID3算法介绍ID3算法就是一个按照信息增益选择特征的决策树算法,其基本思想为:每次选择一个信息增益最大的特征,逐节点的建立决策树(ID3算法其实是一个递归算法)。
二、ID3算法规定输入:训练集D,特征集A,阈值$\epsilon$
输出:决策树T
如果D中所有样本均属于同一类别C,则T为单节点树,将C作为该节点的类别标志返回T
如果A为空,则T为单节点树,将D 中样本最多的类C作为该节点的类别标志,返回,否则计算 A 中各特征对D的信息增益,选择信息增益最大的特征A
如果$A_g$的信息增益小于阈值$\epsilon$,则将T视作单节点树,将D中样本最多的类C作为该节点的类别标记,返回T,否则按照$A_g$的每个可能取值$a_i$,将D划分为n个子数据集$D_i$,作为 D的子节点
对于D的每个子节点D,如果D为空,则视T为单节点树将D的父节点D中样本最多的类作为 D的类别标记,否则以$D_i$作为训练集,以 A-[$A_g$]为特征集,递归地调用算法的1到 6 步,得到子决策树$T_i$,返回$T_i$
三、ID3算法举例
统计学习方法实现分类和类聚(三)-决策树方法
一、决策树的思想决策树是一种分类方法
1.1 一些基本概念
1.2 构建决策树的方法决策树的构建是根据训练集构建的,根据同一个数据集可以构建不同的决策树,即特征可以随机组合。
对于同一训练集构建的不同决策树,我们需要衡量多个决策树的优劣,即评价一个决策树的好坏以及如何建立一个好的决策树是一个待解决的问题。
决策树尽可能与训练集一致,其次决策树应该具有更好的泛化能力。但是,我们不可能建立所有可能的决策树,再从中选择一个最好的。
1.3 启发式方法由于特征数量的多少,我们不能建立所有的决策树,所以使用启发式的方法构建决策树,即:优先使用分类效果好的特征(当然,特征的效果好坏依赖于数据集)。
二、决策树构建2.1 特征评价前面提到,采用启发式方法构建决策树需要按照特征效果依次构建决策树,那么判断特征效果的好坏的过程就叫做特征评价。
这里,首先引入数据集的熵这一概念。熵,是对数据集混乱程度的评价:
H(D)=-\sum_{i=1}^{n}{P_i}·log(P_i)这里熵的引入和信息论信源的熵相同(以2为底),熵越大,数据集越混乱。
条件熵:特征$A$按其取值将数据集$D$划分为$n$ ...
统计学习方法实现分类和类聚(二)-朴素贝叶斯方法
一、朴素贝叶斯方法介绍朴素贝叶斯方法是一种基于概率的分类方法。其基本思想是:对于一个以若干特征表示的待分类样本,依次计算样本属于每个类别的概率,其中所属概率最大的类别作为分类结果输出。
二、贝叶斯方法2.1 符号约定
贝叶斯方法确定类别即求满足$max[P(y_{i}|x)]$的$y_i$的取值,但是直接计算难度很大,所以引入贝叶斯公式计算该概率:
P(y_{i}|x)=\frac{P(x|y_i)P(y_i)}{P(x)}因为$x$的特征已经给定,所以$P(x)$是给定的固定值,那么求$P(y_{i}|x)$最大与$P(x|y_i)P(y_i)$最大等价。又因为$P(x|y_i)P(y_i)=P(x,y_i)$,即给定$x$和$y_i$求联合概率的大小,这在思维上是成立的,联合概率越大关联性越强,即判断出$x$与某一个$y_i$相匹配。
$P(y_i)$是先验概率,这是在给定训练样本下计算得到的。$P(x|y_i)$的概率计算较为麻烦,因为每一类特征有很多取值,这样我们就面临组合爆炸问题。例如:$x=(青年,中发,平底,花色)$,虽然$x$给定,但该特征组合的概率在众多组合之中计算 ...
统计学习方法实现分类和类聚(一)
近期,在B站看到清华大学教授马教授录制的统计学习方法感觉获益良多。之前也看过李航老师的《统计学习方法》有点晦涩难懂,当然这并不是书本的问题,而是我作为本科生在知识深度的掌握上很欠缺引起的。
一、统计学习方法与人工智能首先了解人工智能的三起三落:
123456789第一次兴盛期:1958 年,美国心理学家 Frank Rosenblatt 提出了第一个可以自动学习权重的神经元模型,一般认为 1943 年~1969 年为人工智能发展的第一次兴盛期。第一次寒冬:1969 年,美国科学家 Marvin Minsky 等人在出版的《Perceptrons》一书中指出了感知机等线性模型的主要缺陷,即无法处理简单的异或 XOR 等线性不可分问题。这直接导致了以感知机为代表的神经网络的相关研究进入了低谷期,一般认为 1969 年~1982 年为人工智能发展的第一次寒冬。第二次兴盛期:1982 年,随着 John Hopfild 的循环连接的 Hopfield 网络的提出,开启了 1982 年~1995年的第二次人工智能复兴的大潮,这段期间相继提出了卷积神经网络、循环神经网络、反向传播算法等算法模型。1 ...
Deformable ConvNets-可变形卷积学习
可变形卷积是相对于标准卷积来说的,这个概念出自于Hu han团队在2017年发表的一篇论文《Deformable Convolutional Networks》。既然该概念是相对于标准卷积来说的,那么我们就有必要将两种卷积进行对比学习。
一、标准卷积首先,对于标准卷积我们可以借用下面的数学表达式理解:
y(p_0) = \sum_{p_n{\in}R}{w(p_n)·x(p_0+p_n)}这里$p_0$代表中心像素的坐标,$p_n$代表基于窗中的临近元素坐标,它是相对于$p_0$的,$x(·)$代表像素的像素值,$w(p_n)$代表卷积权重,$R$是由$p_n$与$p_0$共同构成相对位置坐标的矩阵/集合。在这里$R$定义了卷积尺寸和卷积模式(空洞卷积或者普通卷积)。
卷积的运算,即相乘相加,将尺寸为3x3的感受野中的信息通过卷积的运算聚合到map中的一点。
二、可变形卷积对于可变形卷积我们可以借用下面的数学表达式理解:
y(p_0) = \sum_{p_n{\in}R}{w(p_n)·x(p_0+p_n+▲p_n)}注意到可变形卷积是在标准卷积的基础上加上了位置偏移量offs ...
简单CV识别+Pyautogui制作阴阳师外挂解放双手
阴阳师七周年,有个活动需要刷999次。活动前三天,我十分本分的手动刷了999,但是太累了,于是写了脚本用于自动识别点击(脚本比较拙劣,依赖前端鼠标控制,demo没有做防检测凑合着点吧)。
一、简单训练12345678910111213141516171819202122232425262728293031323334353637import dlibimport cv2 as cvdef Train(): options = dlib.simple_object_detector_training_options() options.add_left_right_image_flips = True options.C = 5 options.num_threads = 2 options.be_verbose = True dlib.train_simple_object_detector('data.xml', 'data.svm', options)def deteTest(): imgpath = ...
服了!我的手机头盖骨又碎了
国庆小长假第一天上课就发生了一件很无奈╮(╯▽╰)╭的事情。事情是这样的,我的K30Pro月慕白后盖在上个学期期末期间摔碎了(′д` )…彡…彡。一直想自己换一个后盖,种种原因一直在拖(大部分原因是原厂后盖太贵,淘宝散装后盖又怕盖不严实)。终于,在国庆期间我刷酷安看见一个老哥推荐一款机甲分格后盖,一眼万年,就买下了(28元,哈哈哈)。
货到了,在国庆最后一天,我换上了崭新的后盖,老高兴了,我的国庆满足o( ̄︶ ̄)o了!!!
就在今天早上,无奈死了。换上不到24小时,它竟然又摔碎了,My God!!!!
24考研人还没考25考研狗已经把持不住了
24考研人还没考25考研狗已经把持不住了。近期,我校遭受考研机构进军,这才开学两周,天天都是某某考研机构的讲师某某来校讲座。发短信通知就算了,还要敲你宿舍门给你发传单,让你加某某的微信。👎🙄
我虽然知道这也是考研机构为我好,早点准备嘛,哈哈哈哈,但是是不是太早了呢。我大三的专业课啥都没学呢,你就让我准备考研,与其现在准备不如在我踏进大学门的一刻就准备考研算了。我是来上大学的,要学习大学应该学习的东西,至于以后的路怎么走,我可以选择考研也可以选择直接就业,但是我认为总是需要把大学的第二、三学期用来学习专业课。
不知道考研机构行业卷成什么样了,但是在我这里贩卖焦虑真的需要骂一骂。