このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
この例では,交差検証を使用してfscnca
の正則化パラメーターを調整する方法を示します。正則化パラメーターを調整すると,データ内の関連がある特徴量を正しく判別するために役立ちます。
標本データを読み込みます。
负载(“twodimclassdata.mat”)
このデータセットは,[1]で説明されている方法を使用してシミュレートしたものです。これは2次元の2クラス分類問題です。1番目のクラスのデータは、同じ確率をもつ 2 つの二変量正規分布 または から抽出されたものです。ここで, 、 および です。同様に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;
既定のλ
(正則化パラメーター
)の値を使用して,NCAモデルをデータにあてはめます。LBFGSソルバーを使用し,収束情報を表示します。
ncaMdl = fscnca (X, y,“FitMethod”,“准确”,“详细”, 1...“规划求解”,“lbfgs”);
o Solver = LBFGS, HessianHistorySize = 15,LineSearchMethod = weakwolfe |====================================================================================================| | ITER | |娱乐价值规范研究生| |规范一步曲线|γ|α|接受 | |====================================================================================================| | 0 e 03 | 9.519258 | 1.494 e-02 |0.000 e + 00 | | 4.015 e + 01 | 0.000 e + 00 |是| | 1 | -3.093574 e-01 e 03 | 7.186 | 4.018 e + 00 |好01 | 1.000 | 8.956 e + e + 00 |是| | 2 | -4.809455 e-01 e 03 | 4.444 | 7.123 e + 00 |好01 | 1.000 | 9.943 e + e + 00 |是| | 3 | -4.938877 e-01 e 03 | 3.544 | 1.464 e + 00 |好01 | 1.000 | 9.366 e + e + 00 |是| | 4 | -4.964759 e-01 e 03 | 2.901 | 6.084 e-01 1.554 e + 02 | | | OK1.000 e + 00 |是| | 5 | -4.972077 e-01 e 03 | 1.323 | 6.129 e-01 |好e + 02 | 1.195 | 5.000 e-01 |是| | 6 | -4.974743 e-01 e-04 | 1.569 | 2.155 e-01 |好e + 02 | 1.003 | 1.000 e + 00 |是| | 7 | -4.974868 e-01 e-05 | 3.844 | 4.161 e-02 |好01 | 1.000 | 9.835 e + e + 00 |是| | 8 | -4.974874 e-01 e-05 | 1.417 | 1.073 e-02 |好e + 02 | 1.043 | 1.000 e + 00 |是| | |e-06 e-01 -4.974874 | 4.893 | 1.781 e 03 |好e + 02 | 1.530 | 1.000 e + 00 |是| | 10 | -4.974874 e-01 e-08 | 9.404 | 8.947 e-04 |好e + 02 | 1.670 | 1.000 e + 00 |是|最终梯度的无穷范数= 9.404 e-08两规范最后一步= 8.947 e-04 TolX = 1.000 e-06相对最终梯度的无穷范数= 9.404 e-08, TolFun = 1.000 e-06退出:局部最小值。
特徴量の重みをプロットします。無関係な特徴量の重みはゼロに非常に近いはずです。
图semilogx (ncaMdl。FeatureWeights,“罗”)包含(“功能指数”) ylabel (“功能重量”网格)在
すべての重みがゼロに非常に近くなっています。これは,モデルの学習に使用した の値が大きすぎることを示しています。 では,すべての特徴量の重みがゼロに近づきます。したがって,関連がある特徴量を判別するには,ほとんどのケースで正則化パラメーターを調整することが重要です。
5分割交差検証を使用して,fscnca
を使用する特徴選択用に
を調整します。
の調整とは,分類損失が最小になる
の値を求めることを意味します。交差検証を使用して
を調整する手順は次のようになります。
1.はじめに,データを5つの分割に分割します。各分割について,cvpartition
は各データの4/5を学習セットとして,1/5を検定セットとして割り当てます。
本量利= cvpartition (y,“kfold”5);numtestsets = cvp.NumTestSets;lambdavalues = linspace(0、2、20)/长度(y);lossvalues = 0(长度(lambdavalues), numtestsets);
2 .各分割の学習セットを使用して, の各値について近傍成分分析(NCA)モデルに学習をさせます。
3.NCA モデルを使用して、分割内の対応する検定セットの分類損失を計算します。損失の値を記録します。
4 .これをすべての分割およびすべての の値に対して繰り返します。
为i = 1:长度(lambdavalues)为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计算测试集的分类损失%的模型lossvalues (i (k) =损失(ncaMdl Xtest,欧美,...“LossFunction”,“二次”);结束结束
分割の平均損失値を の値についてプロットします。
图绘制(lambdavalues,意味着(lossvalues, 2),“ro - - - - - -”)包含(“λ值”) ylabel (“损失值”网格)在
最小の平均損失に対応する の値を求めます。
[~, idx] = min(意味着(lossvalues, 2));查找索引bestlambda = lambdavalues (idx)找到最好的lambda值
bestlambda = 0.0037
最適な の値を使用して,すべてのデータにNCAモデルをあてはめます。LBFGSソルバーを使用し,収束情報を表示します。
ncaMdl = fscnca (X, y,“FitMethod”,“准确”,“详细”, 1...“规划求解”,“lbfgs”,“λ”, bestlambda);
o Solver = LBFGS, HessianHistorySize = 15,LineSearchMethod = weakwolfe |====================================================================================================| | ITER | |娱乐价值规范研究生| |规范一步曲线|γ|α|接受 | |====================================================================================================| | e-01 0 | -1.246913 | 1.231 e-02 |0.000 e + 00 | | 4.873 e + 01 | 0.000 e + 00 |是| | 1 | -3.411330 e-01 e 03 | 5.717 | 3.618 e + 00 |好e + 02 | 1.068 | 1.000 e + 00 |是| | 2 | -5.226111 e-01 e-02 | 3.763 | 8.252 e + 00 |好01 | 1.000 | 7.825 e + e + 00 |是| | 3 | -5.817731 e-01 e 03 | 8.496 | 2.340 e + 00 |好| 5.591 e + 01 | 5.000 e-01 |是| | 4 | -6.132632 e-01 e 03 | 6.863 | 2.526 e + 00 | | 8.228 e + 01 |1.000 e + 00 |是| | 5 | -6.135264 e-01 e 03 | 9.373 | 7.341 e-01 |好01 | 1.000 | 3.244 e + e + 00 |是| | 6 | -6.147894 e-01 e 03 | 1.182 | 2.933 e-01 |好01 | 1.000 | 2.447 e + e + 00 |是| | 7 | -6.148714 e-01 e-04 | 6.392 | 6.688 e-02 |好01 | 1.000 | 3.195 e + e + 00 |是| | 8 | -6.149524 e-01 e-04 | 6.521 | 9.934 e-02 |好e + 02 | 1.236 | 1.000 e + 00 |是| | |e-04 e-01 -6.149972 | 1.154 | 1.191 e-01 |好e + 02 | 1.171 | 1.000 e + 00 |是| | 10 | -6.149990 e-01 e-05 | 2.922 | 1.983 e-02 |好01 | 1.000 | 7.365 e + e + 00 |是| | 11 | -6.149993 e-01 e-05 | 1.556 | 8.354 e 03 |好e + 02 | 1.288 | 1.000 e + 00 |是| | 12 | -6.149994 e-01 e-05 | 1.147 | 7.256 e 03 |好e + 02 | 2.332 | 1.000 e + 00 |是| | 13 | -6.149995 e-01 |e-05 1.040 | 6.781 e 03 |好e + 02 | 2.287 | 1.000 e + 00 |是| | 14 | -6.149996 e-01 e-06 | 9.015 | 6.265 e 03 |好01 | 1.000 | 9.974 e + e + 00 |是| | 15 | -6.149996 e-01 e-06 | 7.763 | 5.206 e 03 |好e + 02 | 2.919 | 1.000 e + 00 |是| | 16 | -6.149997 e-01 e-06 | 8.374 | 1.679 e-02 |好e + 02 | 6.878 | 1.000 e + 00 |是| | 17 | -6.149997 e-01 e-06 | 9.387 | 9.542 e 03|好e + 02 | 1.284 | 5.000 e-01 |是| | 18 | -6.149997 e-01 | 3.250 e-06 | 5.114 e 03 |好e + 02 | 1.225 | 1.000 e + 00 |是| | 19 | -6.149997 e-01 e-06 | 1.574 | 1.275 e 03 |好e + 02 | 1.808 | 1.000 e + 00 |是的 | |====================================================================================================| | ITER | |娱乐价值规范研究生| |标准步骤α曲线|γ| |接受 | |====================================================================================================| | 20 | -6.149997 e-01 e-07 | 5.764 | 6.765 e-04 |好e + 02 | 2.905 | 1.000 e + 00 |是|最终梯度的无穷范数= 5.764 e-07最后一步= 6.765 e-04的两个标准,最终梯度的相对无穷大范数= 5.764e-07, TolFun = 1.000e-06 EXIT:找到局部最小值。
特徴量の重みをプロットします。
图semilogx (ncaMdl。FeatureWeights,“罗”)包含(“功能指数”) ylabel (“功能重量”网格)在
fscnca
は,初めの2つの特徴量は関連するが,残りはそうではないことを正しく判別します。初めの2つの特徴量は単独では情報を与えませんが,一緒にすると正確な分類モデルが得られます。
参考文献
1.杨伟,王凯,左伟。高维数据的邻域成分特征选择电脑杂志.2012年1月,第7卷第1期。
FeatureSelectionNCAClassification
|fscnca
|改装
|预测
|损失