一、结点划分平面的设计
oc1算法是一种贪婪算法,先贪心的选择每个属性的最优权值,在加入随机扰动试图找到更好的边界。
寻找属性最优权值的算法如下:
加入随机扰动,产生随机边界进行搜索算法:
二、matlab实验
%寻找最优轴平行划分超平面
melondata = [0.697 0.46 1
0.774 0.376 1
0.634 0.264 1
0.608 0.318 1
0.556 0.215 1
0.403 0.237 1
0.481 0.149 1
0.437 0.211 1
0.666 0.091 0
0.23 0.267 0
0.245 0.057 0
0.343 0.099 0
0.639 0.161 0
0.657 0.198 0
0.36 0.37 0
0.593 0.042 0
0.719 0.103 0];
%划分属性和标签
x_axis = melondata(:,1);
y_axis = melondata(:,2);
label_axis = melondata(:,3);
%样本数量
count = length(label_axis);
a_coemax = [0, 1, -0.2045];
%扰动a1
%计算Vj
d_data = [melondata(:,1:2), ones(count, 1)]';
for m = 1 : 500
for i = 1 : 3
v_j = (a_coemax * d_data);
u_j =