火龙果?整理 uml.org.cn
数据挖掘方法概述
一、主要概念 ...................................................................................................................................... 1 二、主要方法概述 .............................................................................................................................. 1
1、神经网络方法概述 ................................................................................................................. 1 2、聚类方法概述......................................................................................................................... 9 3、主成分分析 .......................................................................................................................... 14 4、决策树概述 .......................................................................................................................... 17 5、关联分析 .............................................................................................................................. 21 6、遗传算法概述....................................................................................................................... 23
一、主要概念
1、数据挖掘(data mining,简记DM):采取专门算法对数据库中潜在的、不明显的数据关系进行分析与建模。
2、CRISP-DM(CRoss-Industry Standard Process for Data Mining):各企业中被广泛采用的数据挖掘标准流程。包括6个步骤:商业理解、数据理解、数据准备、模型建立、结果评估、应用部署。
3、Clementine:SPSS公司推出的企业级数据挖掘软件产品,其包括的数据挖掘主要方法为:神经网络、聚类分析、主因子分析、决策树分析、关联分析、回归分析。
二、主要方法概述
1、神经网络方法概述
主要问题:(1)什么是神经网络? (2)神经网络有什么用? (3)如何建立神经网络? (4)如何应用神经网络?
(1)人工神经网络
“人工神经网络”(ARTIFICIAL NEURAL NETWORK,简称A.N.N.)是基于模仿大脑神经网络结构和功能而建立的一种信息处理系统。神经网络在一定学习规则下,对提供的学习样本进行学习,从中获取特征信息,并存储(记忆)在相应的权值及参数上。学习后,对于新的输入数据,网络可通过已获取的权值及参数,计算网络的输出。神经网络具有高度的非线性、容错性与自学习、自适应更新等功能,能够进行复杂的逻辑操作和非线性关系实现。目前神经网络模型在辅助管理与决策中,应用广泛。 (2)神经网络的作用
已证明结论:对于函数f(x1,x2,?xn),在满足一定条件下,可以找到函数?(x1,?,xn)
1
火龙果?整理 uml.org.cn
和实常数
Ci,?i(i?1,2,?,m)和
wij(i?1,?,m;j?1,?,n),构造函数
f(x1,x2?xn):
f(x1,x2?xn)??Ci?(?wijxj??i)
i?1j?1mn使对于任意小的?,满足
maxf(x1,x2,?xn)?f(x1,x2,?xn)??
(3)简单神经网络模型(感知机模型)的建立
问题引入:设想对购买手机的顾客制定销售方案,用购买量与购买频率两个指标来判别,即:
购买量大, 购买频率大,则给予优惠折扣 ; 购买量大, 购买频率小,则给予优惠折扣 ; 购买量小, 购买频率大,则给予优惠折扣 ; 购买量小, 购买频率小,则不给予优惠折扣 问题:这样的销售方案判别是否可以建立模型表示?
设想:分别对购买量、购买频率以及是否优惠的两种取值定义为1,0,则上述四种方案可以用四个样本表示,设每一样本具有两个评价指标X1,X2,一个评价结果Y: 样本号 X1, X2 Y 1 1 1 1 2 1 0 1 3 0 1 1 4 0 0 0
构造两个输入节点、一个输出节点、二层结构的神经网络模型:
(*) O1=f(
?wj?121jxj) xj取值1或0,
w1j(j=1,2)待求
作用函数:f(x)= 1 x>0 0 x≤0
结构:
X1 ○ W11 X1 ○ Y X2 ○ W12 X2
2
火龙果?整理 uml.org.cn
学习样本:( x1(k),x2(k), Y1(k) ) , k是样本数, k=1,2,3,4
关键问题:如何获取模型(*)中的权数w1j,使计算结果与样本的评价结果的误差最小? 计算w1j方法:
随机赋予w1j初始值,通过对每一样本的学习,获取计算结果与样本评价结果的误差,修正w1j的取值,使经过一定次数的学习后,总误差能达到期望值,此时修正得到的w1j就是所要获取的权数,即设
δ(k)=∣Y k -O k∣ , Y k是第k个样本评价结果(称期望输出或实际输出),O k是计算结果。
通过第k个样本的输出误差修正权数的公式为:
w1j(k +1)=w1j(k)+△w1j( k), △w1j=αδ(k)Xj
其中, α>0 , α称收敛因子。
第k个样本的误差为: 误差 ek=|δ(k) |, 总误差 E(k)=E(k-1)+ ek 计算过程:
1)设α=1,随机赋予w1j的初始值为0,即w11(k=1)=0,
w12(k=1)=0
2) 对第一个样本进行学习:把X1=1,X2=1代入(*),有 O= f(w11×X1+ w12×X2)=f(0×1+0×1)= f(0)=0 δ (k=1)= ∣Y k -O k∣=1 修正权数:△w1j=αδ (k) X j △
w11=δ (k=1) X =1×1=1
1
△w12 =δ (k=1) X 2=1×1=1
w11(k=2)=w11(k=1)+△w11=0+1=1,
w12(k=2)= w12(k=1)+△w12=0+1=1 总误差 E(K=1)= E(K=0)+ek=0+δ(k=1)=1
3)对第2个样本:X1=1 , X2=0, O=f(1×1+1×0)= f(1)=1
δ (k=2)= ∣Y k -O k∣=0 修正权数:△w1j=αδ (k) X j △
w11=δ (k=2) X =0×1=0
1
△w12 =δ (k=2) X 2=0×0=0
w11(k=2)=w11(k=1)+△w11=1+0=1,
w12(k=2)= w12(k=1)+△w12=1+0=1
3
火龙果?整理 uml.org.cn
总误差 E(K=2)= E(K=1)+ek=1+δ(k=2)=1 4)对于获取的权数
w11=1,w
12
=1,有
对第3个样本:X1=0,X2=1, O=f(1×0+1×1)= f(1)=1=Y 对第4个样本:X1=0,X2=0, O=f(1×0+1×0)= f(0)=0=Y 5)结论:
w11=1,w
12
=1是使计算结果与样本的评价结果误差最小的权数。将
w11=1,w
12
=
代入模型(*),则模型建立完毕。可以利用这个建立的模型,对任一组输入的X1,X2,在未知其输出(评价结果)时,通过(*)计算得到结果。
(4)误差逆传播神经网络模型(Error Back-Propagation ,简记BP模型)
在简单神经网络的基础上,进行形式推广,对多个输入、多个输出、多层结构,不同作用函数的情况进行建模分析。最常用的是BP神经网络。 BP神经网络基本原理
BP神经网络模型是一种具有三层或三层以上的前馈型的、按梯度算法使计算输出与实际输出的误差沿逆传播修正各连接权的神经网络模型。网络按有教师示教的方式进行学习,当一对学习模式提供给网络后,神经元的激活值,从输入层经各中间层向输出层传播,在输出层的各神经元获得网络的输入响应,并按减少希望输出与实际输出偏差的方向,从输出层经各中间层逐层修正各连接权,最后回到输入层,随着这种误差逆传播修正的不断进行,网络对输入模式响应的正确率不断上升。
x1 ○ wi1 ○ 1 vti ○ x2 ○ wi2 ○ i ○ t 节点 x3 ○ 节点 vtm ○ ? win ○ M ○
xn ○ 输入信息 正向传播
反向传播 实际输出与网络输出误差 BP网络模型的特点: 模型表示:Yi=f(
?wj?1mj?1nijxj??i) i=1,2,3?,m , xi取值(-∞,+∞)
?rt) t=1,2,3?,q, Ot取值(0,1)
Ot= f (
?VYtii模型结构:至少三层(至少有一隐层),多个输入,一个或多个输出 作用函数(Sigmoid型函数) :f(x)= 1/(1+e
?x)
x?(-?,+?) f(x)?(0,1)
4
火龙果?整理 uml.org.cn
学习样本:
( x1(k),x2(k),x3(k),?,xm(k), D1(k), D2(k), D3(k)?, Dq(k) ) ,
k是样本数, k=1,2,3?,P
权值修正公式:设
δi=Di-Oi , Di是期望输出(实际输出),Oi是网络计算输出 1) 隐层与输出层连接权的修正:
Vti(K+1)=Vti(K)+△Vti
?Vtik)Yi??1?(tOt(1?Ot)Yi,
是隐节点输出
2) 输入层与输出层连接权的修正:
wij(K+1)=wij(K)+△wij,
(k)?wij??1?htVtiYj(1?Yj)xj ,xjt?1qq是输入节点输入。
q3) 第K个样本误差 Ek??(Dt?1p(k)t?O(k)2tk)2)/2??(?()/2 tt?1
总误差 E=
?Ek?1k
(5)基于神经网络辅助医疗绩效的评定
案例:为了对城市医疗能力进行评价,收集一批有代表性的城市医疗数据,评价指标为病床数、医生数、工作人员数、诊所数、死亡率,并给出了专家的评价结果,旨在建立评价城市的医疗建设绩效的模型,应用于评价任意城市的医疗建设绩效。收集数据见表1.1(单位:万人)。
表1.1 样本
病床数
上海 北京 沈阳 武汉 哈尔滨 重庆 成都
医生数 工作人员
数
v v b g g g g
v v b g a b g
诊所数 v v a a b b a
5
死亡率 专家评价的医疗能
力
g a b g v g a
b g g b a b a
v v b a a b a