fsrnca
回帰に近傍成分分析を使用する特徴選択
説明
例
回帰にncaを使用した,デ,タ内の関連する特徴量の判別
応答変数が3、9および15番目の予測子に依存する遊びのデタを生成します。
rng (0,“旋风”);%用于再现性N = 100;X = rand(N,20);y = 1 + X(:, 3) * 5 +罪(X(: 9)。/ X (:, 15) + 0.25 * randn (N - 1));
回帰用の近傍成分分析モデルを当てはめます。
mdl = fsrnca(X,y,“详细”, 1“λ”, 0.5 / N);
o求解器= LBFGS, HessianHistorySize = 15,LineSearchMethod = weakwolfe |====================================================================================================| | ITER | |娱乐价值规范研究生| |规范一步曲线|γ|α|接受 | |====================================================================================================| | 0 | 1.636932 e + 00 e-01 | 3.688 | 0.000 e + 00 | | 1.627 e + 0.000 e + 00 00 | |是| | 1 | 8.304833 e-01 e-01 | 1.083 | 2.449 e + 00 |好| 9.194 e + 4.000 e + 00 00 | |是| | 2 | 7.548105 e-01 e-02 | 1.341| 1.164 e + 00 |好01 | 1.000 | 1.095 e + e + 00 |是| | 3 | 7.346997 e-01 e 03 | 9.752 | 6.383 e-01 |好01 | 1.000 | 2.979 e + e + 00 |是| | 4 | 7.053407 e-01 e-02 | 1.605 | 1.712 e + 00 |好01 | 1.000 | 5.809 e + e + 00 |是| | 5 | 6.970502 e-01 e 03 | 9.106 | 8.818 e-01 |好01 | 1.000 | 6.223 e + e + 00 |是| | 6 | 6.952347 e-01 e 03 | 5.522 | 6.382 e-01 |好01 | 1.000 | 3.280 e + e + 00 |是| | 7 | 6.946302 e-01 e-04 | 9.102 | 1.952 e-01 |好01 | 1.000 | 3.380 e + e + 00 |是| | 8 | 6.945037 e-01 e-04 | 6.557 | 9.942 e-02 | |8.490 e + 01 | 1.000 e + 00 |是| | 9 | 6.943908 e-01 e-04 | 1.997 | 1.756 e-01 |好e + 02 | 1.124 | 1.000 e + 00 |是| | 10 | 6.943785 e-01 e-04 | 3.478 | 7.755 e-02 |好01 | 1.000 | 7.621 e + e + 00 |是| | 11 | 6.943728 e-01 e-04 | 1.428 | 3.416 e-02 |好01 | 1.000 | 3.649 e + e + 00 |是| | 12 | 6.943711 e-01 e-04 | 1.128 | 1.231 e-02 |好01 | 1.000 | 6.092 e + e + 00 |是| | 13 | 6.943688 e-01 e-04 | 1.066 | 2.326 e-02 |好01 | 1.000 | 9.319 e + e + 00 |是| | 14 | 6.943655 e-01 e-05 | 9.324 | 4.399 e-02 1.810 e + 02 | | | OK1.000 e + 00 |是| | 15 | 6.943603 e-01 e-04 | 1.206 | 8.823 e-02 |好e + 02 | 4.609 | 1.000 e + 00 |是| | 16 | 6.943582 e-01 e-04 | 1.701 | 6.669 e-02 |好| 8.425 e + 01 | 5.000 e-01 |是| | 17 | 6.943552 e-01 e-05 | 5.160 | 6.473 e-02 |好01 | 1.000 | 8.832 e + e + 00 |是| | 18 e-01 | 6.943546 | 2.477 e-05 e-02 1.215 | |好01 | 1.000 | 7.925 e + e + 00 |是| | 19 | 6.943546 e-01 e-05 | 1.077 | 6.086 e 03 |好e + 02 | 1.378 | 1.000 e + 00 | ||====================================================================================================| | ITER | |娱乐价值规范研究生| |规范一步曲线|γ|α|接受 | |====================================================================================================| | 20 | 6.943545 e-01 e-05 | 2.260 | 4.071 e 03 |好01 | 1.000 | 5.856 e + e + 00 |是| | | 21日6.943545 e-01 e-06 | 4.250 | 1.109 e 03 |好01 | 1.000 | 2.964 e + e + 00 |是| | 22 | 6.943545 e-01 e-06 | 1.916 | 8.356 e-04 | |8.649 e + 01 | 1.000 e + 00 |是| | | 23日6.943545 e-01 e-06 | 1.083 | 5.270 e-04 |好e + 02 | 1.168 | 1.000 e + 00 |是| | 24 | 6.943545 e-01 e-06 | 1.791 | 2.673 e-04 |好01 | 1.000 | 4.016 e + e + 00 |是| | 25 | 6.943545 e-01 e-07 | 2.596 | 1.111 e-04 |好01 | 1.000 | 3.154 e + e + 00 |是|最终梯度的无穷范数= 2.596 e-07两规范最后一步= 1.111 e-04 TolX = 1.000 e-06相对最终梯度的无穷范数= 2.596 e-07, TolFun = 1.000 e-06退出:局部最小值。
選択された特徴量をプロットします。無関連性な特徴量の重みはゼロに近いはずです。
图()图(mdl。FeatureWeights,“罗”网格)在包含(“功能指数”) ylabel (“功能重量”)
fsrnca
は,この応答に対して,関連する予測子を正しく判別しています。
回帰用のncaの正則化パラメ,タ,の調整
標本デ,タを読み込みます。
负载robotarm.mat
robotarm
データセット(pumadyn32nm)はロボットアームシミュレータを使用して作成されており,7168個の学習観測値,1024個のテスト観測値,32個の特徴量が含まれています[1][2]。これは,オリジナルのデ,タセットを前処理したものです。デ,タの前処理では,線形回帰近似を除外してから,すべての特徴量を単位分散に対して正規化しています。
既定値の (正則化パラメ,タ,)を使用して,回帰用の近傍成分分析(nca)特徴選択を実行します。
nca = fsrnca(Xtrain,ytrain,“FitMethod”,“准确”,...“规划求解”,“lbfgs”);
選択された値をプロットします。
图(nca阴谋。FeatureWeights,“罗”)包含(“功能指数”) ylabel (“功能重量”网格)在
特徴量の重みは半分以上が非ゼロです。選択された特徴量を使用し,検定セットを性能の尺度にして損失を計算します。
L =损失(nca,Xtest,ytest)
L = 0.0837
性能の改善を試みます。5分割交差検証を使用して、特徴選択の正則化パラメーター を調整します。 の調整とは,回帰損失が最小になる の値を求めることを意味します。交差検証を使用して を調整するため,以下を行います。
1.デタを5の分割に分割します。各分割にいて,cvpartition
は各デ,タの4/5を学習セットとして,1/5を検定セットとして割り当てます。
rng (1)%用于再现性N = length(ytrain);CVP = cvpartition(length(ytrain),“kfold”5);numvalidsets = cvp.NumTestSets;
探索用の
の値を割り当てます。応答値に定数を乗算すると、損失関数項はその定数倍になります。したがって、係数性病(ytrain)
を
の値に含めると、目的関数で既定の損失関数(“疯了”
,平均絶対偏差)項と正則化項のバランスがとれます。この例では,読み込んだ標本デ,タは元のデ,タセットを前処理したバ,ジョンなので,係数性病(ytrain)
は1です。
Lambdavals = linspace(0,50,20)*std(ytrain)/n;
損失値を格納する配列を作成します。
Lossvals = 0(长度(lambdavals),numvalidsets);
2.各分割の学習セットを使用して, の各値にいてncaモデルに学習をさせます。
3.Ncaモデルを使用して,分割内の対応する検定セットの回帰損失を計算します。損失の値を記録します。
4.これを の各値および各分割に対して繰り返します。
为I = 1:长度(lambda)为k = 1:numvalidsets X = Xtrain(cvp.training(k),:);Y = ytrain(cvp.training(k),:);Xvalid = Xtrain(cvp.test(k),:);Yvalid = ytrain(cvp.test(k),:);nca = fsrnca(X,y,“FitMethod”,“准确”,...“规划求解”,“minibatch-lbfgs”,“λ”lambdavals(我),...“GradientTolerance”1的军医,“IterationLimit”, 30);lossvals(i,k) = loss(nca,Xvalid,yvalid,“LossFunction”,mse的);结束结束
の各値にいて,分割から得られる平均損失を計算します。
Meanloss = mean(lossvals,2);
平均損失と の値をプロットします。
图绘制(lambdavals meanloss,“ro - - - - - -”)包含(“λ”) ylabel (“损失(MSE)”网格)在
損失の値が最小になる の値を求めます。
[~,idx] = min(meanloss)
Idx = 17
Bestlambda = lambdavals(idx)
Bestlambda = 0.0059
最佳损失=平均损失(idx)
Bestloss = 0.0590
最良の の値を使用して,回帰用のnca特徴選択モデルを当てはめます。
nca = fsrnca(Xtrain,ytrain,“FitMethod”,“准确”,...“规划求解”,“lbfgs”,“λ”, bestlambda);
選択された特徴量をプロットします。
图(nca阴谋。FeatureWeights,“罗”)包含(“功能指数”) ylabel (“功能重量”网格)在
特徴量の重みはほとんどがゼロになります。fsrnca
は,最も関連性がある4の特徴量を特定しています。
検定セットの損失を計算します。
L =损失(nca,Xtest,ytest)
L = 0.0571
正則化パラメタ の調整により,無関係な特徴量がさらに除外され,性能が向上しました。
Ncaおよびard特徴選択の比較
この例では,UCI机器学习知识库[5]にあるアワビのデ,タ[3][4]を使用します。
デ,タをダウンロ,ドして,“abalone.csv”
という名前で現在のフォルダに保存します。
url =“https://archive.ics.uci.edu/ml/machine-learning-databases/abalone/abalone.data”;websave (“abalone.csv”url);
デ,タをテ,ブルに読み込みます。最初の7行を表示します。
可读的(“abalone.csv”,“文件类型”,“文本”,“ReadVariableNames”、假);table . properties . variablenames = {“性”,“长度”,“直径”,“高度”,...“WWeight”,“SWeight”,“VWeight”,“ShWeight”,“NoShellRings”};台(1:7,:)
ans =7×9表性长度直径高度WWeight SWeight VWeight ShWeight NoShellRings _____ ______ ________ ______ _______ _______ _______ ________ ____________ {' M} 0.455 0.365 0.095 0.514 0.2245 0.101 0.15 15{“M”}0.35 0.265 0.09 0.2255 0.0995 0.0485 0.07 7 {' F '} 0.53 0.42 0.135 0.677 0.2565 0.1415 0.21 9{“M”}0.44 0.365 0.125 0.516 0.2155 0.114 0.155 10{“我”}0.33 0.255 0.08 0.205 0.0895 0.0395 0.055 7{“我”}0.425 0.3 0.095 0.3515 0.141 0.0775 0.12 8 {' F '} 0.53 0.415 0.15 0.7775 0.237 0.1415 0.33 20
このデ,タセットには,4177個の観測値が含まれています。目標は,8の物理的な測定値からアワビの年齢を予測することです。最後の変数は貝殻の輪の数で,アワビの年齢を示します。最初の予測子は,カテゴリカル変数です。テ,ブルの最後の変数は,応答変数です。
fsrnca
用に予測子変数と応答変数を準備します。资源描述
の最後の列には,応答変数である貝殻の輪の数が含まれています。1番目の予測子変数性はカテゴリカルです。ダミ,変数を作成しなければなりません。
Y = table2array(tbl(:,end));X(:,1:3) = dummyvar(分类(tbl.Sex));X = [X,table2array(tbl(:,2:end-1))];
4分割の交差検証を使用して,ncaモデルの正則化パラメタを調整します。はじめに,デ,タを4の分割に分割します。
rng (“默认”)%用于再现性N =长度(y);CVP = cvpartition(n,“kfold”4);numtestsets = cvp.NumTestSets;
cvpartition
はデタを4の分割に分割します。各分割で,デ,タの約3/4が学習セットとして,1/4が検定セットとして割り当てられます。
最適な (正則化パラメ,タ,)の値を決定するため,さまざまな値の を生成してモデルを当てはめます。各当てはめから損失を収集するためのベクトルを作成します。
Lambdavals = linspace(0,25,20)*std(y)/n;Lossvals = 0(长度(lambdavals),numtestsets);
lossvals
の行は
の値に,列は分割に対応します。
の各値を使用した各分割のデ,タに,fsrnca
を使用した回帰用のncaモデルを当てはめます。各分割の検定デ,タを使用して,各モデルの損失を計算します。
为I = 1:长度(lambda)为Xtrain = X(cvp.training(k),:);Ytrain = y(cvp.training(k),:);Xtest = X(cvp.test(k),:);Ytest = y(cvp.test(k),:);nca = fsrnca(Xtrain,ytrain,“FitMethod”,“准确”,...“规划求解”,“lbfgs”,“λ”lambdavals(我),“标准化”,真正的);lossvals(i,k) = loss(nca,Xtest,ytest,“LossFunction”,mse的);结束结束
分割の平均損失を計算します。まり,lossvals
の2番目の次元で平均を計算します。
Meanloss = mean(lossvals,2);
4分割による平均損失に対して をプロットします。
图绘制(lambdavals meanloss,“ro - - - - - -”)包含(“λ”) ylabel (“损失(MSE)”网格)在
平均損失が最小になる の値を求めます。
[~,idx] = min(meanloss);Bestlambda = lambdavals(idx)
Bestlambda = 0.0071
最良の損失値を計算します。
最佳损失=平均损失(idx)
最佳损失= 4.7799
最適な の値を使用して,すべてのデ,タにncaモデルを当てはめます。
nca = fsrnca(X,y,“FitMethod”,“准确”,“规划求解”,“lbfgs”,...“详细”, 1“λ”bestlambda,“标准化”,真正的);
o求解器= LBFGS, HessianHistorySize = 15,LineSearchMethod = weakwolfe |====================================================================================================| | ITER | |娱乐价值规范研究生| |规范一步曲线|γ|α|接受 | |====================================================================================================| | 0 | 2.469168 e + 00 e-01 | 1.266 | 0.000 e + 00 | | 4.741 e + 0.000 e + 00 00 | |是| | 1 | 2.375166 e + 00 e-02 | 8.265 | 7.268 e-01 |好01 | 1.000 | 1.054 e + e + 00 |是| | 2 | 2.293528 e + 00 e-02 | 2.067| 2.034 e + 00 |好01 | 1.000 | 1.569 e + e + 00 |是| | 3 | 2.286703 e + 00 e-02 | 1.031 | 3.158 e-01 |好01 | 1.000 | 2.213 e + e + 00 |是| | 4 | 2.279928 e + 00 e-02 | 2.023 | 9.374 e-01 |好01 | 1.000 | 1.953 e + e + 00 |是| | 5 | 2.276258 e + e 03 00 | 6.884 | 2.497 e-01 |好01 | 1.000 | 1.439 e + e + 00 |是| | 6 | 2.274358 e + e 03 00 | 1.792 | 4.010 e-01 |好01 | 1.000 | 3.109 e + e + 00 |是| | 7 | 2.274105 e + e 03 00 | 2.412 | 2.399 e-01 |好01 | 1.000 | 3.557 e + e + 00 |是| | 8 | 2.274073 e + e 03 00 | 1.459 | 7.684 e-02 | |1.356 e + 01 | 1.000 e + 00 |是| | 9 e + 00 | 2.274050 | 3.733 e-04 e-02 3.797 | |好01 | 1.000 | 1.725 e + e + 00 |是| | 10 | 2.274043 e + 00 e-04 | 2.750 | 1.379 e-02 |好01 | 1.000 | 2.445 e + e + 00 |是| | 11 | 2.274027 e + 00 e-04 | 2.682 | 5.701 e-02 |好01 | 1.000 | 7.386 e + e + 00 |是| | 12 | 2.274020 e + 00 e-04 | 1.712 | 4.107 e-02 |好01 | 1.000 | 9.461 e + e + 00 |是| | 13 | 2.274014 e + 00 e-04 | 2.633 | 6.720 e-02 |好01 | 1.000 | 7.469 e + e + 00 |是| | 14 | 2.274012 e + 00 e-05 | 9.818 | 2.263 e-02 | | 3.275 e + 01 |1.000 e + 00 |是| | 15 | 2.274012 e + 00 e-05 | 4.220 | 6.188 e 03 |好01 | 1.000 | 2.799 e + e + 00 |是| | 16 e + 00 | 2.274012 | 2.859 e-05 | 4.979 e 03 |好01 | 1.000 | 6.628 e + e + 00 |是| | 17 | 2.274011 e + 00 e-05 | 1.582 | 6.767 e 03 |好e + 02 | 1.439 | 1.000 e + 00 |是| | 18 e + 00 | 2.274011 | 7.623 e-06 | 4.311 e 03 |好e + 02 | 1.211 | 1.000 e + 00 |是| | 19 | 2.274011 e + 00 e-06 | 3.038 | 2.528 e-04 |好| 1.798 e + 01 | 5.000 e-01 | ||====================================================================================================| | ITER | |娱乐价值规范研究生| |规范一步曲线|γ|α|接受 | |====================================================================================================| | 20 | 2.274011 e + 00 e-07 | 6.710 | 2.325 e-04 |好01 | 1.000 | 2.721 e + e + 00 |是|最终梯度的无穷范数= 6.710 e-07最后一步= 2.325 e-04的两个标准,TolX = 1.000e-06最终梯度的相对无限范数= 6.710e-07, TolFun = 1.000e-06 EXIT:找到局部最小值。
選択された特徴量をプロットします。
图(nca阴谋。FeatureWeights,“罗”)包含(“功能指数”) ylabel (“功能重量”网格)在
無関係な特徴量の重みはゼロになります。この図に従うと,特徴量1,3および9は選択されません。
パラメーター推定に回帰変数サブセット法を,予測に完全独立条件法を使用して,ガウス過程回帰(GPR)モデルを当てはめます。Ard二乗指数カ,ネル関数を使用します。これにより,個々の重みが各予測子に割り当てられます。予測子を標準化します。
gprMdl = fitrgp(tbl,“NoShellRings”,“KernelFunction”,“ardsquaredexponential”,...“FitMethod”,“老”,“PredictMethod”,膜集成电路的,“标准化”,真正的)
gprMdl = RegressionGP PredictorNames:{'性别' '长度' '直径' '高度' 'WWeight' 'SWeight' 'VWeight' 'ShWeight'} ResponseName: 'NoShellRings'分类预测器:1 ResponseTransform: 'none' NumObservations: 4177 KernelFunction: 'ARDSquaredExponential' KernelInformation: [1×1 struct] BasisFunction: 'Constant' Beta: 11.4959 Sigma: 2.0282 PredictorLocation: [10×1 double] PredictorScale: [10×1 double] Alpha: [1000×1 double] ActiveSetVectors: [1000×10 double] PredictMethod:'FIC' ActiveSetSize: 1000 FitMethod: 'SR' ActiveSetMethod: 'Random' IsActiveSetVector: [4177×1 logical] LogLikelihood: -9.0019e+03 ActiveSetHistory: [1×1 struct] BCDInformation:[]属性,方法
学習済みのモデルにいて学習デタの回帰損失(再代入損失)を計算します。
L = resubLoss(gprMdl)
L = 4.0306
fsrnca
を使用した最小の交差検証済み損失は,探地雷达モデルとARDカーネルを使用して得られた損失と同程度です。
入力引数
X
- - - - - -予測子変数の値
N行p列の行列
予測子変数の値。n行 p 列の行列を指定します。n は観測値の個数、p は予測子変数の個数です。
デ,タ型:单
|双
Y
- - - - - -応答値
長さnの実数数値ベクトル
応答値。長さnの実数数値ベクトルを指定します。Nは観測値の個数です。
デ,タ型:单
|双
名前と値の引数
オプションの引数のペアをName1 = Value1,…,以=家
として指定します。ここで的名字
は引数名,价值
は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。
R2021aより前では,名前と値をそれぞれコンマを使って区切り,的名字
を引用符で囲みます。
例:“规划求解”,“sgd”、“重量”,0.0003 W,“λ”
は,ソルバ,として確率的勾配降下を,観測値の重みとしてベクトルW
の値を指定し,正則化パラメ,タ,として0.0003を設定します。
FitMethod
- - - - - -モデルの当てはめ方式
“准确”
(既定値) |“没有”
|“平均”
モデルの当てはめ方式。“FitMethod”
と次のいずれかから構成されるコンマ区切りのペアとして指定します。
“准确”
—すべてのデタを使用して当てはめを実行します。“没有”
-当てはめを行いません。fsrncaを呼び出すときに指定した特徴量の重みの初期値を使用して NCA モデルの汎化誤差を評価する場合に、このオプションを使用します。“平均”
-デタをサブセットに分割し,确切的
法を使用して各分割を当てはめ,特徴量の重みの平均を返します。名前と値のペアの引数NumPartitions
を使用して分割数を指定できます。
例:“FitMethod”、“没有”
NumPartitions
- - - - - -分割数
max(2分钟(10 n))
(既定値) |2 ~ nの整数
“FitMethod”、“平均”
オプションで使用するデ,タの分割数。“NumPartitions”
と2 ~ nの整数値から構成されるコンマ区切りのペアとして指定します。Nは観測値の個数です。
例:“NumPartitions”,15
デ,タ型:双
|单
λ
- - - - - -正則化パラメタ
1 / n(既定値) |非負のスカラ
過適合を防止するための正則化パラメタ。“λ”
と非負のスカラ,から構成されるコンマ区切りのペアとして指定します。
観測値の個数nが大きくなると,過適合の可能性が小さくなり,必要な正則化の量も少なくなります。正則化パラメタを調整する方法の詳細にいては,回帰用のncaの正則化パラメ,タ,の調整を参照してください。
例:“λ”,0.002
デ,タ型:双
|单
LengthScale
- - - - - -カ,ネルの幅
1
(既定値) |正の実数のスカラ
カ,ネルの幅。“LengthScale”
と正の実数スカラ,から構成されるコンマ区切りのペアとして指定します。
すべての予測子が同じスケ,ルである場合,特性長スケ,ルの値は1が妥当です。X
内の予測子の大きさが非常に異なる場合は,“标准化”,真的
を使用して予測子の値を標準化し,“LengthScale”,1
を設定することを検討してください。
例:“LengthScale”,1.5
デ,タ型:双
|单
InitialFeatureWeights
- - - - - -特徴量の重みの初期値
的(p, 1)
(既定値) |正の実数スカラ,によるp行1列のベクトル
特徴量の重みの初期値。“InitialFeatureWeights”
と正の実数スカラーによるp行1列のベクトルから構成されるコンマ区切りのペアとして指定します。Pは学習デタ内の予測子の個数です。
特徴量の重みを最適化する正則化された目的関数は,凸型ではありません。このため,特徴量の重みの初期値が異なると結果が異なる可能性があります。通常は特徴量の重みの初期値をすべて1に設定すると良好に機能しますが,状況によっては兰特(p, 1)
を使用するランダムな初期値の方が解の品質が向上する可能性があります。
デ,タ型:双
|单
权重
- - - - - -観測値の重み
1から成るn行1列のベクトル(既定値) |正の実数スカラ,によるn行1列のベクトル
観測値の重み。“重量”
と正の実数スカラーによるn行1列のベクトルから構成されるコンマ区切りのペアとして指定します。一部の観測値の重要度を他の観測値に比べて大きくするには,観測値の重みを使用します。既定の重みは,同じ重要度をすべての観測値に割り当てます。
デ,タ型:双
|单
标准化
- - - - - -予測子デタの標準化のンジケタ
假
(既定値) |真正的
详细的
- - - - - -詳細レベルンジケタ
0(既定値) |1|> 1
収束概要表示の詳細レベルンジケタ。“详细”
と次のいずれかから構成されるコンマ区切りのペアとして指定します。
0 -収束概要なし
1 -勾配のノルムと目的関数の値を収束概要に含める
1より大きい値-当てはめアルゴリズムに応じた,より多くの収束情報
“minibatch-lbfgs”
ソルバーを使用する場合に詳細レベルを1より大きい値にすると,中間的なミニバッチLBFGSの当てはめによる反復ログが収束情報に含まれます。
例:“详细”,1
デ,タ型:双
|单
解算器
- - - - - -ソルバのタプ
“lbfgs”
|“sgd”
|“minibatch-lbfgs”
特徴量の重みを推定するソルバのタプ。“规划求解”
と次のいずれかから構成されるコンマ区切りのペアとして指定します。
“lbfgs”
——メモリ制限Broyden-Fletcher-Goldfarb-Shanno (LBFGS)アルゴリズム“sgd”
—確率的勾配降下(sgd)アルゴリズム“minibatch-lbfgs”
- LBFGSアルゴリズムをミニバッチに適用した確率的勾配降下
既定値は,n≤1000の場合は“lbfgs”
, n > 1000の場合は“sgd”
です。
例:“规划求解”、“minibatch-lbfgs”
LossFunction
- - - - - -損失関数
“疯了”
(既定値) |mse的
|“epsiloninsensitive”
|関数ハンドル
損失関数。“LossFunction”
と次のいずれかから構成されるコンマ区切りのペアとして指定します。
“疯了”
-平均絶対偏差mse的
-平均二乗誤差“epsiloninsensitive”
- ε許容損失関数。この損失関数は,平均二乗誤差または平均絶対偏差よりも外れ値に対してロバストです。
@
-カスタム損失関数のハンドル。損失関数の形式は次のとおりです。lossfun
函数L = lossfun(Yu,Yv)损失百分比计算...
余
はu行1列のベクトル,青年志愿
はv行1列のベクトルです。l
は,L (i, j)
がYu(我)
および青年志愿(j)
の損失値となるu行v列の行列です。
最小化対象の目的関数には,損失関数l (y)我yj)が次のように含まれます。
ここでwは特徴量の重みのベクトルnは観測値の個数pは予測子変数の個数です。pijはxjがx我の基準点である確率です。詳細にいては,回帰の場合のnca特徴選択を参照してください。
例:LossFunction, @lossfun
ε
- - - - - -プシロンの値
差(Y) / 13.49
(既定値) |非負の実数スカラ
“LossFunction”、“epsiloninsensitive”
オプションにおける@ @プシロンの値。“LossFunction”
と非負の実数スカラ,から構成されるコンマ区切りのペアとして指定します。既定値は,応答変数の四分位数間範囲を使用した標本標準偏差の推定値です。
例:‘ε’,0.1
デ,タ型:双
|单
CacheSize
- - - - - -メモリサ@ @ズ
1000 mb
(既定値) |整数
目的関数と勾配の計算に使用するメモリのサesc escズ(mb)。“CacheSize”
と整数から構成されるコンマ区切りのペアとして指定します。
例:“CacheSize”,1500 mb
デ,タ型:双
|单
HessianHistorySize
- - - - - -ヘッセ近似の履歴バッファのサズ
15
(既定値) |正の整数
ソルバ,が“lbfgs”
である場合のヘッセ近似の履歴バッファサズ。“HessianHistorySize”
と正の整数から構成されるコンマ区切りのペアとして指定します。ヘッセ行列の逆行列に対する近似を構築するために,各反復で最大HessianHistorySize
回の最新の反復が使用されます。
例:“HessianHistorySize”,20
デ,タ型:双
|单
InitialStepSize
- - - - - -初期ステップサ@ @ズ
“汽车”
(既定値) |正の実数のスカラ
“lbfgs”
ソルバの初期ステップサズ。“InitialStepSize”
と正の実数スカラ,から構成されるコンマ区切りのペアとして指定します。既定では,初期ステップサ。
デ,タ型:双
|单
LineSearchMethod
- - - - - -直線探索法
“weakwolfe”
(既定値) |“strongwolfe”
|“回溯”
直線探索法。“LineSearchMethod”
と次のいずれかから構成されるコンマ区切りのペアとして指定します。
“weakwolfe”
-弱沃尔夫直線探索“strongwolfe”
-強沃尔夫直線探索“回溯”
-バックトラッキング直線探索
例:“LineSearchMethod”、“回溯”
MaxLineSearchIterations
- - - - - -直線探索の最大反復回数
20.
(既定値) |正の整数
直線探索の最大反復回数。“MaxLineSearchIterations”
と正の整数から構成されるコンマ区切りのペアとして指定します。
例:“MaxLineSearchIterations”,25岁
デ,タ型:双
|单
GradientTolerance
- - - - - -収束の相対許容誤差
1 e-6
(既定値) |正の実数のスカラ
lbfgs
ソルバ,の,勾配ノルムに対する収束の相対許容誤差。“GradientTolerance”
と正の実数スカラ,から構成されるコンマ区切りのペアとして指定します。
例:“GradientTolerance”,0.000002
デ,タ型:双
|单
InitialLearningRate
- - - - - -“sgd”
ソルバ,の初期学習率
“汽车”
(既定値) |正の実数のスカラ
“sgd”
ソルバ,の初期学習率。“InitialLearningRate”
と正の実数スカラ,から構成されるコンマ区切りのペアとして指定します。
ソルバタプとして“sgd”
を使用する場合,学習率は“InitialLearningRate”
で指定された値から始まって反復ごとに減衰します。
既定の“汽车”
では,デ,タの小規模なサブセットに対する実験を使用して初期学習率が決定されます。初期学習率を自動調整するための反復回数を指定するには,名前と値のペアの引数NumTuningIterations
を使用します。初期学習率の自動調整で使用する観測値の個数を指定するには,名前と値のペアの引数TuningSubsetSize
を使用します。
ソルバタプが“minibatch-lbfgs”
である場合,“InitialLearningRate”
を非常に大きい値に設定できます。この場合,前回のミニバッチによる特徴量の重みの初期値を使用して,各ミニバッチにLBFGSが個別に適用されます。
選択した初期学習率によって目的値が各反復で減少していることを確認するには,mdl。FitInfo
プロパティに格納されている客观的
の値に対して迭代
をプロットします。
mdl。FeatureWeights
に等しい“InitialFeatureWeights”
で改装
法を使用すると,最新の解から始めて,さらに反復を実行することができます。
例:“InitialLearningRate”,0.9
デ,タ型:双
|单
MiniBatchSize
- - - - - -“sgd”
ソルバ,の場合に各バッチで使用する観測値の個数
分钟(10 n)(既定値) |1 ~ nの正の整数値
“sgd”
ソルバ,の場合に各バッチで使用する観測値の個数。“MiniBatchSize”
と1 ~ nの正の整数から構成されるコンマ区切りのペアとして指定します。
例:“MiniBatchSize”,25岁
デ,タ型:双
|单
PassLimit
- - - - - -ソルバ,が“sgd”
である場合の最大通過回数
5
(既定値) |正の整数
ソルバ,が“sgd”
である場合にn個の観測値すべてを通過する最大回数。“PassLimit”
と正の整数から構成されるコンマ区切りのペアとして指定します。すべてのデタを1回通過することをエポックと呼びます。
例:“PassLimit”,10
デ,タ型:双
|单
NumPrint
- - - - - -収束概要を表示するバッチの頻度
10(既定値) |正の整数値
“sgd”
ソルバ,の場合の収束概要を表示するバッチの頻度。“NumPrint”
と正の整数から構成されるコンマ区切りのペアとして指定します。この引数は,“详细”
の値が0より大きい場合に適用されます。コマンドラ▪▪▪ンに表示される収束概要の各行に▪▪▪いてNumPrint
個のミニバッチが処理されます。
例:“NumPrint”,5
デ,タ型:双
|单
NumTuningIterations
- - - - - -調整反復回数
20.(既定値) |正の整数
“sgd”
ソルバ,の調整反復回数。“NumTuningIterations”
と正の整数から構成されるコンマ区切りのペアとして指定します。このオプションは,“InitialLearningRate”、“汽车”
の場合のみ有効です。
例:“NumTuningIterations”,15
デ,タ型:双
|单
TuningSubsetSize
- - - - - -初期学習率の調整に使用する観測値の個数
min (100 n)(既定値) |1 ~ nの正の整数値
初期学習率の調整に使用する観測値の個数。“TuningSubsetSize”
と1 ~ nの正の整数値から構成されるコンマ区切りのペアとして指定します。このオプションは,“InitialLearningRate”、“汽车”
の場合のみ有効です。
例:“TuningSubsetSize”,25岁
デ,タ型:双
|单
IterationLimit
- - - - - -最大反復回数
正の整数
最大反復回数。“IterationLimit”
と正の整数で構成されるコンマ区切りのペアとして指定します。既定値は,SGDの場合10000年はLBFGSおよびミニバッチLBFGSの場合は1000です。
反復とは,バッチを1回通過することです。エポックとは,すべてのデ,タを1回通過することです。デ,タがk個のミニバッチに分割されている場合,どのエポックもk回の反復に等しくなります。
例:“IterationLimit”,250年
デ,タ型:双
|单
StepTolerance
- - - - - -ステップサ@ @ズに対する収束の許容誤差
1 e-6(既定値) |正の実数のスカラ
ステップサ@ @ズに対する収束の許容誤差。“StepTolerance”
と正の実数スカラ,から構成されるコンマ区切りのペアとして指定します。“lbfgs”
ソルバ,は絶対ステップ許容誤差を,“sgd”
ソルバ,は相対ステップ許容誤差を使用します。
例:“StepTolerance”,0.000005
デ,タ型:双
|单
MiniBatchLBFGSIterations
- - - - - -ミニバッチLBFGSの各ステップにおける最大反復回数
10(既定値) |正の整数
ミニバッチLBFGSの各ステップにおける最大反復回数。“MiniBatchLBFGSIterations”
と正の整数から構成されるコンマ区切りのペアとして指定します。
例:“MiniBatchLBFGSIterations”,15
デ,タ型:双
|单
メモ
ミニバッチLBFGSアルゴリズムは,sgd法とLBFGS法の組み合わせです。したがって,SGDソルバーとLBFGSソルバーに適用される名前と値のペアの引数は,すべてミニバッチLBFGSアルゴリズムにも適用されます。
出力引数
mdl
-回帰用の近傍成分分析モデル
FeatureSelectionNCARegression
オブジェクト
回帰用の近傍成分分析モデル。FeatureSelectionNCARegression
オブジェクトとして返されます。
参照
[1]拉斯穆森,C. E.尼尔,G. E.欣顿,D.范坎普,M. Revow, Z. Ghahramani, R. Kustra和R. Tibshirani。DELVE手册,1996,https://mlg.eng.cam.ac.uk/pub/pdf/RasNeaHinetal96.pdf。
[2]多伦多大学计算机科学系。深入研究数据集。http://www.cs.toronto.edu/深入/数据/ datasets.html。
[3]纳什,w.j., T. L.塞勒斯,S. R.塔尔博特,A. J.考索恩,W. B.福特。鲍鱼种群生物学(石决明种)在塔斯马尼亚。I.黑唇鲍鱼(h . rubra)来自北海岸和巴斯海峡群岛。”海洋渔业司,1994年第48号技术报告。
[4]哇,S。级联相关的扩展和基准测试:前馈监督人工神经网络级联相关架构的扩展和基准测试。塔斯马尼亚大学计算机科学系论文,1995年。
[5] Lichman, M. UCI机器学习库。加州尔湾:加州大学信息与计算机科学学院,2013年。http://archive.ics.uci.edu/ml。
バ,ジョン履歴
R2016bで導入
Matlabコマンド
次のmatlabコマンドに対応するリンクがクリックされました。
コマンドをmatlabコマンドウィンドウに入力して実行してください。Webブラウザ,はMATLABコマンドをサポ,トしていません。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。