整理整理最近的学习心得,理论和实践各写一文。本文是对理论的整理。
主要知识来自于以下两本书
1.《数据挖掘基础教程》(印)K.P.Soman Shyam Diwakar
2.《数据挖掘技术 -- 市场营销、销售与客户关系管理领域应用》(美)Michael J.A.Berry
先做个简单的评价,
第1本书的亮点是决策树那章,这是我见到的书中讲得最详细的。
第2本书的亮点是人工神经网络那章,这是我见到的书中讲得最详细的。另外,第二本书提供了大量实例,概念的描述依托于这些实例。这使得理解变得很容易。
现在,开始做内容整理。
@协同过滤
为什么要使用协同过滤?最前提的假设是,寻找信息的人应当能利用人们已经发现和评估的信息。
@数据挖掘的挑战
算法的并行式版本,分布式版本,非内存版本
@数据挖掘的主要类型
类型1-分类学习
分类学习的输出形式: 决策树、神经网路、规则
类型2-关联学习
类型3-聚类
聚类的输出形式: 表、venn图、树状图、自组织映射
类型4-数值预测
回归树、模型树
@决策树的不同版本
版本1-ID3决策树
用熵(entropy)作为纯度度量
版本2-C4.5决策树
用信息增益(information gain)作为纯度度量,在处理连续数据离散化和缺失数据上做了改进。
其实信息增益本质上和熵是一样的概念,因为信息增益=熵-熵’。
版本3-CART
用基尼系数(Gini Index)作为纯度度量
版本4-CHAID决策树
使用卡方检验进行评估
版本5-回归树
多个变量 -> 单个变量
@决策树问题及对策
问题
过度拟合(over fitting)
对策
前剪枝(pre prune):先设定好规则,一旦数据符合这个规则就被剪枝
后剪枝(post prune): 子树替换,子树提升
奥卡姆剃刀(Occam’s Razor):
@决策树的优势
当一条记录有若干不同的方式划分为目标类的一部分时,适合用单条线来发现类别之间边界的统计学方法是无力的。
而决策树能够成功地达到这一目标。
@决策树节点的纯度度量
Gini基尼
entropy熵
信息增益比率
卡方检验
@离散化数据的方法
等宽分箱
等频分箱
基于熵的离散化
高斯近似
k-分位数方法
ChiMerge
@人工神经网络
算法模型:
输入-激活函数-输出
关于输入
输入 -> 全部映射为[-1,1]
关于激活函数
激活函数 = 组合函数 + 转换函数
组合函数
组合函数把所有的输入按一定权重组合,再加上偏离,构成单一值
转换函数
把组合函数的输出作为转换函数自己的输入,计算输出值。
转换函数1- Sigmond逻辑函数
logistic(x) =1/(1+ e-x)
转换函数2-线性
tanh(x)=( ex - e-x)/( ex + e-x)
转换函数3-双曲正切
训练神经网络的过程就是设定连接所有单元之间的边得最佳权重。
可以使用以下算法进行调节
爬山法
模拟退火(simulated annealing)
共轭梯度(conjugate gradient)
@遗传算法
一般,当问题的可以表示为有限资源的争夺时,可以使用遗传算法。
@度量的分类
分类变量:可说X≠Y,不可说X<Y或X>Y
排序变量:可说X<Y<Z, 不可说Y-X与Z-Y谁大
区间变量:巴黎5℃,纽约10℃,可说纽约比巴黎高5℃,不可说纽约是巴黎的两倍热。
因为温度中的0℃是没有意义的。即区间变量只能做加减,不能做除法。
真实变量:从一个有意义的0开始,比如小明身高1米,小红身高1.5米。真是变量既可以做减法,又可以做除法。