开发者学堂课程【机器学习概览及常见算法:有监督学习算法(下)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/529/detail/7122
有监督学习算法(下)
内容简介:
1 决策树:构建流程
2 熟悉数据。明确目标
3 信息熵
4 信息增益和特征选择
5 构建决策树
6 第一级特征选择
7 ID3系列算法
8 CART
9 其他常见有监督学习算法
1 决策树:构建流程
(1)准备工作
明确自变量和因变量确定信息度量的方式确定终止条件
(2)选择特征
得到当前待处理子集计算所有特征信息度量得到当前最佳分类特征
(3)创建分支
根据选中特征将当前记录分成不同分支,分支个数取决于算法
(4)是否终止
判断是否满足终止条件满足则退出循环不满足则继续递归调用
(5)结果生成
判断是否需要剪枝需要则进行适当修剪不需要则为最终结果
观察数据,明确自变量和因变量
2 熟悉数据。明确目标
■自变量
■因变量
明确信息度量方式:信息增益
■熵
■基尼系数
明确分支终止条件
■纯度
■记录条数
■循环次数
根据电脑购买记录,对购买者建模。该模型可以基于客户的一些信息预测他是否会购买电脑。
3 信息熵
■信息论里的概念,香农提出
■描述混乱程度的度量
■取值范围 0~1 ,值越大,越混乱
■计算公式:
有一堆苹果和梨共100个,随机拿出一个,拿出的是哪种?
■50个苹果+ 50个梨子
■0个苹果+ 100个梨子
■80个苹果+ 20个梨子
E1=-50/100*log(50/100,2) - 50/100*log(50/100,2) = 1
E2=-100/100*log(100/100,2)=0
E3= -20/100*log(20/100,2) - 80/100*log(80/100,2) = 0.722
4 信息增益和特征选择
信息增益
■信息是确定性的增加
■从一个状态到另一一个状态信息的变化
■信息增益越大,对确定性贡献越大
搜集了几种植物果实的颜色和味道,根据
这两个信息确定是否为水果?
不考虑任何特征,直接去估计结果:
其中,两个是水果,两个不是水果,概率均为2/4 :
E= -2/4*log(2/4,2) - 2/4*log(2/4,2)=1
考虑以颜色为参考信息,判断是否为水果:
其中,红色的有3个,2个是水果,一一个不是,绿色的都不是,概率
分别为: 2/3,1/3以及1, 0
E=3/4*(-2/3*log(2/3,2) - 1/3*log(1/3,2))
+ 1/4*(-1*log(1,2)) = 0.689
考虑以味道为参考信息,判断是否为水果:
其中,甜味的2个,全是水果,不甜的2个,全不是水果,概率分别
为:1,0以及0,1
E=2/4*(- 2/2*log(2/2,2)) + 2/4*(- 2/2*log(2/2,2)) = 0
信息增益:
颜色: 1-0.689=0.311
味道: 1-0=1
5 构建决策树
6、第一级特征选择
计算整体的熵:购买: 9例,未购买: 5例
计算年龄的熵
计算收入的熵
计算单身的熵
计算信用的熵
7、 ID3 系列算法
ID3 ( Iterative Dichotomiser 3,迭代树三代)
■核心是信息熵,根据信息增益决定树的节点
■存在以下问题:
V 信息度量不合理:倾向于选择取值多的字段
V 输入类型单一:离散型
V 不做剪枝,容易过拟合
C4.5 :和ID3相比的改进:
V 用信息增益率代替信息增益
V 能对连续属性进行离散化,对不完整数据进行处理
V 进行剪枝
C50 : C4.5相比的改进:
V 使用了 boosting
v 前修剪、后修剪
8 、CART
CART ( Classification and Regression Tree )
■核心是基尼系数( Gini )
■分类是二叉树
■支持连续值和离散值
■后剪枝进行修剪
■支持回归,可以预测连续值
9、 其他常见有监督学习算法
分类算法:
■KNN ( K最近邻,K-Nearest Neighbour)
■NB (朴素贝叶斯 ,Naive Bayes )
■DT (决策树, Decision Tree ) : C45、CART
■SVM (支持向量机, Support Vector Machine )
回归预测:
■线性回归( Linear Regression )
■逻辑回归( Logistic Regression )
■岭回归( Ridge Regression )
■拉索回归( LASSO Regression )

