机器学习 | 入门(三)—— 决策树

决策树(Decision Tree)算法是一种基本的分类与回归方法,根据数据的属性采用树状结构建立决策模型。决策树模型常常用来解决分类和回归问题。常见的算法包括CART(Classification And Regression Tree)、ID3、C4.5、C5.0、随机森林(Random Forest) 等。

1.基本流程

决策树的学习策略是分而治之,在训练时遇到当前结点包含的样本全属于同一类别,那么就不需要再进行划分。

2.划分选择

主要目标:把样本变得越来越纯,具体来说是期望决策树的分支结点所包含的样本尽可能地属于同一类别。

2.1 信息增益

假定样本集合 <math xmlns="http://www.w3.org/1998/Math/MathML"> D D </math>D 中第 <math xmlns="http://www.w3.org/1998/Math/MathML"> k k </math>k类样本所占比例为 <math xmlns="http://www.w3.org/1998/Math/MathML"> p k ( k = 1 , 2 , ... , ∣ y ∣ ) p_k(k=1,2,..., |y|) </math>pk(k=1,2,...,∣y∣)

样本集合 <math xmlns="http://www.w3.org/1998/Math/MathML"> D D </math>D的信息熵:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> E n t ( D ) = − ∑ k = 1 ∣ y ∣ p k l o g 2 p k Ent(D)=-\sum_{k=1}^{|y|}{p_klog_2p_k} </math>Ent(D)=−k=1∑∣y∣pklog2pk

信息增益的定义:划分前的信息熵减去划分后的信息熵。

信息增益公式:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> G a i n ( D , a ) = E n t ( D ) − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ E n t ( D ) Gain(D,a)=Ent(D)\ -\sum_{v=1}^{V}{\frac{|D^v|}{|D|}Ent(D)} </math>Gain(D,a)=Ent(D) −v=1∑V∣D∣∣Dv∣Ent(D)

<math xmlns="http://www.w3.org/1998/Math/MathML"> D v D^v </math>Dv是使用某个属性时对数据集 <math xmlns="http://www.w3.org/1998/Math/MathML"> D D </math>D的划分,一般来说信息增益越大,使用属性 <math xmlns="http://www.w3.org/1998/Math/MathML"> a a </math>a所划分得到的"纯度提升"越大。

ID3决策树:以信息增益准则划分属性

那么问题来了,样本集合纯度究竟有什么影响?

在机器学习中,样本集合纯度对模型训练和性能有很大影响。如果样本集合中目标类别样本数量很少,模型就很难学习到目标类别的特征,从而导致模型性能不佳。相反,如果样本集合中目标类别样本数量过多,模型就很容易过拟合,无法泛化到新的数据集。

因此,在构建机器学习模型时,需要对样本集合进行筛选和优化,以提高样本集合纯度,从而提高模型训练和预测的准确性。同时,也需要避免过拟合现象的发生,以提高模型的泛化能力。

2.2 增益率

增益率定义:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> G a i n _ r a t i o ( D , a ) = G a i n ( D , a ) I V ( a ) Gain\_ratio(D,a)=\frac{Gain(D,a)}{IV(a)} </math>Gain_ratio(D,a)=IV(a)Gain(D,a)

其中IV(a)的定义:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> I V ( a ) = − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ l o g 2 ∣ D v ∣ ∣ D ∣ IV(a)=\ -\sum_{v=1}^{V}{\frac{|D^v|}{|D|}log_2}\frac{|D^v|}{|D|} </math>IV(a)= −v=1∑V∣D∣∣Dv∣log2∣D∣∣Dv∣

增益率准则对可取值数目较少的属性有所偏好,意味着在决策树算法中,会倾向于选择那些具有较少可能值的属性进行划分。这是因为增益率准则认为,具有较少可能值的属性在划分数据时能够提供更多的信息。

C4.5决策树:采用启发式方法,具体步骤如下

step 1. 在候选划分属性中找出信息增益高于平均水平的属性

step 2. 在上一步的基础上,选择增益率最高的

2.3 基尼指数

CART决策树:可用于分类任务和回归任务,它使用基尼指数来划分属性,数据集 <math xmlns="http://www.w3.org/1998/Math/MathML"> D D </math>D的纯度采用基尼值来进行度量。
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> G i n i ( D ) = ∑ k = 1 ∣ y ∣ ∑ k ′ ≠ k p k p k ′ = 1 − ∑ k = 1 ∣ y ∣ p 2 k Gini(D)=\ \sum_{k=1}^{|y|}\sum_{k^\prime\neq k}{p_kp_{k^\prime}}=1-\sum_{k=1}^{|y|}{p^2}_k </math>Gini(D)= k=1∑∣y∣k′=k∑pkpk′=1−k=1∑∣y∣p2k

基尼值越小,数据集的纯度越高。

基尼指数的定义:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> G i n i _ i n d e x ( D , a ) = ∑ v = 1 V ∣ D v ∣ ∣ D ∣ G i n i ( D v ) Gini\index(D,a)=\sum{v=1}^{V}{\frac{|D^v|}{|D|}Gini(D^v)} </math>Gini_index(D,a)=v=1∑V∣D∣∣Dv∣Gini(Dv)

最优划分属性:在候选属性集合中选择使划分后基尼指数最小的属性
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> a ∗ = a r g m i n G i n i _ i n d e x ( D , a ) a_\ast=arg\ min\ Gini\_index(D,a) </math>a∗=arg min Gini_index(D,a)

其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> a ∈ A a\in A </math>a∈A

总结

决策树算法通过选择不同的划分准则来优化决策树的构建,从而提高模型的训练和预测准确性。同时,这些准则也影响了决策树的纯度和泛化能力。

参考资料

[1] 周志华《机器学习》,第四章4.1和4.2

[2]【吃瓜教程】《机器学习公式详解》(南瓜书)与西瓜书公式推导直播合集

www.bilibili.com/video/BV1Mh...

相关推荐
沉下心来学鲁班1 分钟前
复现LLM:带你从零认识语言模型
人工智能·语言模型
数据猎手小k2 分钟前
AndroidLab:一个系统化的Android代理框架,包含操作环境和可复现的基准测试,支持大型语言模型和多模态模型。
android·人工智能·机器学习·语言模型
YRr YRr11 分钟前
深度学习:循环神经网络(RNN)详解
人工智能·rnn·深度学习
sp_fyf_202423 分钟前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01
人工智能·深度学习·神经网络·算法·机器学习·语言模型·数据挖掘
多吃轻食27 分钟前
大模型微调技术 --> 脉络
人工智能·深度学习·神经网络·自然语言处理·embedding
北京搜维尔科技有限公司1 小时前
搜维尔科技:【应用】Xsens在荷兰车辆管理局人体工程学评估中的应用
人工智能·安全
说私域1 小时前
基于开源 AI 智能名片 S2B2C 商城小程序的视频号交易小程序优化研究
人工智能·小程序·零售
YRr YRr1 小时前
深度学习:Transformer Decoder详解
人工智能·深度学习·transformer
知来者逆1 小时前
研究大语言模型在心理保健智能顾问的有效性和挑战
人工智能·神经网络·机器学习·语言模型·自然语言处理
云起无垠1 小时前
技术分享 | 大语言模型赋能软件测试:开启智能软件安全新时代
人工智能·安全·语言模型