正在加载图片...
第6期 杨小兵,等:切换回归模型的抗噪音聚类算法 ·499· 输入数据集 其中的每一个数据点(,y),如果它不是刚从S 中转移过来的,则对0≤i≤c分别计算du(,y). 如果存在某个d(xk,y.)≤w(1≤j≤c),那么就把 模糊划分数据集 (x,y)从S清除,加入到S中. 5)如果Sa和S不再发生变化或者‖B)- 清除噪音数据 B+”‖<E,则程序终止,返回S和S,以及对 应的模型y=f(x,β)+e,1≤i≤c和参数B; 否则令r=r+1,转到2). 变化足够小? 由于给定的数据集S中的数据的有限性,算法 必然会在有限步内终止.在实际执行过程中,第2) 结束 步所采用的无噪音聚类算法可以是简单易行的硬划 图1NRC算法的流程图 分方法,如HCM算法,也可以是考虑更为合理的模 Fig.1 Flow chart of NRC algorithm 糊划分算法,如FCRM算法.如果是采用了模糊划 假设S是数据集S中的噪音数据的集合,相 分算法,那么在判断S中的点(xk,y)是否为噪音 应地Sa是非噪音数据的集合,那么NRC算法的目 数据时,可以以(x,y)所对应的隶属度最大的子模 的就是将S分为2个子集Sm.和Ste,然后对San进 型对应的方程作为判断的参照方程.即如果U是 行无噪音聚类,估计出各个子模型及对应的参数. U(1≤i≤c)中的最大值,那么就以du(xk,y)与w 在NRC算法中,首先Satn的初始值为S,Sic初 的比较来作为判断(x,y)是否是噪音数据的标准。 始值为.然后利用无噪音聚类算法将S划分为c 由于NRC算法的每次迭代都是在去除噪音数 个子集并回归为c个单模型,同时估计出各个子模 据之后对模型的参数进行估计的,因此通过其得到 型的参数B:(1≤i≤c).在Sn含有噪音的情况下, 的参数将会明显优于其他未考虑噪音数据的聚类算 通过无噪音聚类算法得到的划分和参数是不准确 法,仿真实验将进一步证明这一点。 的,因此需要对它们进行修正.修正的方法就是根据 4仿真实验 设定的距离阚值w对San中的每个数据点(xk,yk) 进行判断,如果(x,y)被认为是噪音的话就将它从 为了证明NRC算法对噪音数据的抵抗能力,给 San去除,然后加入到Si中;同时随着算法的执 出2个仿真实验,实验中采用的模型都为c=2的切 行,参数发生变化时也要对S中原来认为是噪音 换回归模型,其中第1个实验用来估计线性回归模 的数据重新进行判断,如果有数据点到某个子模型 型的参数值,第2个实验用来估计二次回归模型的 的距离小于0了,就把它在Ste中去除加人到Sa 参数值, 中.以上过程循环执行,直到S和Si不再发生变 实例一: 化.NRC算法的一般步骤可以描述为 在本实验中用到的实验数据为600个包含有大 1)已知S={(x1,y1),…,(xyn).确定模型 量噪音数据的数据点,其中的非噪音数据都是按模 (2)并根据实际应用的需要设定距离范围w,并选 型(3)生成的.模型的参数分别设为B1=0,β12=0, 择终止循环参数£>0.初始化非噪音数据集合 01=0.25,B21=1.0,B2=0和02=0.25.每个数据 S0=S和噪音数据集合S0=0,同时令r=0. 点(xk,y)的生成过程如下: 2)利用无噪音聚类算法对S进行划分回归和 1)按均匀分布随机生成一个数∈(0,1),如 估计参数,得到各子模型的参数值β及模型y)= 果%<0.35,则令i=1,如果0.35≤4<0.7,则令 i=2,否则令i=0; f(x;β)+e,1≤i≤c 2)在(-3,3)上按均匀分布随机选定x,并按均值 3)更新S@。→S”:扫描S中的数据,对于 为0,方差为σ:的正态分布随机生成误差; 其中的每一个数据点(xk,y),根据它被划分到的子 3)按如下方法计算y:如果i=0,则在(-3,3) 集所对应的子模型y)=f(x;B)+e,计算 上按均匀分布随机生成yk,这时(x,yx)就是噪音数 da(k,y),如果da(xk,y)>0,则把(xk,y)从S 据,否则根据模型(3),通过x、B和Ba计算y, 清除,加入到S中. 这时的(x,y)为非噪音数据。 4)更新S。→S”:扫描S.中的数据,对于 从数据的生成过程可以看出这个切换回归模型
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有