最新のリリースでは,このページがまだ翻訳されていません。このページの最新版は英語でご覧になれます。
サポートベクターマシン回帰モデルの近似
fitrsvm
は,低~中次元の予測子データセットに対してサポートベクターマシン(SVM)回帰モデルに学習をさせるか,SVM回帰モデルの交差検証を行います。fitrsvm
は,カーネル関数を使用する予測子データのマッピングをサポートし,目的関数最小化のための二次計画法によるSMO, ISDAまたはL1ソフトマージン最小化をサポートします。
高次元データセット,つまり多数の予测子変含まれているデータセット形形回帰モデルにに习させるには,代わり代わりfitrlinear
を使用します。
バイナリ分類用のSVMモデルに学習をさせる方法については,低~中次元の予測子データセットの場合はfitcsvm.
,高次元データセットのの合并はfitclinear
を参照してください。
は,テーブルMdl
= fitrsvm (TBL.
,ResponseVarName
)TBL.
に含まれている予測子の値と资源描述。ResponseVarName
に含まれている応答を使使して习ささた,完全な学正文済みベクター(svm)回帰モデルMdl
を返します。
行列に格納されている標本データを使用してサポートベクターマシン(SVM)回帰モデルに学習をさせます。
carsmall
データセットを読み込みます。
负载carsmallrng'默认'%的再现性
予測子変数 (X
)として马力
と重量
を,応答応答数(Y
)として英里/加仑
を指定します。
X =(功率、重量);Y = MPG;
既定のsvm回帰回帰にモデル习をさせます。
Mdl = fitrsvm (X, Y)
Mdl = RegressionSVM ResponseName: 'Y' CategoricalPredictors: [] ResponseTransform: 'none' Alpha: [76x1 double] Bias: 43.1920 KernelParameters: [1x1 struct] NumObservations: 93 BoxConstraints: [93x1 struct] ConvergenceInfo: [1x1 struct] Is万博1manbetxSupportVector: [93x1 logical] Solver: 'SMO'属性,方法
Mdl
は学習させたRegressionSVM
モデルです。
モデルが収束したかチェックします。
Mdl.ConvergenceInfo.Converged
ans =逻辑0
0
は,モデルが収束しなかったことを示します。
标准标准,モデルを再学习せせます。
MdlStd = fitrsvm (X, Y,“标准化”,真正的)
MdlStd = RegressionSVM ResponseName: 'Y' CategoricalPredictors: [] ResponseTransform: 'none' Alpha: [77x1 double] Bias: 22.9131 KernelParameters: [1x1 struct] Mu: [109.3441 2.9625e+03] Sigma: [45.3545 805.9668] numobservers: 93 BoxConstraints: [93x1 double] ConvergenceInfo: [1x1 struct] IsSup万博1manbetxportVector: [93x1 logical] Solver:SMO的属性,方法
モデルが収束したかチェックします。
MdlStd.ConvergenceInfo.Converged
ans =逻辑1
1
は,モデルが収束したことを示します。
新しいモデルの再代入(標本内)平均二乗誤差を計算します。
LSTD = RERUBLOS(MDLSTD)
lStd = 17.0256
UCI机器学习库のアワビのデータを使用してサポートベクターマシン回帰モデルに学習をさせます。
データをダウンロードして,“abalone.csv”
という名前で现处于のフォルダに保存ます。
URL =.“https://archive.ics.uci.edu/ml/machine-learning-databases/abalone/abalone.data”;websave (“abalone.csv”,URL);
データをテーブルに読み込みます。変数名を指定します。
varnames = {“性”;“长度”;'直径';'高度';'全_weight';...'shucked_weight';“Viscera_weight”;“Shell_weight”;'戒指'};台= readtable (“abalone.csv”,“文件类型”,“文本”,“ReadVariableNames”、假);Tbl.Properties.VariableNames = varnames;
4177年標本データには個の観測値が含まれています。性
を除くすべての予測子変数は連続です。この変数はカテゴリカル変数で、可能な値は“米”
(雄)、“F”
(雌)および“我”
( -环
に格納されている)アワビの輪の数を予測し,年齢を決定することです。
自動カーネルスケールのガウスカーネル関数を使用してSVM回帰モデルを学習させます。データを標準化します。
rng默认的%的再现性mdl = fitrsvm(tbl,'戒指',“KernelFunction”,“高斯”,“KernelScale”,“汽车”,...“标准化”,真正的)
Mdl = RegressionSVM PredictorNames:{1×8细胞}ResponseName:“戒指”CategoricalPredictors: 1 ResponseTransform:‘没有’α:(3635×1双)偏见:10.8144 KernelParameters:[1×1 struct]μ:[1×10双]σ:[1×10双]NumObservations: 4177 BoxConstraints:[4177×1双]ConvergenceInfo:[1×1 struct] IsSupportVector:万博1manbetx[4177×1 logical]解算器:'SMO'
Mdl
が学習済みのRegressionSVM
モデルであることとプロパティのリストがコマンドウィンドウに表示されます。
ドット表記を使用して,Mdl
のプロパティを表示します。たとえば,モデルが収束したかどうかや、何回の反復が完了したかを確認します。
conv = Mdl. convergenceinfo . converiter = Mdl. conv = Mdl. convergenceinfo . converiterNumIterations
Conv =逻辑1 iter = 2759
返された結果は,このモデルが2759回の反復後に収束したことを示しています。
carsmall
データセットを読み込みます。
负载carsmallrng'默认'%的再现性
予測子変数 (X
)として马力
と重量
を,応答応答数(Y
)として英里/加仑
を指定します。
X =[马力重量];Y = MPG;
5分割の交差検証を使用して2つのSVM回帰モデルを交差検証します。両方のモデルについて,予測子の標準化を指定します。一方のモデルでは既定の線形カーネルを,もう一方のモデルではガウスカーネルを使用して学習を行うように指定します。
MdlLin = fitrsvm (X, Y,“标准化”,真的,“KFold”5)
mdllin = classReg.Learning.Partition.regressionPartitionedSVM CrossValidateDere:'SVM'predictornames:{'x1'x2'} racatectename:'y'numobservations:94 kfold:5分区:[1x1 cvpartition] ranceateetransform:'无'属性,方法
MdlGau = fitrsvm (X, Y,“标准化”,真的,“KFold”5,“KernelFunction”,“高斯”)
mdlgau = classReg.Learning.Partition.regressionPartitionedSvm CrossValidatedModel:{'X1'X2'} ResponseName:'y'numobservations:94 kfold:5分区:[1x1 cvpartition] OrkeTetransform:'无'属性,方法
MdlLin。训练有素的
ans =5 x1单元阵列{1 x1 classreg.learning.regr。compactregressionsvm.} {1x1 classreg.learning.regr.CompactRegressionSVM} {1x1 classreg.learning.regr.CompactRegressionSVM} {1x1 classreg.learning.regr.CompactRegressionSVM} {1x1 classreg.learning.regr.CompactRegressionSVM}
MdlLin
とMdlGau
はRegressionPartitionedSVM
交差検証済みモデルです。各モデルの训练有素的
プロパティは,compactregressionsvm.
モデルによる5行1列の细胞配列です。セル内のモデルには,観測値の分割を4つ使用し,1つの分割は除外して学習を行った結果が格納されます。
モデルの汎化誤差を比較します。このケースでは、汎化誤差は標本外平均二乗誤差です。
mselin = kfoldloss(mdllin)
mseLin = 17.4417
mseGau = kfoldLoss (MdlGau)
mseGau = 16.7397
ガウスカーネルを使用するSVM回帰モデルの方が,線形カーネルを使用するモデルより性能が優れています。
データセット全体をfitrsvm
に渡すことにより,予測に適しているモデルを作成し,より高性能のモデルをもたらした名前と値のペアの引数をすべて指定します。ただし,交差検証オプションは指定しません。
MdlGau = fitrsvm (X, Y,“标准化”,真的,“KernelFunction”,“高斯”);
一連の自動車のMPGを予測するため,自動車の馬力および重量の測定値が格納されているテーブルとMdl
を预测
に渡します。
この例では,fitrsvm
を使用して自動的にハイパーパラメーターを最適化する方法を示します。この例では,carsmall
データを使用します。
carsmall
データセットを読み込みます。
负载carsmall
予測子変数 (X
)として马力
と重量
を,応答応答数(Y
)として英里/加仑
を指定します。
X =[马力重量];Y = MPG;
自動的なハイパーパラメーター最適化を使用して,5分割交差検証損失を最小化するハイパーパラメーターを求めます。
再現性を得るために,乱数シードを設定し,“expected-improvement-plus”
の獲得関数を使用します。
rng默认的Mdl = fitrsvm (X, Y,“OptimizeHyperparameters”,“汽车”,...'hyperparameteroptimizationoptions',struct(“AcquisitionFunctionName”,...“expected-improvement-plus”))
|====================================================================================================================| | Iter | Eval客观客观| | | BestSoFar | BestSoFar | BoxConstrain - | KernelScale |ε| | |结果| | |运行时(观察)| t (estim) | | | ||====================================================================================================================| | 最好1 | | 6.1124 | 10.779 | 6.1124 | 6.1124 | 0.35664 | 0.043031 | 0.30396 | | 2 |最好| 2.9114 | 0.092593 | 2.9114 | 3.088 | 70.67 | 710.65 | 1.6369 | | 3 |接受| 4.1884 | 0.051436 | 2.9114 | 3.078 | 14.367 | 0.0059144 |442.64 | | 4 |接受| 4.159 | 0.048154 | 2.9114 | 3.0457 | 0.0030879 | 715.31 | 2.6045 | | 5 |的| 2.9044 | 0.19816 | 2.9044 | 2.9042 | 906.95 | 761.46 | 1.3274 | | 6 |的| 2.8666 | 0.50618 | 2.8666 | 2.8668 | 997.3 | 317.41 | 3.7696 | | | 7日接受| 4.1881 | 0.043931 | 2.8666 | 2.8669 | 759.56 | 987.74 | 15.074 | | |接受8 | 2.8992 |2.5317 | 2.8666 | 2.8669 | 819.07 | 152.11 | 1.5192 | | | 9日接受| 2.8916 | 0.16756 | 2.8666 | 2.8672 | 921.52 | 627.48 | 2.3029 | | 10 |接受| 2.9001 | 0.28733 | 2.8666 | 2.8676 | 382.91 | 343.04 | 1.5448 | | | 11日接受| 3.6573 | 10.023 | 2.8666 | 2.8784 | 945.1 | 8.885 | 3.9207 | | | 12日接受| 2.9381 | 0.1064 | 2.8666 | 2.871 | 935.49 |979.29 | 0.1384 | | | 13日接受| 2.9341 | 0.043784 | 2.8666 | 2.8719 | 1.992 | 999.49 | 0.21557 | | | 14日接受| 2.9227 | 0.062812 | 2.8666 | 2.8742 | 2.351 | 977.85 | 0.026124 | | | 15日接受| 2.9483 | 0.13059 | 2.8666 | 2.8751 | 826.92 | 713.57 | 0.0096305 | | | 16日接受| 2.9502 | 1.1689 | 2.8666 | 2.8813 | 345.64 | 129.6 | 0.027832 | | 17 |Accept | 2.9329 | 0.1059 | 2.8666 | 2.8799 | 836.96 | 970.73 | 0.034398 | | 18 | Accept | 2.9177 | 0.047944 | 2.8666 | 2.8771 | 0.10167 | 129.91 | 0.0092675 | | 19 | Accept | 2.95 | 2.513 | 2.8666 | 2.8749 | 199.85 | 68.93 | 0.0092982 | | 20 | Accept | 4.1964 | 0.06516 | 2.8666 | 2.8685 | 0.0012054 | 940.94 | 0.0097673 | |====================================================================================================================| | Iter | Eval | Objective | Objective | BestSoFar | BestSoFar | BoxConstrain-| KernelScale | Epsilon | | | result | | runtime | (observed) | (estim.) | t | | | |====================================================================================================================| | 21 | Accept | 2.905 | 0.051353 | 2.8666 | 2.8675 | 5.9475 | 199.82 | 0.013585 | | 22 | Accept | 2.9329 | 0.10874 | 2.8666 | 2.8747 | 0.33221 | 21.509 | 0.0094248 | | 23 | Accept | 2.9017 | 0.076283 | 2.8666 | 2.8689 | 13.341 | 554.39 | 0.069216 | | 24 | Accept | 2.9067 | 0.067107 | 2.8666 | 2.8694 | 0.21467 | 73.415 | 0.028231 | | 25 | Accept | 2.9046 | 0.052452 | 2.8666 | 2.8731 | 0.68546 | 61.287 | 0.0099165 | | 26 | Accept | 2.9138 | 0.057869 | 2.8666 | 2.8676 | 0.0012185 | 8.8743 | 0.0093263 | | 27 | Accept | 2.9193 | 0.059383 | 2.8666 | 2.8731 | 0.0099434 | 30.484 | 0.0093546 | | 28 | Accept | 8.5384 | 10.335 | 2.8666 | 2.8683 | 992.36 | 1.4043 | 0.0093129 | | 29 | Accept | 3.2254 | 0.048242 | 2.8666 | 2.8682 | 0.0010092 | 16.917 | 7.3665 | | 30 | Accept | 4.1884 | 0.06625 | 2.8666 | 2.8683 | 983.95 | 42.654 | 287.19 | __________________________________________________________ Optimization completed. MaxObjectiveEvaluations of 30 reached. Total function evaluations: 30 Total elapsed time: 70.2663 seconds. Total objective function evaluation time: 39.8961 Best observed feasible point: BoxConstraint KernelScale Epsilon _____________ ___________ _______ 997.3 317.41 3.7696 Observed objective function value = 2.8666 Estimated objective function value = 2.8683 Function evaluation time = 0.50618 Best estimated feasible point (according to models): BoxConstraint KernelScale Epsilon _____________ ___________ _______ 997.3 317.41 3.7696 Estimated objective function value = 2.8683 Estimated function evaluation time = 0.4589
Mdl = RegressionSVM ResponseName:‘Y’CategoricalPredictors: [] ResponseTransform:‘没有’α:[35×1双)偏见:48.8155 KernelParameters:[1×1 struct] NumObservations: 93 HyperparameterOptimizationResults:[1×1 BayesianOptimization] BoxConstraints:[93×1双]ConvergenceInfo:[1×1 struct] IsSupportVector: 93×1逻辑解算器。万博1manbetxSMO的属性,方法
最適化では,boxconstraint.
、内塞尔
およびε
に対して探索を行いました。出力は,推定交差検证损失が最小になる回帰です。
TBL.
- - - - - -予测子データモデルを学習させるために使用する標本データ。テーブルとして指定します。TBL.
,TBL.
にに次数用词列を1つ追加できます。文件字の细胞配列ではない细胞配列配列とと列とととと列とととませませませ。
TBL.
に応答変数が含まれている場合にTBL.
内の他の変数をすべて予測子として使用するには,ResponseVarName
を使用して応答変数を指定します。
TBL.
に応答変数が含まれている場合にTBL.
内の他の変数の一部のみを予測子として使用するには,公式
を使用して式を指定します。
TBL.
に応答変数が含まれていない場合は,Y
をを用して応答応答指定します。TBL.
の行数は,同じでなければなりません。
TBL.
の行またはY
の要素に1つ以上の南
が含まれている場合,モデルを学習させるときにfitrsvm
はその行および要素を両方の引数から削除します。
予測子の名前をTBL.
に表示される順序で指定するには,预测的人
名前と値のペアの引数を使用します。
データ型:テーブル
公式
- - - - - -応答変数および予測子サブセット変数の説明モデル予測子変数のサブセットおよび応答の説明モデル。“Y ~ X1 + X2 + X3”
という形式の文字ベクトルまたは字符串スカラーを指定します。この式では,Y
はは変数を,X1
、X2
およびX3
は予測子変数を表します。変数は,TBL.
(Tbl.Properties.VariableNames
)に含まれている変数の名前でなければなりません。
モデルに学習をさせるための予測子としてTBL.
内の変数のサブセットを指定するには,式を使用します。式を指定した場合,公式
に现れないTBL.
内内分数は使使ません。
データ型:字符
|字符串
Y
- - - - - -応答データ応答データ。n行1列の数値ベクトルを指定します。Y
の长さとTBL.
またはX
の行数は,同じでなければなりません。
TBL.
またはX
の行,またはY
の要素に1つ以上の南
が含まれている場合,モデルを学習させるときにfitrsvm
はその行および要素を両方の引数から削除します。
応答変数名を指定するには,ResponseName
名前と値のペアの引数を使用します。
データ型:单
|双
オプションの名称,值
引数のコンマ区切りペアを指定します。的名字
は引数名で,价值
は対応する値です。的名字
は引用符で囲まなければなりません。name1,value1,...,namen,valuen
のように,複数の名前と値のペアの引数を,任意の順番で指定できます。
“KernelFunction”、“高斯”、“标准化”,没错,‘CrossVal’,‘上’
は,ガウスカーネルと標準化した学習データを使用して10分割の交差検証SVM回帰モデルを学習させます。
交差検証の名前と値のペアの引数を名前と値のペアの引数“OptimizeHyperparameters”
と同時に使用することはできません。“OptimizeHyperparameters”
の结合のの交差交差検证,名称と値のペアのの'hyperparameteroptimizationoptions'
を使用することのみによって変更できます。
“BoxConstraint”
- - - - - -ボックス制約アルファ係数のボックス制約。“BoxConstraint”
と正のスカラー値から構成されるコンマ区切りのペアとして指定します。
α
係数の絶対値がboxconstraint.
の値を超えることはできません。
カーネル関数が“高斯”
または“rbf”
のの合,boxconstraint.
の既定値は差(Y) / 1.349
です。差(Y)
は,応答変数Y
の四分位数間範囲です。他のすべてのカーネルの場合,boxconstraint.
の既定値は1です。
例:BoxConstraint 10
データ型:单
|双
“KernelFunction”
- - - - - -カーネル关节“线性”
(既定値) |“高斯”
|“rbf”
|多项式的
|関数名グラム行列の計算に使用するカーネル関数。“KernelFunction”
と次の表の値から構成されるコンマ区切りのペアとして指定します。
値 | 説明 | 式 |
---|---|---|
“高斯” または“rbf” |
ガウスまたは放射基底関数(RBF)カーネル |
|
“线性” |
线形 |
|
多项式的 |
多項式カーネル。“PolynomialOrder”, を使用して多項式カーネルの順序(p )を指定します。 |
|
たとえば,“KernelFunction”、“内核”
を設定すると内核
が設定されます。この内核
は次の形式でなければなりません。
函数g =内核(U,V)
U
は,M行P列列行。
V
はn行p列の行列です。
G
は,m行n列で構成される,U
とV
の行のグラム行列です。
kernel.m
は,MATLAB®パス上になければなりません。
カーネル関数には一般的な名前を使用しないようにしてください。たとえば,シグモイドカーネル関数には“乙状结肠”
ではなく“mysigmoid”
などの名前を使使。
例:“KernelFunction”、“高斯”
データ型:字符
|字符串
“KernelScale”
- - - - - -カーネルスケールパラメーター1
(既定値) |“汽车”
|正のスカラーカーネルスケールパラメーター。“KernelScale”
と,“汽车”
または正のスカラーで構成される,コンマ区切りのペアとして指定します。予測子行列X
のすべての要素が内塞尔
その后,适切适切カーネルノルム适さ,グラム行,グラム列がされ。
“汽车”
を指定した場合,ヒューリスティック手法を使用して適切なスケール係数が選択されます。このヒューリスティック手法では副標本抽出を使用するので、呼び出すたびに推定値が変化する可能性があります。このため、結果を再現するには、学習の前にrng
を使用して乱数シードを設定します。
“KernelFunction”、“内核”
のように内塞尔
と独自のカーネル関数を指定すると,エラーが発生します。内核
の内部でスケーリングを適用しなければなりません。
例:“KernelScale”、“汽车”
データ型:双
|单
|字符
|字符串
“PolynomialOrder”
- - - - - -多重式カーネル关节数3.
(既定値) |正の整数多項式カーネル関数の次数。“PolynomialOrder”
〖〗
KernelFunction
が多项式的
ではない場合に“PolynomialOrder”
を设定すると,エラーがスローされ。
例:“PolynomialOrder”,2
データ型:双
|单
“KernelOffset”
- - - - - -カーネルオフセットパラメーターカーネルオフセットパラメーター。“KernelOffset”
と非負のスカラーで構成されるコンマ区切りのペアとして指定します。
KernelOffset
がグラム行列の各要素に追加されます。
既定値は以下のとおりです。
ソルバーがSMOの場合(つまり,“规划求解”、“SMO的
はを設定した場合)0
ソルバーがISDAの場合(つまり,“规划求解”、“ISDA的
はを設定した場合)0.1
例:“KernelOffset”,0
データ型:双
|单
‘ε’
- - - - - -イプシロン不感応区間の幅の半分差(Y) / 13.49
(既定値) |非負のスカラー値イプシロン不感応区間の幅の半分。‘ε’
と非負のスカラー値から構成されるコンマ区切りのペアとして指定します。
ε
の既定値は,差(Y) / 13.49
です。これは、応答変数Y
の四分位数間範囲を使用した標準偏差の1/10の推定値です。差(Y)
ががに等しい等しい合,ε
0.1の既定値はになります。
例:‘ε’,0.3
データ型:单
|双
“标准化”
- - - - - -予測子データを標準化するためのフラグ假
(既定値) |真正的
“规划求解”
- - - - - -最適化ルーチンISDA的
|“L1QP”
|SMO的
“α”
- - - - - -アルファ係数の初期推定値アルファ係数の初期推定値。“α”
と数値ベクトルから構成されるコンマ区切りのペアとして指定します。α
の长さはX
の行数と等価でなければなりません。
α
の各要素はX
の観測値に対応します。
α
は南
を格納できません。
α
を交差検証の名前と値のペアの引数(“CrossVal”
、'cvpartition'
、“坚持”
、“KFold”
または“Leaveout”
)のいずれかと同時に指定すると,エラーが返されます。
Y
に欠損値が含まれている場合は,欠損値に対応するすべての行をY
、X
およびα
から削除してください。つまり,次のように入力します。
idx = ~ isnan (Y);Y = Y (idx);X = X (idx:);α=α(idx);
Y
、X
およびα
をそれぞれ応答値,予測子およびアルファの初期推定値として渡します。
既定の设定は0(大小(Y, 1))
です。
例:“阿尔法”,0.1 *(大小(X, 1), 1)
データ型:单
|双
'缓存'
- - - - - -キャッシュサイズ1000
(既定値) |“最大”
|正のスカラーキャッシュサイズ。'缓存'
と“最大”
または正のスカラーで構成されるコンマ区切りのペアとして指定します。
CacheSize
が“最大”
の場合,n行n列のグラム行列を保持できる十分なメモリが確保されます。
CacheSize
が正のスカラーのの合,モデルモデル学习用にCacheSize
メガバイトのメモリが確保されます。
例:“CacheSize”、“最大”
データ型:双
|单
|字符
|字符串
“ClipAlphas”
- - - - - -アルファ係数をクリップするためのフラグ真正的
(既定値) |假
アルファ系数をクリップするためのフラグ。“ClipAlphas”
と真正的
または假
のいずれかから构成されるコンマ区切りのペアとして指定します。
観測値jのアルファ係数がαj,観測値jのボックス制約がCjであるとします(j = 1,…,n)。nは学習標本のサイズです。
値 | 説明 |
---|---|
真正的 |
各反复でαjが0またはCjに近い場合,MATLABでαjがそれぞれ0またはCjに設定されます。 |
假 |
最適化時にMATLABでアルファ係数は変更されません。 |
MATLABでは,学習済みのSVMモデルオブジェクトのα
プロパティに最終的なαの値が格納されます。
ClipAlphas
は,SMOとISDAの収束に影響を与える可能性があります。
例:“ClipAlphas”,假的
データ型:逻辑
“NumPrint”
- - - - - -最適化診断メッセージ出力の反復回数1000
(既定値) |非負の整数最適化診断メッセージ出力の反復回数。“NumPrint”
と非负の整数で构成されるコンマ区切りのペアとして指定します。
“详细”,1
とNumPrint, NumPrint
を指定すると,numprint
回反復するたびにSMOとISDAからのすべての最適化診断メッセージがコマンドウィンドウに表示されます。
例:“NumPrint”,500年
データ型:双
|单
“OutlierFraction”
- - - - - -学習データで想定される外れ値の比率学習データで想定される外れ値の比率。“OutlierFraction”
と区間(0,1)の数値スカラーから構成されるコンマ区切りのペアとして指定します。fitrsvm
は勾配が大きい観測値を削除するので,収束に達するまでに,OutlierFraction
で指定された比率の観測値をfitrsvm
が削除することが保証されます。この名前と値のペアは,“规划求解”
がISDA的
の場合のみ有効です。
例:“OutlierFraction”,0.1
データ型:单
|双
“RemoveDuplicates”
- - - - - -重複する観測値を単一の観測値に置き換えるためのフラグ假
(既定値) |真正的
学習データ内の重複する観測値を単一の観測値に置き換えるためのフラグ。“RemoveDuplicates”
と真正的
または假
から構成されるコンマ区切りのペアとして指定します。
删除
が真正的
のの合,fitrsvm
は学習データ内の重複する観測値を同じ値の単一の観測値に置き換えます。単一の観測値の重みは,削除された対応する重複の重みの合計に等しくなります(权重
を参照)。
多数の重複する観測値がデータセットに含まれている場合は,“RemoveDuplicates”,真的
を指定すると収束時間が大幅に短くなる可能性があります。
データ型:逻辑
'verbose'
- - - - - -詳細レベル0
(既定値) |1
|2
詳細レベル。'verbose'
と0
、1
または2
から構成されるコンマ区切りのペアとして指定します。详细的
の値は,コマンドウィンドウに表示され体としてMdl.ConvergenceInfo.History
に保存される最适化情报の量を制御します。
次の表は,使用できる詳細レベルオプションの一覧です。
値 | 説明 |
---|---|
0 |
収束情報の表示や保存は行われません。 |
1 |
診断メッセージが表示され,numprint 回の反復ごとに収束基準が保存されます。ここで,numprint は名前と値のペアの引数“NumPrint” の値です。 |
2 |
診断メッセージが表示され,1回の反復ごとに収束基準が保存されます。 |
例:“详细”,1
データ型:双
|单
“CategoricalPredictors”
- - - - - -カテゴリカル予測子のリスト“所有”
カテゴリカル予測子のリスト。“CategoricalPredictors”
と次の表のいずれかの値から構成されるコンマ区切りのペアとして指定します。
値 | 説明 |
---|---|
正の整数のベクトル | ベクトルのエントリは,カテゴリカル変数が含まれている予測子データ(X またはTBL. )の列に対応するインデックス値です。 |
逻辑ベクトル | 真正的 というエントリは,予測子データ(X またはTBL. ) |
文字行列 | 行程の各行はは子数量の名前。名称は预测的人 のエントリに一致しなくてはなりません。文字行列の各行が同じ長さになるように、名前を余分な空白で埋めてください。 |
文章ベクトルベクトル细胞配列配列弦配列 | 配列の各要素は予測子変数の名前です。名前は预测的人 のエントリに一致しなくてはなりません。 |
“所有” | すべての予測子がカテゴリカルです。 |
(TBL.
)内にあり,この表に論理値,カテゴリカル値,字符串配列,または文字ベクトルの细胞配列が格納されている場合,fitrsvm
は変数がカテゴリカルであると見なします。予測子データが行列(X
)である場合,fitrsvm
はすべての予測子が連続的であると見なします。データが行列の場合にカテゴリカル予測子を確認するには,名前と値のペアの引数“CategoricalPredictors”
を使用します。
例:“CategoricalPredictors”、“所有”
データ型:单
|双
|逻辑
|字符
|字符串
|细胞
“PredictorNames”
- - - - - -予測子変数名予测子数量名。“PredictorNames”
と一意な名前の字符串配列または一意な文字ベクトルの细胞配列から構成されるコンマ区切りのペアとして指定します。“PredictorNames”
の機能は,学習データの提供方法によって決まります。
X
とY
を指定した場合,“PredictorNames”
を使用してX
の名前で予測子変数を指定できます。
预测的人
内の名称の顺序は,X
のの列の顺序に致しなけれなければなりませつまり,predictornames {1}
はX (: 1)
の名前,predictornames {2}
はX (:, 2)
の名前であり,他も同様です。また,大小(X, 2)
と元素个数(PredictorNames)
は等しくなければなりません。
既定では预测的人
は{x1, x2,…}
です。
TBL.
ががられたた合,“PredictorNames”
を使使して学习使する予测子数量を选択でき。つまりfitrsvm
は预测的人
の予測子変数と応答変数のみを学習で使用します。
预测的人
はTbl.Properties.VariableNames
のサブセットでなければならず,応答変数の名前を含めることはできません。
既定では,すべての予測子変数の名前が预测的人
に格納されます。
“PredictorNames”
と公式
のいずれか一方のみを使用して学習用の予測子を指定することをお勧めします。
例:PredictorNames,{‘SepalLength’,‘SepalWidth’,‘PetalLength’,‘PetalWidth}
データ型:字符串
|细胞
“ResponseName”
- - - - - -応答変数名“Y”
(既定値) |文字ベクトル|字符串スカラー応答数名。“ResponseName”
と文字ベクトルまたは字符串スカラーから構成されるコンマ区切りのペアとして指定します。
Y
を指定した場合,“ResponseName”
を使用して応答変数の名前を指定できます。
ResponseVarName
または公式
を指定した場合,“ResponseName”
を使用することはできません。
例:“ResponseName”、“响应”
データ型:字符
|字符串
“ResponseTransform”
- - - - - -応答の変換“没有”
(既定値) |関数ハンドル応答の変換。“ResponseTransform”
と“没有”
既定のの设定设定しますの设定“没有”
です。これは@ (y) y
,つまり変换なしを表します.matlab关键词关联数の结合は,关键词は使ます。关键词は,ベクトル(元元応答値)を受け入れて同じサイズベクトル(変换返さなければなりません。
例:myfunction = @(y)exp(y)
を使用して,指数変換を入力ベクトルに適用する関数のハンドルを作成するとします。この場合,応答変換としてmyfunction ResponseTransform,
を指定できます。
データ型:字符
|字符串
|function_handle
“重量”
- - - - - -観测値の重み(大小(X, 1), 1)
(既定値) |数値ベクトル観測値の重み。“重量”
と数値ベクトルから構成されるコンマ区切りのペアとして指定します。权重
のサイズはX
の行数と等しくなければなりません。fitrsvm
は,合計が1になるように权重
の値を正規化します。
データ型:单
|双
“CrossVal”
- - - - - -交差検証フラグ'离开'
(既定値) |“上”
交差検証フラグ。“CrossVal”
と,“上”
または'离开'
で構成されるコンマ区切りのペアとして指定します。
“上”
を指定した場合10分割の交差検証が実施されます。
この交差検証の設定をオーバーライドするには,名前と値のペアの引数CVPartition.
、坚持
、KFold
、Leaveout
のいずれかを使用します。交差検証済みモデルを作成するために使用できる交差検証の名前と値のペアの引数は、一度に 1 つだけです。
または,crossval
メソッドを使用して後からモデルの交差検証を行うことができます。
例:“CrossVal”,“上”
'cvpartition'
- - - - - -交差検証分割[]
(既定値) |cvpartition
分割オブジェクト交差検証分割。'cvpartition'
と,cvpartition
で作成したcvpartition
分割オブジェクトから構成されるコンマ区切りのペアとして指定します。分割オブジェクトは,交差検証のタイプと、学習セットおよび検証セットのインデックス付けを指定します。
交差検証済みモデルの作成に使用できる名前と値のペアの引数は,CVPartition.
、坚持
、KFold
、Leaveout
の4つのうちのいずれかのみです。
例:本量利= cvpartition(500年,“KFold”,5)
500年を使用して個の観測値に対する5分割交差検証について無作為な分割を作成するとします。この場合,“CVPartition”,本量利
を使用して交差検证済みモデルを指定できます。
“坚持”
- - - - - -ホールドアウト検定の対象データの比率ホールドアウト検定に使用されるデータの比率。“坚持”
〖(0,1)〗‘坚持’,p
を指定したた合,以下の手顺が実行。
p * 100
%のデータを無作為に選択して検証データとして確保し,残りのデータを使用してモデルに学習をさせる。
コンパクトな学習済みモデルを交差検証済みモデルの训练有素的
プロパティに格納する。
交差検証済みモデルの作成に使用できる名前と値のペアの引数は,CVPartition.
、坚持
、KFold
、Leaveout
の4つのうちのいずれかのみです。
例:'扑腾',0.1
データ型:双
|单
“KFold”
- - - - - -分割の数10
(既定値) |1より大きい正の整数値交差検証済みモデルで使用する分割数。“KFold”
と1より大きい正の整数から構成されるコンマ区切りのペアとして指定します。KFold, k
を指定したた合,以下の手顺が実行。
データデータを作用为にk
个のセットに分享。
各セットについて,そのセットを検定データとして確保し,他のk
- 1個のセットを使用してモデルに学習をさせる。
k
個のコンパクトな学習済みモデルを,交差検証済みモデルの训练有素的
プロパティに含まれているk
行1列の细胞ベクトルのセルに格納する。
交差検証済みモデルの作成に使用できる名前と値のペアの引数は,CVPartition.
、坚持
、KFold
、Leaveout
の4つのうちのいずれかのみです。
例:“KFold”,5
データ型:单
|双
“Leaveout”
- - - - - -留下 - of-of法の交差検证のフラグ'离开'
(既定値) |“上”
分析法の交差検証のフラグ。“Leaveout”
と“上”
または'离开'
で構成されるコンマ区切りのペアとして指定します。“Leaveout”,“上”
を指定した場合,n個の観測値(nはモデルのNumObservations
プロパティで指定される,欠损観测値を除外した観测値の个数)のそれぞれについて以下の手顺が実行されます。
その観測値を検証データとして確保し,他のn - 1個の観測値を使用してモデルに学習をさせる。
n個のコンパクトな学習済みモデルを,交差検証済みモデルの训练有素的
プロパティに含まれているn行1列の细胞ベクトルのセルに格納する。
交差検証済みモデルの作成に使用できる名前と値のペアの引数は,CVPartition.
、坚持
、KFold
、Leaveout
の4つのうちのいずれかのみです。
例:“Leaveout”,“上”
“DeltaGradientTolerance”
- - - - - -勾配差分の許容誤差SMOまたはISDAで取得したしののとととの违反値値のの勾配勾配の许容许容许容“DeltaGradientTolerance”
と非負のスカラーから構成されるコンマ区切りのペアとして指定します。
例:“DeltaGradientTolerance”,1的军医
データ型:单
|双
“GapTolerance”
- - - - - -実行可能ギャップの许容误差1E-3
(既定値) |非負のスカラーSMOまたはISDAにより取得された実行可能性ギャップの許容誤差。“GapTolerance”
と非負のスカラーで構成されるコンマ区切りのペアとして指定します。
凝聚率
が0
のの合,fitrsvm
はこのパラメーターを收束のチェックに使用しません。
例:“GapTolerance”,1的军医
データ型:单
|双
“IterationLimit”
- - - - - -数値最適化反復の最大回数1 e6
(既定値) |正の整数数値最適化反復の最大回数。“IterationLimit”
と正の整数値で構成されるコンマ区切りのペアとして指定します。
最適化ルーチンが正常に収束したかどうかに関係なく,学習済みのモデルが返されます。Mdl。ConvergenceInfo
に収束情報が格納されます。
例:'iterationlimit',1e8
データ型:双
|单
'kkttolerance'
- - - - - -马違反の許容誤差カルーシュ・キューン・タッカー(马)違反の許容誤差。'kkttolerance'
と非負のスカラー値から構成されるコンマ区切りのペアとして指定します。
この名前と値のペアは,“规划求解”
がSMO的
またはISDA的
の場合のみ適用されます。
KKTTolerance
が0
のの合,fitrsvm
はこのパラメーターを收束のチェックに使用しません。
例:“KKTTolerance”,1的军医
データ型:单
|双
“ShrinkagePeriod”
- - - - - -アクティブセットの縮小間の反復数0
(既定値) |非負の整数アクティブアクティブセットの缩缩缩のの反复反复.“ShrinkagePeriod”
と非負の整数から構成されるコンマ区切りのペアとして指定します。
“ShrinkagePeriod”,0
を设定すると,アクティブセットは缩小されません。
例:“ShrinkagePeriod”,1000年
データ型:双
|单
“OptimizeHyperparameters”
- - - - - -最適化するパラメーター“没有”
(既定値) |“汽车”
|“所有”
|使用可能パラメーター名の字符串配列または细胞配列|optimizableVariable
オブジェクトのベクトル最適化するパラメーター。“OptimizeHyperparameters”
と次のいずれかから構成されるコンマ区切りのペアとして指定します。
“没有”
——最適化を行いません。
“汽车”
- - - - - -{‘BoxConstraint’,‘KernelScale’,‘ε’}
を使用します。
“所有”
——すべての使用可能パラメーターを最適化します。
实用可能名の弦のまたは细胞配列。
optimizableVariable
オブジェクトオブジェクトベクトル。通讯は封闭率
のの力です。
最適化では,パラメーターを変化させることにより,fitrsvm
の交差検証損失(誤差)を最小化しようとします。交差検証のタイプおよびその他の最適化の側面を制御するには,名前と値のペアHyperparameterOptimizationOptions
を使用します。
“OptimizeHyperparameters”
の値は,他の名前と値のペアの引数を使用して設定した値より優先されます。たとえば,“OptimizeHyperparameters”
を“汽车”
に設定すると,“汽车”
ののが适适れます。
fitrsvm
では,以下のパラメーターを使用できます。
boxconstraint.
- - - - - -fitrsvm
は,既定では範囲(1 e - 3, 1 e3)
の対数スケールで,正の値を探索します。
内塞尔
- - - - - -fitrsvm
は,既定では範囲(1 e - 3, 1 e3)
の対数スケールで,正の値を探索します。
ε
- - - - - -fitrsvm
は,既定では範囲(1 e - 3, 1 e2) *差(Y) / 1.349
の対数スケールで,正の値を探索します。
KernelFunction
- - - - - -fitrsvm
は,“高斯”
、“线性”
および多项式的
で探索します。
PolynomialOrder
- - - - - -fitrsvm
は,範囲(2、4)
の整数値を探索します。
标准化
- - - - - -fitrsvm
は,“真正的”
と“假”
で探索します。
既定以外のパラメーターを設定するには,既定以外の値が含まれているoptimizableVariable
たとえば,以下のににし。
负载carsmallparams = hyperparameters ('fitrsvm',[马力,重量],mpg);params(1).range = [1e-4,1e6];
OptimizeHyperparameters
の値として参数个数
を渡します。
既定では,コマンドラインに反復表示が表示され,最適化のハイパーパラメーターの個数に従ってプロットが表示されます。最適化とプロットにおける目的関数は,回帰の場合は日志(1 +交差検証損失),分類の場合は誤分類率です。反復表示を制御するには,名前と値のペアの引数'hyperparameteroptimizationoptions'
の详细的
フィールドを設定します。プロットを制御するには,名前と値のペアの引数'hyperparameteroptimizationoptions'
のShowplots.
フィールドを設定します。
たとえば,支持向量机回帰の最適化を参照してください。
例:“OptimizeHyperparameters”、“汽车”
'hyperparameteroptimizationoptions'
- - - - - -最适化のオプション最適化のオプション。'hyperparameteroptimizationoptions'
と構造体から構成されるコンマ区切りのペアとして指定します。この引数を指定すると,名前と値のペアの引数OptimizeHyperparameters
の効果が変化します。この繁体のフィールドは、すべてオプションです。
フィールド名 | 値 | 既定の設定 |
---|---|---|
优化器 |
|
“bayesopt” |
AcquisitionFunctionName |
オブジェクト関数のランタイムによって最適化が異なるので,名前に |
'预期 - 每秒改善' |
MaxObjectiveEvaluations |
目的関数評価の最大的数。 | “bayesopt” または“randomsearch” の場合は30. 、“gridsearch” の場合はグリッド全体 |
最大限度 |
制限時間。正の実数を指定します。制限時間の単位は, |
inf |
NumGridDivisions |
“gridsearch” 値は,各次元の値の,またはすべて次元に整されるが场ですですれるカテゴリカルの场です。。 |
10 |
Showplots. |
プロットを表示するかどうかを示す論理値。真正的 の場合,最良の目的関数の値が反復回数に対してプロットされます。1つまたは2つの最適化パラメーターがあり,优化器 が“bayesopt” である場合,Showplots. はパラメーターに対する目的関数のモデルのプロットも行います。 |
真正的 |
SaveIntermediateResults |
优化器 が“bayesopt” である場合に結果を保存するかどうかを示す論理値。真正的 のの合,“BayesoptResults” という名前のワークスペース変数が反復ごとに上書きされます。この変数はBayesianOptimization オブジェクトです。 |
假 |
详细的 |
コマンドラインへの表示。
詳細については, |
1 |
UseParallel |
ベイズベイズ适化を并列するかどうかかを値する。并行计算工具箱™が必要です。详细详细について,并列ベイズ最适化を参照してください。 | 假 |
重新分区 |
反复ごとに交差検证を再分割するかどうかを示す论理値。 分割ノイズが考慮されるので,通常は |
假 |
以下の3つのフィールド名は1つだけ使用できます。 | ||
CVPartition. |
cvpartition によって作成されるcvpartition オブジェクト。 |
交差検証フィールドが指定されていない場合“Kfold”,5 |
坚持 |
ホールドアウトの比率を表す範囲(0,1) のスカラー。 |
|
Kfold |
1より大きい整数。 |
例:“HyperparameterOptimizationOptions”、结构(MaxObjectiveEvaluations, 60)
データ型:繁体
Mdl
——学習済みのSVM回帰モデルRegressionSVM
モデル|RegressionPartitionedSVM
交差検証済みモデル学習済みのSVM回帰モデル。RegressionSVM
モデルまたはRegressionPartitionedSVM
交差検証済みモデルとして返されます。
以下の名前と値のペアの引数のうちいずれかが設定されている場合,Mdl
はRegressionPartitionedSVM
交差検証済みモデルとなります。KFold
、坚持
、Leaveout
、CrossVal
またはCVPartition.
。それ以外の場合,Mdl
はRegressionSVM
モデルです。
fitrsvm
は,低~中次元のデータセットをサポートします。高次元データセットの場合は,代わりにfitrlinear
を使用してください。
データセットが大規模でない限り,常に予測子を標準化してください(标准化
ををしてくださいください。
名前と値のペアの引数KFold
を使用して交差検証を行うことをお勧めします。交差検証の結果により,SVMモデルがどの程度一般化を行うかを判断します。
SVMモデルでは,サポートベクターの密度が低い方が望ましい状態です。サポートベクターの数を少なくするには,名前と値のペアの引数boxconstraint.
を大きい値に設定します。このようにすると、学習時間も長くなります。
学習時間を最適にするには,使用しているコンピューターで許容されるメモリの制限に近い値までCacheSize
を大きくします。
サポートベクターの個数が学習セット内の観測値数よりはるかに少ないと考えられる場合,名前と値のペアの引数“ShrinkagePeriod”
を使用してアクティブセットを縮小すると,収束を大幅に高速化することができます。“ShrinkagePeriod”,1000年
の使用をお勧めします。
回帰直线から离れている重复する観测値は,收束に影响を与えません。しかし,重复する観测値が回帰直线の近くに少しでもあると,收束が大幅に遅くなる可能性があります。收束を高层化するに,次次结合に“RemoveDuplicates”,真的
を指定します。
多数の重複する観測値がデータセットに含まれている。
少数の重複する観測値が回帰直線の近くにあると考えられる。
ただし,学習時に元のデータセットを維持するため,fitrsvm
は複数のデータセット,つまり元のデータセットと重複する観測値を除外したデータセットを一時的に格納しなければなりません。このため,重複がほとんど含まれていないデータセットの場合に真正的
を指定すると,fitrsvm
は元のデータの場合の2倍に近いメモリを消費します。
モデルに学習をさせた後で,新しいデータについて応答を予測するC / c++コードを生成できます。C / c++コードの生成にはMATLAB编码器™が必要です。詳細については,コード生成の绍介を参照してください。
線形および非線形SVM回帰問題の数学的定式化およびソルバーのアルゴリズムについては,サポートベクターマシン回帰についてを参照してください。
南
、<定义>
,空の文字ベクトル(''
),空の字符串(""
),および<缺失>
値は,欠损データ値を示し。fitrsvm
は,欠損応答に対応するデータ行全体を削除します。fitrsvm
は,重みを正規化するときに,欠損している予測子が1つ以上ある観測値に対応する重みを無視します。したがって,観測値のボックス制約がboxconstraint.
に等しくならない可能性があります。
fitrsvm
は,重みがゼロの観測値を削除します。
“标准化”,真的
と“重量”
を設定した場合,fitrsvm
は対応する加重平均および加重標準偏差を使用して予測子を標準化します。つまり,fitrsvm
は以下を使用して予測子j (xj)を標準化します。
xjkは,予测子j(列)ののk(行)です。
予測子データにカテゴリカル変数が含まれている場合,一般にこれらの変数について完全なダミーエンコードが使用されます。各カテゴリカル変数の各レベルについて,1つずつダミー変数が作成されます。
预测的人
プロパティには,元の予測子変数名のそれぞれについて1つずつ要素が格納されます。たとえば,3.つの予測子があり、そのうちの 1 つは 3 つのレベルがあるカテゴリカル変数であるとします。この場合、预测的人
は元の予測子変数名が含まれている1行3列の文字ベクトルの细胞配列になります。
ExpandedPredictornames.
プロパティには,ダミー変数を含む予測子変数のそれぞれについて1つずつ要素が格納されます。たとえば,3.つの予測子があり、そのうちの 1 つは 3 つのレベルがあるカテゴリカル変数であるとします。この場合、ExpandedPredictornames.
は予測子変数および新しいダミー変数の名前が含まれている1行5列の文字ベクトルの细胞配列になります。
同様に,β
プロパティには,ダミー変数を含む各予測子について1つずつベータ係数が格納されます。
万博1manbetxSupportVectors
プロパティには,ダミー変数を含むサポートベクターの予測子の値が格納されます。たとえば,m 個のサポート ベクターと 3 つの予測子があり、そのうちの 1 つは 3 つのレベルがあるカテゴリカル変数であるとします。この場合、万博1manbetxSupportVectors
はm行5列の行列になります。
X
プロパティには,はじめにに力し状态で习习がますささますれ。X
には予测子として使用した列のみが格纳されます。
テーブルで予測子を指定した場合,いずれかの変数に順序付きのカテゴリが含まれていると,これらの変数について順序付きエンコードが使用されます。
k個の順序付きレベルが変数に含まれている場合,k - 1个のダミー位数が作物さます.j番目のダミーダミー,jまでのレベルについては-1、j + 1からkまでのレベルについては+1になります。
ExpandedPredictornames.
プロパティに格納されるダミー変数の名前は1番目のレベルを示し,値は+1になります。レベル2、3、……kの名前を含むk - 1個の追加予測子名がダミー変数について格納されます。
どのソルバーもL1ソフトマージン最小化を実装します。
学習データで想定される外れ値の比率をp
とします。OutlierFraction, p
を設定した場合,“ロバスト学習”この実施され。p
%の削除が試行されます。削除された観測値は,勾配の大きいものに対応します。
[1] Clark,D.,Z. Schreter,A. Adams。1996年提交澳大利亚神经网络大会的施施施育和深度的定量比较。
[2]球迷,R.-E。,林志信。陈,C.-J。林。使用二阶信息进行训练支持向量机的工作集选择万博1manbetx机器学习研究杂志,2005年第6卷,1889-1918页。
[3] Kecman V.,T. -M。黄,和M. Vogt。“来自巨大数据集训练内核机器的迭代单数据算法:理论与性能。”在支持万博1manbetx向量机中:理论和应用。由Lipo Wang编辑,255-274。柏林:Springer-Verlag,2005。
[4] Lichman, M. UCI机器学习知识库[http://archive.ics.uci.edu/ml]。加州欧文:加州大学信息与计算机科学学院。
纳什、w.j.、t.l.塞勒斯、s.r.塔尔博特、a.j.考索恩和w.b.福特。塔斯马尼亚州鲍鱼的种群生物学。一、巴斯海峡北部海岸和岛屿的黑唇鲍鱼,海洋渔业司,技术报告第48号,1994年。
Waugh, S. Cascade-Correlation的扩展和基准研究,博士论文,塔斯马尼亚大学计算机科学系,1995。
並列実行するには,“UseParallel”
オプションを真正的
に设定します。
ハイパーパラメーターの最適化を並列実行するため,この関数を呼び出すときに名前と値のペアの引数“HyperparameterOptions”、结构(UseParallel,真的)
を指定します。
並列的なハイパーパラメーターの最適化の詳細については,并列ベイズ最适化を参照してください。
並列計算の全般的な情報については,自動並列サポートを使用したMATLAB関数の実行(并行计算工具箱)を参照してください。
MATLABのコマンドを実行するリンクがクリックされました。
このリンクは、Webブラウザーでは動作しません。MATLABコマンドウィンドウに以下を入力すると、このコマンドを実行できます。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。