このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
この例では,交差検証を使用してfscnca
の正析パラメーターを调整示します示します。正式化パラメーター调整と,データ内の关键词。
标本データを読み込み。
负载(“twodimclassdata.mat”)
このデータセットは,[1]で説明されている方法を使用してシミュレートしたものです。これは2次元の2クラス分類問題です。1番目のクラスのデータは、同じ確率をもつ 2 つの二変量正規分布 または からから抽出されたものものここここ, 、 および です。同様に2番目のクラスのデータは,同じ確率をもつ2つの二変量正規分布 または からから抽出されたものものここここ, 、 および 。このデータセットを作用成するため使使し正式分布のパラメーターは,[1]でで使さているデータデータののクラスターが紧密になりなりより
クラス別にグループ化したデータの散布図を作成します。
图g箭头(x(:,1),x(:,2),y)xlabel(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;
既定のλ
(正式化パラメーター
)の値を使用して,NCAモデルをデータにあてはめます。LBFGSソルバーを使用し,収束情報を表示します。
ncaMdl = fscnca (X, y,“FitMethod”,'精确的',“详细”,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.
特徴量の重みをプロットします。無関係な特徴量の重みはゼロに非常に近いはずです。
图semilogx (ncaMdl。FeatureWeights,“罗”)Xlabel(“功能指数”)ylabel('特征重量') 网格在
すべての重みがゼロに非常に近くなっています。これは,モデルの学習に使用した ののが大厦すぎることを示しててます。 では,すべての特价のがゼロ,关键词,关键词,关键词,关键词,关键词,はは,ほとんどのケースで正式化。
5分割交差検証を使用して,fscnca
使用する特价选択用に
を調整します。
の调整とは,分享到が最小になる
の値を求めることを意味します。交差検証を使用して
を調整する手順は次のようになります。
1.はじめに,データを5つの分割に分割します。各分割について,cvpartition
は各データの4/5を学习セットとし,1/5を検定セット割り当て割り当て。
cvp = cvpartition(y,“kfold”5);numtestsets = cvp.NumTestSets;lambdavalues = linspace(0、2、20)/长度(y);lossvalues = 0(长度(lambdavalues), numtestsets);
2 .各分割の学習セットを使用して, ののについてについて成分分类(NCA)モデルに学习をさせますますます。
3.NCA モデルを使用して、分割内の対応する検定セットの分類損失を計算します。損失の値を記録します。
4 .これをすべての分割およびすべての の値に対して繰り返します。
为i = 1:长度(兰窗)为k = 1:numtestsets%从分区对象中提取训练集Xtrain = X (cvp.training (k):);ytrain = y (cvp.training (k):);%从分区对象中提取测试集Xtest = X (cvp.test (k):);欧美= y (cvp.test (k):);%使用训练集训练nca模型进行分类ncaMdl = fscnca (Xtrain ytrain,“FitMethod”,'精确的',...'求解',“lbfgs”,“λ”lambdavalues(我));%使用nca计算测试集的分类损失% 模型丢失值(i,k)=损失(ncamdl,xtest,ytest,...“LossFunction”,'二次');结束结束
分享到平等损失値を の値についてプロットします。
图绘图(Lambdavalues,意思是(亏损值,2),'ro-')Xlabel('lambda值')ylabel(“损失值”) 网格在
最小の平均損失に対応する の値を求めます。
[〜,IDX] = min(平均值(损失值,2));查找索引bestlambda = lambdavalues (idx)找到最好的lambda值
bestlambda = 0.0037
最适な の値を使用して,すべてのデータにNCAモデルをあてはめます。LBFGSソルバーを使用し,収束情報を表示します。
ncaMdl = fscnca (X, y,“FitMethod”,'精确的',“详细”,1,...'求解',“lbfgs”,“λ”,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.
特徴量の重みをプロットします。
图semilogx (ncaMdl。FeatureWeights,“罗”)Xlabel(“功能指数”)ylabel('特征重量') 网格在
fscnca
は,初めの2つの特徴量は関連するが,残りはそうではないことを正しく判別します。初めの2つの特徴量は単独では情報を与えませんが,一緒にすると正確な分類モデルが得られます。
参考文献
1.杨伟,王凯,左伟。高维数据的邻域成分特征选择电脑杂志.2012年1月,第7卷第1期。
FeatureSelectionNCAClassification
|fscnca
|损失
|预测
|改装