このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
サポートベクターマシン回帰モデルの近似
fitrsvm
は,低〜中间元のの子データセットサポートベクター(svm)回帰回帰に学习をせるか,svm回帰モデルの交差検证行。fitrsvm
は,カーネル关键ををするするするし,目的关键词によるのための二次计画によるによる,の二次计画法による,ISDAまたはl1ソフトマージンマージン最しサポートしししししし
高次元データセット,つまり多数の予測子変数が含まれているデータセットに対して線形SVM回帰モデルに学習をさせるには,代わりにFitrinear.
を使用します。
バイナリ分类用途のsvmモデルに学习をさせる方法については,低〜中炎元の予测子データセットの合fitcsvm
,高次元データセットの場合はfitclinear
を参照してください。
は,テーブルMDL.
= fitrsvm(资源描述
那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: [75x1 double] Bias: 57.3958 KernelParameters: [1x1 struct] NumObservations: 93 BoxConstraints: [93x1 struct] ConvergenceInfo: [1x1 struct] Is金宝appSupportVector: [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金宝appportVector: [93x1 logical] Solver:SMO的属性,方法
モデルが収束したかチェックします。
MdlStd.ConvergenceInfo.Converged
ANS =.逻辑1
1
は,モデルが収束したことを示します。
新しいモデルの再代入(標本内)平均二乗誤差を計算します。
lStd = resubLoss (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 = {“性”;'长度';“直径”;“高度”;“Whole_weight”;...“Shucked_weight”;“Viscera_weight”;'shell_weight';“戒指”};台= readtable ('abalone.csv'那“文件类型”那“文本”那'readvariablenames'、假);Tbl.Properties.VariableNames = varnames;
标本データには4177个の観测値が含まれています。性
を除くすべての予測子変数は連続です。この変数はカテゴリカル変数で,可能な値は“米”
(雄)、“F”
(雌)および“我”
(稚貝)です。目標は,物理的な測定値を使用して(戒指
に格式されているアワビの轮の数号予测,年份を决定すること。
自动カーネルカーネルのカーネルを回帰て。
rng默认的%的再现性Mdl = fitrsvm(资源描述,“戒指”那“KernelFunction”那'高斯'那“KernelScale”那'汽车'那...“标准化”,真的)
mdl = regressionsvm predictornames:{1×8 cell} resportename:'rings'patporicalpricictors:1 responsefransform:'none'alpha:[3635×1双]偏置:10.8144内核参数:[1×1结构] mu:[1×10双] Sigma:[1×10双] NumObservations:4177 BoxConstraints:[4177×1双] ColoupGenceInfo:[1×1结构] IssupportVector:[4177×1金宝app逻辑]求解器:'smo'
MDL.
が学習済みのRegressionSVM
モデルであることとプロパティのリストがコマンドウィンドウに表示されます。
ドット表记を使使用して,MDL.
〖图库“
conv = mdl.convergenceInfo.converged Iter = mdl.numentations
conv =逻辑1 iter = 2759
返された结果は,このモデルが2759回の反复后に收束したことを示しています。
carsmall
データセットを読み込みます。
加载carsmallrng“默认”%的再现性
予测子阶数(X
)として马力
と重量
を,応答変数(y
)として英里/加仑
を指定します。
X =[马力重量];Y = MPG;
5分钟の交差検证を使て2つのsvm回帰回帰モデルを交差検证しし両ののモデルについてについてししのモデルの标准标准をししますますモデルでは既定の形形形をををををををををををををのののののの形カーネルをカーネルを使用して学习を行うように指定します。
mdllin = fitrsvm(x,y,“标准化”,真的,“KFold”5)
MdlLin = RegressionPartitionedSVM CrossValidatedModel: 'SVM' PredictorNames: {'x1' 'x2'} ResponseName: 'Y' NumObservations: 94 KFold: 5 Partition: [1x1 cvpartition] ResponseTransform: 'none'属性,方法
MdlGau = fitrsvm (X, Y,“标准化”,真的,“KFold”5,“KernelFunction”那'高斯'的)
mdlgau =回归partitionedsvm crossvalidatedmodel:'svm'predictornames:{'x1'x2'} racatectename:'y'numobservations:94 kfold:5分区:[1x1 cvpartition] responseetransform:'无'属性,方法
MdlLin。训练有素的
ans =5×1单元阵列{1x1 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.7355
ガウスカーネルを使用する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”结构('获取功能名称'那...“expected-improvement-plus”))
|====================================================================================================================| | Iter | Eval |目的:| |目的BestSoFar | BestSoFar | BoxConstraint | KernelScale |ε| | | |结果日志(1 +损失)运行时| | | (estim(观察) .) | | | | |====================================================================================================================| | 最好1 | | 6.8077 | 10.787 | 6.8077 | 6.8077 | 0.35664 | 0.043031 | 0.30396 | | 2 |最好| 2.9108 | 0.081877 | 2.9108 | 3.1259 | 70.67 | 710.65 | 1.6369 | | 3 |接受| 4.1884 | 0.20844 | 2.9108 | 3.1211 | 14.367 | 0.0059144 | 442.64 | | 4 |接受| 4.159 | 0.083731 | 2.9108 | 3.0773 | 0.0030879 | 715.31 | 2.6045 | | 5 |的| 2.902 | 0.21632 | 2.902 | 2.9015 | 969.07 | 703.1 | 0.88614 | | 6 |接受| 4.1884 | 0.060628 | 2.902|2。9017 | 993.93 | 919.26 | 22.16 | | 7 | Accept | 2.9307 | 0.11344 | 2.902 | 2.9018 | 219.88 | 613.28 | 0.015526 | | 8 | Accept | 2.9537 | 0.43364 | 2.902 | 2.9017 | 905.17 | 395.74 | 0.021914 | | 9 | Accept | 2.9073 | 0.11177 | 2.902 | 2.9017 | 24.242 | 647.2 | 0.17855 | | 10 | Accept | 2.9044 | 0.29262 | 2.902 | 2.9017 | 117.27 | 173.98 | 0.73387 | | 11 | Accept | 2.9035 | 0.089326 | 2.902 | 2.9016 | 1.3516 | 131.19 | 0.0093404 | | 12 | Accept | 4.0917 | 0.080273 | 2.902 | 2.902 | 0.012201 | 962.58 | 0.0092777 | | 13 | Accept | 2.9525 | 1.035 | 2.902 | 2.902 | 77.38 | 65.508 | 0.0093299 | | 14 | Accept | 2.9352 | 0.11476 | 2.902 | 2.9019 | 21.591 | 166.43 | 0.035214 | | 15 | Accept | 2.9341 | 0.18814 | 2.902 | 2.9019 | 45.286 | 207.56 | 0.009379 | | 16 | Accept | 2.9104 | 0.13257 | 2.902 | 2.9018 | 0.064315 | 23.313 | 0.0093341 | | 17 | Accept | 2.9056 | 0.14982 | 2.902 | 2.9018 | 0.33909 | 40.311 | 0.053394 | | 18 | Accept | 2.9335 | 0.22816 | 2.902 | 2.8999 | 0.9904 | 41.169 | 0.0099688 | | 19 | Accept | 2.9885 | 0.30387 | 2.902 | 2.8994 | 0.0010647 | 32.9 | 0.013178 | | 20 | Accept | 4.1884 | 0.1126 | 2.902 | 2.9 | 0.0014524 | 1.9514 | 856.49 | |====================================================================================================================| | Iter | Eval | Objective: | Objective | BestSoFar | BestSoFar | BoxConstraint| KernelScale | Epsilon | | | result | log(1+loss) | runtime | (observed) | (estim.) | | | | |====================================================================================================================| | 21 | Accept | 2.904 | 0.13183 | 2.902 | 2.8835 | 88.487 | 405.92 | 0.44372 | | 22 | Accept | 2.9107 | 0.10942 | 2.902 | 2.8848 | 344.34 | 992 | 0.28418 | | 23 | Accept | 2.904 | 0.080631 | 2.902 | 2.8848 | 0.92028 | 70.985 | 0.52233 | | 24 | Accept | 2.9145 | 0.096946 | 2.902 | 2.8822 | 0.0011412 | 18.159 | 0.16652 | | 25 | Best | 2.8909 | 0.23112 | 2.8909 | 2.8848 | 0.7614 | 17.3 | 1.9075 | | 26 | Accept | 2.9188 | 0.13747 | 2.8909 | 2.8816 | 0.31049 | 18.301 | 0.35285 | | 27 | Accept | 2.9327 | 0.10354 | 2.8909 | 2.8811 | 0.015362 | 20.395 | 1.6596 | | 28 | Accept | 2.897 | 0.17449 | 2.8909 | 2.8811 | 3.3454 | 46.537 | 2.224 | | 29 | Accept | 4.1884 | 0.082271 | 2.8909 | 2.881 | 983.2 | 0.52308 | 910.91 | | 30 | Accept | 2.9167 | 0.084943 | 2.8909 | 2.8821 | 0.0011533 | 10.597 | 0.029731 |
__________________________________________________________ 优化完成。maxobjective达到30个。总函数计算:30总运行时间:53.5026秒总目标函数计算时间:16.0569BoxConstraint KernelScale Epsilon _____________ ___________ _______ 0.7614 17.3 1.9075观测目标函数值= 2.8909估计目标函数值= 2.8957函数计算时间= 0.23112最佳估计可行点(根据模型):BoxConstraint KernelScale Epsilon _____________ ___________ _______ 88.487 405.92 0.44372估计的目标函数值= 2.8821估计的函数计算时间= 0.13339
Mdl = RegressionSVM ResponseName:‘Y’CategoricalPredictors: [] ResponseTransform:‘没有’α:[86 x1双]偏见:46.2480 KernelParameters: [1 x1 struct] NumObservations: 93 HyperparameterOptimizationResults: [1 x1 BayesianOptimization] BoxConstraints: x1双[93]ConvergenceInfo: [1 x1 struct] IsSupportVector: x1逻辑[93]解金宝app算器:SMO的属性,方法
最適化では,BoxConstraint
那KernelScale
および埃斯利昂
に対して探索を行いました。出力は,推定交差検証損失が最小になる回帰です。
资源描述
-予測子データモデルを学习するに使标标标。资源描述
の各行は1つの観測値に,各列は1つの予測子変数に対応します。オプションとして,资源描述
に応答変数用の列を1つ追加できます。文字ベクトルの细胞配列ではない cell 配列と複数列の変数は使用できません。
资源描述
に応答変数が含まれている場合に资源描述
内の他の変数をすべて予測子として使用するには,ResponseVarName
を使用して応答変数を指定します。
资源描述
に応答変数が含まれている場合に资源描述
内の他のののの一道のみをを子としてとしてには,公式
を使用して式を指定します。
资源描述
に応答変数が含まれていない場合は,y
を使用して応答変数を指定します。応答変数の長さと资源描述
の行数は,同じでなければなりません。
资源描述
の行またはy
の要素に1つ以上の南
が含まれているいる合书,モデルを学习させるときにfitrsvm
はその行および要素を両方の引数から削除します。
予测子の名前を资源描述
に表示される順序で指定するには,PredictorNames
名前と値のペアの引数を使用します。
データ型:桌子
公式
-応答変数および予测子変サブセット说明モデル応答変数および予測子変数サブセットの説明モデル。'y〜x1 + x2 + x3'
という形式の文字ベクトルまたは字符串スカラーを指定します。この形式では,y
は応答変数を,x1
那x2
およびx3
は予測子変数を表します。
モデルに学习をさせるせるのの子として资源描述
内内ののサブセットをするに,式を使指定ます。公式
に現れない资源描述
内の変数は使用されません。
式の変数名は资源描述
の変数名(tbl.properties.variablenames.
)であり,有效なmatlab®識別子でなければなりません。関数Isvarname.
を使用して资源描述
の変数名を検証できます。変数名が有効でない場合,関数matlab.lang.makevalidname.
を使用してそれらを変換できます。
データ型:字符
|字符串
y
-応答データ応答データ.N行1列の数値ベクトルを指定します。y
の長さと资源描述
またはX
の行数は,同じでなければなりません。
资源描述
またはX
の行,またはy
の要素に1つ以上の南
が含まれているいる合书,モデルを学习させるときにfitrsvm
はその行および要素を両方の引数から削除します。
応答変数名を指定するには,ractoreName.
名前と値のペアの引数を使用します。
データ型:单身的
|双
X
-予測子データSVM回帰モデルをあてはめる対象なるなる子データ.n行P列の数码行程列指定します。nは観测観测の。
y
の長さとX
の行数はは等しくなければませませ
X
の行またはy
の要素に1つ以上の南
が含まれているいる合,fitrsvm
はその行および要素を両方の引数から削除します。
予测子の名前をX
に表示される順序で指定するには,PredictorNames
名前と値のペアの引数を使用します。
データ型:单身的
|双
オプションの名称,价值
引的名字
は数名で,价值
は対応する値です。的名字
は引用符で囲まなければなりません。Name1, Value1,…,的家
のように,複数の名前と値のペアの引数を,任意の順番で指定できます。
'erernelfunction','高斯','标准化',true,'crossval','开'
は,ガウスカーネルと標準化した学習データを使用して10分割の交差検証SVM回帰モデルを学習させます。
メモ
交差検证の名前とののペアののを名称と値のペアペア幂'OptimizeHyperParameters'
と同時に使用することはできません。'OptimizeHyperParameters'
の場合の交差検証は,名前と値のペアの引数“HyperparameterOptimizationOptions”
を使用することのみによって変更できます。
BoxConstraint
-ボックス制約アルファ分数の制约。“BoxConstraint”
と正のスカラー値から構成されるコンマ区切りのペアとして指定します。
α
系数の绝対値がBoxConstraint
の値を超えることはできません。
カーネル関数が'高斯'
または'rbf'
の場合,BoxConstraint
の既定値はIQR(Y)/1.349
です。IQR(Y)
は,応答函数y
のの分位数范囲です。他のすべてのカーネルのの合书,BoxConstraint
の既定値は1です。
例:BoxConstraint,10
データ型:单身的
|双
KernelFunction
-カーネル関数'线性'
(既定値)|'高斯'
|'rbf'
|'多项式'
|関数名グラム行列の計算に使用するカーネル関数。“KernelFunction”
と次の表の値から构成されるコンマ区切りのペアとして指定します。
値 | 说明 | 式 |
---|---|---|
'高斯' または'rbf' |
ガウスガウスまたは基于关联(RBF)カーネル |
|
'线性' |
線形カーネル |
|
'多项式' |
多重式カーネル。'polynomialOrder', をを用して多项式カーネルカーネル顺序顺序(问: )を指定します。 |
|
独自のカーネル関数を設定することもできます。たとえば,'erernelfunction','内核'
を設定すると核心
がが设定されれこの核心
は次の形式でなければなりません。
函数G =内核(U, V)
你
は,m行p列の行列です。
V.
は,n行p列の行列。
G
は,m行n列で構成される,你
とV.
の行のグラム行列です。
kernel.m
は,MATLABパス上になければなりません。
たとえば,シグモイドカーネル关键词くださいない关键词ください。たとえば,シグモイドカーネル关键“乙状结肠”
ではなく'mysigmoid'
などの名前を使用します。
例:“KernelFunction”、“高斯”
データ型:字符
|字符串
KernelScale
-カーネルスケールパラメーター1
(既定値)|'汽车'
|正のスカラーカーネルスケールパラメーター。“KernelScale”
と,'汽车'
X
のすべての要素がKernelScale
の値で除算されます。その後,適切なカーネルノルムが適用され,グラム行列が計算されます。
'汽车'
を指定した場合,ヒューリスティック手法を使用して適切なスケール係数が選択されます。このヒューリスティック手法では副標本抽出を使用するので,呼び出すたびに推定値が変化する可能性があります。このため,結果を再現するには,学習の前にrng
を使用して乱数シードを設定します。
'erernelfunction','内核'
のようにKernelScale
と独自のカーネル关数を指定すると,エラーが発生します。核心
の内部でスケーリングを适用しなければなりません。
例:“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の推定値です。IQR(Y)
がゼロに等しい場合,埃斯利昂
の既定値は0.1になります。
例:'epsilon',0.3
データ型:单身的
|双
标准化
-予测子データを标准标准するための错误的
(既定値)|真的
予測子データを標準化するためのフラグ。“标准化”
と真的
(1
)または错误的
(0)
から構成されるコンマ区切りのペアとして指定します。
“标准化”,真的
を設定した場合,次のようになります。
例:“标准化”,真的
データ型:逻辑
解算器
-最适化学ルーチン'ISDA'
|“L1QP”
|'smo'
α
-アルファ分数の初初値値アルファ分数の初推定値。“α”
と数値ベクトルから构成されるコンマ区切りのペアとして指定します。α
の長さはX
の行数と等価でなければなりません。
α
の各要素はX
の観测値に対応します。
α
は南
を格納できません。
α
を交差検証の名前と値のペアの引数('横穿'
那“CVPartition”
那“坚持”
那“KFold”
または'忽略'
)のいずれかと同時に指定すると,エラーが返されます。
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列のグラム行列を保持できる十分なメモリが確保されます。
缓存
が正のスカラーの場合,モデルの学習用に缓存
メガバイトのメモリが確保されます。
例:'缓存','maximal'
データ型:双
|单身的
|字符
|字符串
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
データ型:双
|单身的
upileierfraction.
-学習データで想定される外れ値の比率学習データで想定される外れ値の比率。'OutlierFraction'
と区間(0,1)の数値スカラーから構成されるコンマ区切りのペアとして指定します。fitrsvm
は勾配が大きい観測値を削除するので,収束に達するまでに,upileierfraction.
で指定された比率の観測値をfitrsvm
が削除することが保証されます。この名前と値のペアはは,'求解'
が'ISDA'
の場合のみ有効です。
例:'OutlierFraction',0.1
データ型:单身的
|双
RemoveDuplicates
-重複する観測値を単一の観測値に置き換えるためのフラグ错误的
(既定値)|真的
学士学位'removeruplicates'
と真的
または错误的
から構成されるコンマ区切りのペアとして指定します。
RemoveDuplicates
が真的
の場合,fitrsvm
は学習データ内の重複する観測値を同じ値の単一の観測値に置き換えます。単一の観測値の重みは,削除された対応する重複の重みの合計に等しくなります(重量
を参照)。
ヒント
多数の重複する観測値がデータセットに含まれている場合は,“RemoveDuplicates”,真的
を指定すると收束时间が大幅に短くなる可能性があります。
データ型:逻辑
verb
-详细レベル0.
(既定値)|1
|2
详细レベル。“详细”
と0.
那1
または2
から構成されるコンマ区切りのペアとして指定します。verb
の値は,コマンドウィンドウに表示され構造体としてMdl.ConvergenceInfo.History
に保存される最適化情報の量を制御します。
次の表は,使用できる詳細レベルオプションの一覧です。
値 | 说明 |
---|---|
0. |
收束情报の表示や保存は行われません。 |
1 |
诊断メッセージが表示され,numprint 回の反復ごとに収束基準が保存されます。ここで,numprint は名前と値のペアの引数“NumPrint” の値です。 |
2 |
診断メッセージが表示され,1回の反復ごとに収束基準が保存されます。 |
例:“详细”,1
データ型:双
|单身的
CategoricalPredictors
-カテゴリカル予測子のリスト'全部'
カテゴリカル予測子のリスト。次の表のいずれかの値として指定します。
値 | 说明 |
---|---|
正の数量のベクトル | ベクトルの各エントリは,カテゴリカル変数が含まれている予测子データの列に対応するインデックス値です。インデックス値の范囲は1〜
|
逻辑ベクトル |
|
文字行列 | 行列の各行は予測子変数の名前です。名前はPredictorNames のエントリに一致しなくてはなりません。文字行列の各行が同じ長さになるように、名前を余分な空白で埋めてください。 |
文字ベクトルの细胞配列または字符串配列 | 配列の各要素はは子位数の名前。名称はPredictorNames のエントリに一致しなくてはなりません。 |
'全部' |
すべての予測子がカテゴリカルです。 |
既定では,予測子データがテーブル(资源描述
)内にある场合,fitrsvm
は,その源が逻辑ベクトル,分类ベクトル,文章配列,字符串配列または文ベクトルベクトル细胞配列配列いずれかであるであるに,数码を分类であると见ます。X
)である場合,fitrsvm
はすべての予測子が連続的であると見なします。他の予測子をカテゴリカル予測子として指定するには,名前と値の引数'patericalpricictors'
を使用してそれらを指定します。
特价されたカテゴリカルカテゴリカル子に対して,fitrsvm
はカテゴリカル変数に順序が設定されていないか順序が設定されているかに応じて,2つの異なる方式を使用してダミー変数を作成します。順序付けのないカテゴリカル変数の場合,fitrsvm
は,そのカテゴリカルカテゴリカル数のレベルレベルについてについてについてについてダミーダミーををし顺序さされたたカテゴリカルカテゴリカルのの合数fitrsvm
は,カテゴリの数よりも1つ少ないダミー変数を作成します。詳細については,ダミー変数の自動作成を参照してください。
例:'pationoricalpricictors','全部'
データ型:单身的
|双
|逻辑
|字符
|字符串
|细胞
PredictorNames
-予测子数量名予测子数量名称。一流名称の弦串配列または一意な字の细胞PredictorNames
の机械は,学校データデータ提供方法によってによってます。
X
とy
を指定した場合,PredictorNames
を使用してX
内の予测子変数に名前を割り当てることができます。
PredictorNames
内の名前の順序は,X
の列の順序に一致しなければなりません。つまり,PredictorNames {1}
はX (: 1)
の名前,PredictorNames {2}
はX (:, 2)
の名前であり,他も同様です。また,大小(X, 2)
とnumel(predictornames)
は等しくなければなりません。
既定ではPredictorNames
は{'x1','x2',...}
です。
资源描述
を指定する場合,PredictorNames
を使用して学習に使用する予測子変数を選択できます。つまり,fitrsvm
は,学習中にPredictorNames
の予測子変数と応答変数のみを使用します。
PredictorNames
はtbl.properties.variablenames.
のサブセットでなければならず,応答変数の名前を含めることはできません。
既定では,すべての予测子参数の名前がPredictorNames
に格式さされ。
'predictornames'
と公式
の両方ではなく,いずれか一方を使用して学習用の予測子を指定することをお勧めします。
例:'predictornames',{'sepallength','sepalwidth','petallength','petalwidth'}
データ型:字符串
|细胞
ractoreName.
-応答数名'是'
(既定値)|文件ベクトル|字符串スカラー応答変数名。文字ベクトルまたは字符串スカラーとして指定します。
y
を指定した場合,'responsebame'
を使用して応答変数の名前を指定できます。
ResponseVarName
または公式
を指定した場合,'responsebame'
をを用品
例:'responsebame','响应'
データ型:字符
|字符串
ResponseTransform
-応答の変换'没有任何'
(既定値)|关键词応答の変換。'没有任何'
既定のの设定はかと设定设定しいずれとして设定のかと设定设定しかして设定设定'没有任何'
です。これこれ@(y)y
,つまり変換なしを表します。MATLAB関数またはユーザー定義関数の場合は、応答変換用の関数ハンドルを使用します。関数ハンドルは、ベクトル (元の応答値) を受け入れて同じサイズのベクトル (変換した応答値) を返さなければなりません。
例:myfunction = @ (y) exp (y)
をを変换してとしますますしますますしますますこのます。myfunction ResponseTransform,
を指定できます。
データ型:字符
|字符串
|function_handle.
重量
-観測値の重み(大小(X, 1), 1)
(既定値)|数量ベクトル観測値の重み。“重量”
と数値ベクトルから构成されるコンマ区切りのペアとして指定します。重量
のサイズはX
の行数とと等しくなければませませfitrsvm
は,合肥が1になるように重量
の値を正規化します。
データ型:单身的
|双
横梁
-交差検证フラグ“关闭”
(既定値)|'在'
交差検証フラグ。'横穿'
と,'在'
または“关闭”
で構成されるコンマ区切りのペアとして指定します。
'在'
を指定した場合10分割の交差検証が実施されます。
このこの交差検证のの设定をオーバーライドするに,名称とと値ののペアのCVPartition
那坚持
那KFold
那忽略
交差いずれかをを使ます。交差検证済みモデルを作物作作作作作作作者们名称と値のペアののはと値ののの。
または横梁
メソッドを使用して後からモデルの交差検証を行うことができます。
例:“CrossVal”,“上”
CVPartition
-交差検証分割[]
(既定値)|CVPartition.
分割オブジェクト交差交差分享。CVPartition.
で作成したCVPartition.
分享到。分享到は,交差検证のと,学校セットおよびタイプとのをを指定ます。
交差検证済みモデルの作物作物で指定名前と値ののはCVPartition
那坚持
那KFold
那忽略
の4つのうちのいずれかのみです。
例:CVP = CVPartition(500,'Kfold',5)
500年を使用して個の観測値に対する5分割交差検証について無作為な分割を作成するとします。この場合,“CVPartition”,本量利
を使用して交差検証済みモデルを指定できます。
坚持
-ホールドアウト検证の対象データの比率ホールドアウト検証に使用されるデータの比率。(0,1)の範囲のスカラー値として指定します。'扑腾',p
を指定した場合,以下の手順が実行されます。
p * 100
%のデータを無作為に選択して検証データとして確保し,残りのデータを使用してモデルに学習をさせる。
コンパクトな学习済みモデルをを交差検证済みモデルの训练有素的
プロパティに格納する。
交差検证済みモデルの作物作物で指定名前と値ののはCVPartition
那坚持
那KFold
那忽略
の4つのうちのいずれかのみです。
例:“坚持”,0.1
データ型:双
|单身的
KFold
-分享数码10.
(既定値)|1より大きい正の整数値交差検证済みモデルで使用する分割の数0.1より大きい正の整数値として指定します。'kfold',k
を指定した場合,以下の手順が実行されます。
データを無作為にK.
個のセットに分割する。
各セットについて,そのセットを検定データとして確保し,他のK.
- 1个のセットを使使しモデルに习习ささせる。
K.
个のコンパクトな学习习済みを,交差検证済みモデルの训练有素的
プロパティに含まれているK.
行1列の细胞ベクトルに格納する。
交差検证済みモデルの作物作物で指定名前と値ののはCVPartition
那坚持
那KFold
那忽略
の4つのうちのいずれかのみです。
例:'kfold',5
データ型:单身的
|双
忽略
-分析法の交差検証のフラグ“关闭”
(既定値)|'在'
分析法の交差検証のフラグ。'在'
または“关闭”
として指定します。“Leaveout”,“上”
を指定したた合,n个の観测値(nは,モデルのnumobservations.
プロパティで指定される,欠損観測値を除外した観測値の個数)のそれぞれについて以下の手順が実行されます。
いずれかの観測値を検証データとして確保し,他のn - 1個の観測値を使用してモデルに学習をさせる。
n個のコンパクトな学習済みモデルを,交差検証済みモデルの训练有素的
プロパティに含まれているn行1列の细胞ベクトルに格納する。
交差検证済みモデルの作物作物で指定名前と値ののはCVPartition
那坚持
那KFold
那忽略
の4つのうちのいずれかのみです。
例:“Leaveout”,“上”
deltagradienttolerance.
-勾配差分の許容誤差SMOまたはISDAで取得した上位の違反値と下位の違反値の間の勾配差分の許容誤差。'deltagrienttolerance'
と非負のスカラーから構成されるコンマ区切りのペアとして指定します。
例:“DeltaGradientTolerance”,1的军医
データ型:单身的
|双
GapTolerance
-実行可能性ギャップの許容誤差1 e - 3
(既定値)|非負のスカラーSMOまたはISDAにより取得された実実実性のギャップの许容许容'gaptolerance'
と非負のスカラーで構成されるコンマ区切りのペアとして指定します。
GapTolerance
が0.
の場合,fitrsvm
はこのパラメーターを収束のチェックに使用しません。
例:'gaptolerance',1e-4
データ型:单身的
|双
iterationlimit.
-数値最適化反復の最大回数1 e6
(既定値)|正の数数字値最适化最大大数。'iterationlimit'
と正の整数値で構成されるコンマ区切りのペアとして指定します。
最适析ルーチン正常收束ししかどうに系,学校済みのモデルが返されれれれMdl。ConvergenceInfo
に収束情報が格納されます。
例:“IterationLimit”,1 e8
データ型:双
|单身的
KKTTolerance
-kkt违反の许容误差カルーシュ·キューン·タッカー(kkt)违反の许容误差。“KKTTolerance”
と非负のスカラー値から构成されるコンマ区切りのペアとして指定します。
この名前と値のペアはは,'求解'
が'smo'
または'ISDA'
の場合のみ適用されます。
KKTTolerance
が0.
の場合,fitrsvm
はこのパラメーターを収束のチェックに使用しません。
例:'kkttolerance',1e-4
データ型:单身的
|双
ShrinkatePeriod.
-アクティブセットの縮小間の反復数0.
(既定値)|非負の整数アクティブセットの縮小間の反復回数。“ShrinkagePeriod”
と非負の整数から構成されるコンマ区切りのペアとして指定します。
'shrinkateperiod',0
を設定すると,アクティブセットは縮小されません。
例:'ShrinkatePeriod',1000
データ型:双
|单身的
OptimizeHyperparameters
-最适化するパラメーター'没有任何'
(既定値)|'汽车'
|'全部'
|使用可能パラメーター名の字符串配列または细胞配列|优化不变
オブジェクトのベクトル最最化するパラメーター。'OptimizeHyperParameters'
と次のいずれかから構成されるコンマ区切りのペアとして指定します。
'没有任何'
- 最最适を行为ません。
'汽车'
-{‘BoxConstraint’,‘KernelScale’,‘ε’}
を使用します。
'全部'
——すべての使用可能パラメーターを最適化します。
使用可能パラメーター名の字符串配列または细胞配列。
优化不变
オブジェクトのベクトル。通常はhyperparameters
の出力です。
最適化では,パラメーターを変化させることにより,fitrsvm
の交差検证损失(误差)をを小气しようしますますます。HyperparameterOptimizationOptions
を使用します。
メモ
'OptimizeHyperParameters'
の値は,他の名前と値のペアの引数を使用して設定した値より優先されます。たとえば,'OptimizeHyperParameters'
を'汽车'
に設定すると,'汽车'
の値が適用されます。
fitrsvm
では,以下のパラメーターを使用できます。
BoxConstraint
-fitrsvm
は,既定では範囲(1 e - 3, 1 e3)
の対数スケールで,正の値を探索します。
KernelScale
-fitrsvm
は,既定では範囲(1 e - 3, 1 e3)
の対数スケールで,正の値を探索します。
埃斯利昂
-fitrsvm
は,既定では範囲[1E-3,1E2] * IQR(Y)/1.349
の対数スケールで,正の値を探索します。
KernelFunction
-fitrsvm
は'高斯'
那'线性'
および'多项式'
で探索します。
PolynomialOrder
-fitrsvm
は,範囲(2、4)
の整数値を探索します。
标准化
-fitrsvm
は'真的'
と'错误的'
で探索します。
既定以外のパラメーターを設定するには,既定以外の値が含まれている优化不变
オブジェクトのベクトルを渡します。たとえば,以下のようにします。
加载carsmallparams = hyperparameters (“fitrsvm”(功率、重量),MPG);参数(1)。范围=(1的军医,1 e6);
OptimizeHyperparameters
の値として参数
を渡します。
既定では,コマンドラインに反复表示が表示され,最适化のハイパーパラメーターの个数に従ってプロットが表示されます。最适化とプロットにおける目的关数は,回帰の场合は日志(1 +交叉验证丢失),分享到の合并は误率率です。反复反复表示を制御するに,名称とと値のペアペアの“HyperparameterOptimizationOptions”
のverb
フィールドを設定します。プロットを制御するには,名前と値のペアの引数“HyperparameterOptimizationOptions”
のShowPlots
フィールドを設定します。
たとえば,SVM回帰の最适化を参照してください。
例:'OptimizeHyperParameters','auto'
HyperparameterOptimizationOptions
-最適化のオプション最適化のオプション。“HyperparameterOptimizationOptions”
と構造体から構成されるコンマ区切りのペアとして指定します。この引数を指定すると,名前と値のペアの引数OptimizeHyperparameters
の効果が変化します。この構造体のフィールドは,すべてオプションです。
フィールド名 | 値 | 既定の设定 |
---|---|---|
优化器 |
|
'Bayesopt' |
获取功能名称 |
オブジェクト関数のランタイムによって最適化が異なるので,名前に |
“expected-improvement-per-second-plus” |
maxobjectiveevaluations. |
目的关键词。 | 'Bayesopt' または“randomsearch” の结合は30. 那'gridsearch' の場合はグリッド全体 |
MaxTime |
制限時間。正の実数を指定します。制限時間の単位は, |
正 |
numgriddivivivents. |
'gridsearch' における各次元の値の個数。値は那各次元の値の個数を表す正の整数のベクトル、またはすべての次元に適用されるスカラーが可能です。カテゴリカル変数の場合、このフィールドは無視されます。 |
10. |
ShowPlots |
プロットを表示するかどうかを示す论理値。真的 の場合,最良の目的関数の値が反復回数に対してプロットされます。1つまたは2つの最適化パラメーターがあり,优化器 が'Bayesopt' であるである合,ShowPlots はパラメーターに対する目的关键词 |
真的 |
Saptintermediateresults. |
优化器 が'Bayesopt' である場合に結果を保存するかどうかを示す論理値。真的 の場合,'贝叶特遗露' という名前のワークワークスペース反复ごとに上书さこのますますますはBayesianOptimization オブジェクトです。 |
错误的 |
verb |
コマンドラインへの表示。
詳細については, |
1 |
使用指α. |
ベイズ最最化を并列するかどうかかをするするかかかを示す。并行计算工具箱X™が必要です。并列でのタイミング再现性がため,并列ベイズ最适で再现性ある结果が生成ささるとは限制ませませんについてについて,並列ベイズ最適化を参照してください。 | 错误的 |
重新分区 |
反復ごとに交差検証を再分割するかどうかを示す論理値。 分享ノイズが考虑さので,通讯は |
错误的 |
以下の3つのフィールド名は1つだけ使使使。 | ||
CVPartition |
CVPartition. によって作成されるCVPartition. オブジェクト。 |
交差検証フィールドが指定されていない場合“Kfold”,5 |
坚持 |
ホールドアウトの比率を表す範囲(0,1) のスカラー。 |
|
Kfold |
1より大きい整数。 |
例:'hyperparameteroptimizationOptions',struct('maxobjectiveevaluations',60)
データ型:塑造
MDL.
——学習済みのSVM回帰モデルRegressionSVM
モデル|RegressionPartitionedSVM
交差検証済みモデル学習済みのSVM回帰モデル。RegressionSVM
モデルまたはRegressionPartitionedSVM
交差検证済みモデルとして返さますます。
以下名前とのペアペアのののかが设定されててているいる合并,MDL.
はRegressionPartitionedSVM
交差検证済みモデルとなります。KFold
那坚持
那忽略
那横梁
またはCVPartition
。それ以外の場合,MDL.
はRegressionSVM
モデルです。
fitrsvm
は,低~中次元のデータセットをサポートします。高次元データセットの場合は,代わりにFitrinear.
を使用してください。
データセットが大规模でない限制,常に常に子を标准标准しください(标准化
を参照してください)。標準化を行うと,予測子を測定するスケールの影響を受けなくなります。
名前と値のペアの引数KFold
を使用して交差検証を行うことをお勧めします。交差検証の結果により,SVMモデルがどの程度一般化を行うかを判断します。
SVMモデルでは,サポートベクターの密度が低い方が望ましい状態です。サポートベクターの数を少なくするには,名前と値のペアの引数BoxConstraint
を大きい値に設定します。このようにすると,学習時間も長くなります。
学习时间を最适最适にするににはははれるメモリコンピューターで许容れるの缓存
を大きくします。
サポートベクターのの数が学习セット内の観测値数よりはるかに少ない考えられるられる场场“ShrinkagePeriod”
をを使してアクティブを小すると,收束收束大厦に高度化。'ShrinkatePeriod',1000
のの用をお勧めし。
回帰直線から離れている重複する観測値は,収束に影響を与えません。しかし,重複する観測値が回帰直線の近くに少しでもあると,収束が大幅に遅くなる可能性があります。収束を高速化するには,次の場合に“RemoveDuplicates”,真的
を指定します。
多数の重複する観測値がデータセットに含まれている。
利用
ただし,学院时に元のセットセットを维持ためため,fitrsvm
は複数のデータセット,つまり元のデータセットと重複する観測値を除外したデータセットを一時的に格納しなければなりません。このため,重複がほとんど含まれていないデータセットの場合に真的
を指定すると,fitrsvm
は元のデータの场合の2倍に近いメモリを消费します。
モデルに学習をさせた後で,新しいデータについて応答を予測するC / c++コードを生成できます。C / c++コードの生成にはMATLAB编码器™が必要です。详细详细について,コード生成の紹介を参照してください。
线形および非非形SVM回帰回帰の数码的定式化およびソルバーソルバーソルバーについてについてについてについてについてについてについてサポートベクターマシン回帰についてを参照してください。
南
那<未定义>
,空の文字ベクトル(''
),空の字符串(""
),および< >失踪
値は,欠損データ値を示します。fitrsvm
は,欠損応答に対応するデータ行全体を削除します。fitrsvm
は,重みを正規化するときに,欠損している予測子が1つ以上ある観測値に対応する重みを無視します。したがって,観測値のボックス制約がBoxConstraint
に等しくならない可性性がます。
fitrsvm
は,重み重みがゼロのの値を削除しし
“标准化”,真的
と“重量”
を設定した場合,fitrsvm
は対応する加重平均および加重標準偏差を使用して予測子を標準化します。つまり,fitrsvm
は以下を使用して予測子j (xj)を標準化します。
Xjk.は,予測子j(列)の観測値k(行)です。
予测カテゴリカルこれらのレベルれれなますます。
PredictorNames
プロパティには,元の予測子変数名のそれぞれについて1つずつ要素が格納されます。たとえば,3.つの予測子があり、そのうちの 1 つは 3 つのレベルがあるカテゴリカル変数であるとします。この場合、PredictorNames
ははのの子数量名称が含まれいるいる1行3列の文章ベクトルの细胞配列配列なります。
ExpandedPredictorNames
プロパティには,ダミー変数を含む予測子変数のそれぞれについて1つずつ要素が格納されます。たとえば,3.つの予測子があり、そのうちの 1 つは 3 つのレベルがあるカテゴリカル変数であるとします。この場合、ExpandedPredictorNames
は予測子変数および新しいダミー変数の名前が含まれている1行5列の文字ベクトルの细胞配列になります。
同様に,β
プロパティには,ダミー変数を含む各予測子について1つずつベータ係数が格納されます。
金宝appSupportVectors
プロパティプロパティに,ダミーダミー数を含むベクターの子の値がさされますとたとえばつの个ベクターと3つのつの子があり,そのつの子あり,そのうちの1つは3つのレベルがあるカテゴリカルカテゴリカルであるとします。このこの合,金宝appSupportVectors
は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
を設定した場合,“ロバスト学习”が実施されます。この方式では,最適化アルゴリズムが収束すると,観測値のうち100P.
%の削除が試行されます。削除された観測値は,勾配の大きいものに対応します。
克拉克,D., Z. Schreter, A. Adams。《Dystal和Backpropagation的定量比较》提交给澳大利亚神经网络会议,1996年。
[2]风扇,R.-e.,P.-h。陈和C.-J.林。“使用用于培训支持向量机的二阶信息的工作设置选择。”金宝app机械学习研究杂志,第6卷,2005年,第1889-1918页。
凯克曼V., T. -M。和M. Vogt。从大数据集训练核机的迭代单数据算法:理论与性能支持向金宝app量机:理论与应用。王力波主编,255-274。柏林:斯普林格出版社,2005年版。
[4] Lichman, M. UCI机器学习知识库[http://archive.ics.uci.edu/ml]。加州欧文:加州大学信息与计算机科学学院。
纳什、w.j.、t.l.塞勒斯、s.r.塔尔博特、a.j.考索恩和w.b.福特。鲍鱼的种群生物学(石决明物种)的塔斯马尼亚岛。I.黑唇鲍鱼(H. Rubra.)从北海岸和巴斯海峡群岛。”海洋渔业司,技术报告第48号,1994年。
[6] Waugh,S。“扩展和基准级联相关性:级联相关架构的扩展和前馈监督人工神经网络的基准。”塔斯马尼亚大学计算机科学论文,1995。
ハイハイパーパラメーターの最适最适最适を行するには,关关数を呼び出すとき名称前値値幂'hyperparameteroptimizationoptions',struct('deverpecallellel',true)
を指定します。
-並列ベイズ最適化を参照してください。
并列计算の全般的ななについては,自動並列サポートを使用したMATLAB関数の実行(并行计算工具箱)を参照してください。
次のMATLABコマンドに対応するリンクがクリックされました。
コマンドをMATLABコマンドウィンドウに入力して実行してください。WebブラウザーはMATLABコマンドをサポートしていません。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。