。
この例では,交差検证を使使用してFSCNCA
の正則化パラメーターを調整する方法を示します。正則化パラメーターを調整すると,データ内の関連がある特徴量を正しく判別するために役立ちます。
標本データを読み込みます。
加载('twodimclassdata.mat')
このデータセットは,[1]で说明されているを使してですものものものものものものものものものものものものものものものものものものものものものものものものものものものものものもののデータ类ですですですのののデータははですです确率ののデータはですですです确率确率のデータは流量正式分布 または から抽出されたものです。ここで, 那 および です。同様に,2番目のクラスのデータ,同じ确率をもつ2つの二変载正正式分布 または から抽出されたものです。ここで, 那 および です。このデータセットを作成するために使用した正規分布のパラメーターでは,[1]で使用されているデータよりデータのクラスターが緊密になります。
クラス别にグループ化たのの布図を作物成作作作作者
图gscatter (X (: 1), (:, 2), y)包含('x1') ylabel (“x2”)
100个の无关键词 はじめ追,平等,平等が0,分享が20の正式分布からデータ生成します。
n =大小(X, 1);rng (“默认”)xwithbadfeatures = [x,randn(n,100)* sqrt(20)];
すべての点が0と1の间になるようデータ正式化します。
xwithbadfeatures =(xwithbadfeatures-min(xwithbadfeatures,[],1))./范围(xwithbadfeatures,1);x = xwithbadfeatures;
既定のlambda.
(正則化パラメーター
)の値を使使て,ncaモデルをデータにあてはめ.lbfgsソルバーソルバー使あてはめます。
ncamdl = fscnca(x,y,'fitmethod'那“准确”那'verbose',1,......“规划求解”那'lbfgs');
O Solver = LBFGS,HessianhistorySize = 15,LineSearchMethod =弱狼| =================================================================================================== ||磨练|有趣的价值|常规毕业|规范步骤|抑制|伽玛|alpha |接受| |====================================================================================================| | 0 | 9.519258e-03 | 1.494e-02 | 0.000e+00 | | 4.015e+01 | 0.000e+00 | YES | | 1 | -3.093574e-01 | 7.186e-03 | 4.018e+00 | OK | 8.956e+01 | 1.000e+00 | YES | | 2 | -4.809455e-01 | 4.444e-03 | 7.123e+00 | OK | 9.943e+01 | 1.000e+00 | YES | | 3 | -4.938877e-01 | 3.544e-03 | 1.464e+00 | OK | 9.366e+01 | 1.000e+00 | YES | | 4 | -4.964759e-01 | 2.901e-03 | 6.084e-01 | OK | 1.554e+02 | 1.000e+00 | YES | | 5 | -4.972077e-01 | 1.323e-03 | 6.129e-01 | OK | 1.195e+02 | 5.000e-01 | YES | | 6 | -4.974743e-01 | 1.569e-04 | 2.155e-01 | OK | 1.003e+02 | 1.000e+00 | YES | | 7 | -4.974868e-01 | 3.844e-05 | 4.161e-02 | OK | 9.835e+01 | 1.000e+00 | YES | | 8 | -4.974874e-01 | 1.417e-05 | 1.073e-02 | OK | 1.043e+02 | 1.000e+00 | YES | | 9 | -4.974874e-01 | 4.893e-06 | 1.781e-03 | OK | 1.530e+02 | 1.000e+00 | YES | | 10 | -4.974874e-01 | 9.404e-08 | 8.947e-04 | OK | 1.670e+02 | 1.000e+00 | YES | Infinity norm of the final gradient = 9.404e-08 Two norm of the final step = 8.947e-04, TolX = 1.000e-06 Relative infinity norm of the final gradient = 9.404e-08, TolFun = 1.000e-06 EXIT: Local minimum found.
无关关节なますますゼロゼロに非常に近いはずゼロゼロ非常に近いはずはずゼロにに非常近いはずはずはず。
图半径(ncamdl.featureweights,'ro')包含('特征索引') ylabel (“功能重量”网格)在
これは,モデルモデル学校にしたたたに近く近く重みがゼロに非常にの重みがに使非常にに近くに习习ににに の値が大きすぎることを示しています。 では,すべての特徴量の重みがゼロに近づきます。したがって,関連がある特徴量を判別するには,ほとんどのケースで正則化パラメーターを調整することが重要です。
5分钟交差検证を使使て,FSCNCA
を使用する特徴選択用に
を调整します。
の調整とは,分類損失が最小になる
の値を求めること意味ししますますし検证を使して
をを调整する手顺手顺は次ようになりなりのようになり
1.はじめに,データデータ5つの分享に分享について。CVPartition.
は各データの4/5を学習セットとして,1/5を検定セットとして割り当てます。
本量利= cvpartition (y,'kfold'5);numtestsets = cvp.numtestsets;lambdavalues = linspace(0,2,20)/长度(y);损失values =零(长度(lambdavalues),numtestsets);
2.各分类の学习习セット使使使し, の各値について近傍成分分析(NCA)モデルに学習をさせます。
3.NCAモデルモデル使使,分享割のする検定ののの値を记录し。
4.これをすべての分享およびすべての の値に対して缲り返します。
为了i = 1:长度(lambdavalues)为了k = 1: numtestsets%从分区对象中提取训练集xtrain = x(cvp.training(k),:);YTrain = Y(CVP.TRINATION(k),:);%从分区对象中提取测试集xtest = x(cvp.test(k),:);ytest = y(cvp.test(k),:);%培训使用培训集进行分类的NCA模型ncamdl = fscnca(xtrain,ytrain,'fitmethod'那“准确”那......“规划求解”那'lbfgs'那'lambda',lambdavalues(i));%计算使用NCA的测试集的分类损耗%的模型lossvalues (i (k) =损失(ncaMdl Xtest,欧美,......'损失'那“二次”);结尾结尾
分割の平均損失値を の値についてプロットします。
图绘制(lambdavalues,意味着(lossvalues, 2),“ro - - - - - -”)包含(“λ值”) ylabel (“损失价值”网格)在
最小の平等损失に対応する の値を求めます。
[~, idx] = min(意味着(lossvalues, 2));%找到索引Bestlambda = Lambdavalues(IDX)%找到最好的lambda值
Bestlambda = 0.0037
最適な ののを使使て,すべてのデータにncaモデルモデルあてはめあてはめあてはめあてはめあてはめあてはめあてはめあてはめあてはめますあてはめあてはめますますあてはめあてはめあてはめあてはめあてはめあてはめあてはめあてはめあてはめあてはめあてはめあてはめあてはめあてはめあてはめあてはめあてはめあてはめ
ncamdl = fscnca(x,y,'fitmethod'那“准确”那'verbose',1,......“规划求解”那'lbfgs'那'lambda', bestlambda);
O Solver = LBFGS,HessianhistorySize = 15,LineSearchMethod =弱狼| =================================================================================================== ||磨练|有趣的价值|常规毕业|规范步骤|抑制|伽玛|alpha |接受| |====================================================================================================| | 0 | -1.246913e-01 | 1.231e-02 | 0.000e+00 | | 4.873e+01 | 0.000e+00 | YES | | 1 | -3.411330e-01 | 5.717e-03 | 3.618e+00 | OK | 1.068e+02 | 1.000e+00 | YES | | 2 | -5.226111e-01 | 3.763e-02 | 8.252e+00 | OK | 7.825e+01 | 1.000e+00 | YES | | 3 | -5.817731e-01 | 8.496e-03 | 2.340e+00 | OK | 5.591e+01 | 5.000e-01 | YES | | 4 | -6.132632e-01 | 6.863e-03 | 2.526e+00 | OK | 8.228e+01 | 1.000e+00 | YES | | 5 | -6.135264e-01 | 9.373e-03 | 7.341e-01 | OK | 3.244e+01 | 1.000e+00 | YES | | 6 | -6.147894e-01 | 1.182e-03 | 2.933e-01 | OK | 2.447e+01 | 1.000e+00 | YES | | 7 | -6.148714e-01 | 6.392e-04 | 6.688e-02 | OK | 3.195e+01 | 1.000e+00 | YES | | 8 | -6.149524e-01 | 6.521e-04 | 9.934e-02 | OK | 1.236e+02 | 1.000e+00 | YES | | 9 | -6.149972e-01 | 1.154e-04 | 1.191e-01 | OK | 1.171e+02 | 1.000e+00 | YES | | 10 | -6.149990e-01 | 2.922e-05 | 1.983e-02 | OK | 7.365e+01 | 1.000e+00 | YES | | 11 | -6.149993e-01 | 1.556e-05 | 8.354e-03 | OK | 1.288e+02 | 1.000e+00 | YES | | 12 | -6.149994e-01 | 1.147e-05 | 7.256e-03 | OK | 2.332e+02 | 1.000e+00 | YES | | 13 | -6.149995e-01 | 1.040e-05 | 6.781e-03 | OK | 2.287e+02 | 1.000e+00 | YES | | 14 | -6.149996e-01 | 9.015e-06 | 6.265e-03 | OK | 9.974e+01 | 1.000e+00 | YES | | 15 | -6.149996e-01 | 7.763e-06 | 5.206e-03 | OK | 2.919e+02 | 1.000e+00 | YES | | 16 | -6.149997e-01 | 8.374e-06 | 1.679e-02 | OK | 6.878e+02 | 1.000e+00 | YES | | 17 | -6.149997e-01 | 9.387e-06 | 9.542e-03 | OK | 1.284e+02 | 5.000e-01 | YES | | 18 | -6.149997e-01 | 3.250e-06 | 5.114e-03 | OK | 1.225e+02 | 1.000e+00 | YES | | 19 | -6.149997e-01 | 1.574e-06 | 1.275e-03 | OK | 1.808e+02 | 1.000e+00 | YES | |====================================================================================================| | ITER | FUN VALUE | NORM GRAD | NORM STEP | CURV | GAMMA | ALPHA | ACCEPT | |====================================================================================================| | 20 | -6.149997e-01 | 5.764e-07 | 6.765e-04 | OK | 2.905e+02 | 1.000e+00 | YES | Infinity norm of the final gradient = 5.764e-07 Two norm of the final step = 6.765e-04, TolX = 1.000e-06 Relative infinity norm of the final gradient = 5.764e-07, TolFun = 1.000e-06 EXIT: Local minimum found.
特徴量の重みをプロットします。
图半径(ncamdl.featureweights,'ro')包含('特征索引') ylabel (“功能重量”网格)在
FSCNCA
は,初めの2つの特点はがが,残りはそうではないを正式判别判别ます。初めの2つの特性は単独はを与えんが単独はをませが,一般にする正式ななモデルにとられます。
参考文献
1.杨,W.,K.王,W. Zuo。“高维数据的邻域组件功能选择。”电脑杂志。卷。7,1月1日,2012年1月。
PeazereSelectionNcaclassification.
|FSCNCA
|损失
|预测
|改装