为什么支持向量回归万博1manbetx(fitrsvm)优化导致表现不佳?

15的观点(30天)
我工作在一个数值预测问题(负荷预测)。我有一个预测矩阵由大约20数值变量(X_train:包括历史滞后、日历信息、温度等)和一个输出向量的/目标负荷值(Load_train)。数据由10.000分左右
我下面的文档支持向量回归后,尤其是部分“优化支持向量机的回归”。万博1manbetx https://matlabacademy.mathworks.com/R2016b/portal.html?course=mlml = 4课= 7章全国= 3
然而详尽的hyperparameter优化后我得到糟糕的预测性能,尤其是相比,更简单的SVR使用高斯内核,内核规模的汽车和所有其他参数设置成默认没有任何优化。我做标准化培训前的输入和输出矩阵。请查收以下行两个培训过程:
“简单SVR”
mdl_simple = fitrsvm (X_train Load_train,“标准化”,真的,
“KernelFunction”,“高斯”,“KernelScale”,“汽车”);
“优化SVR”
Mdl_optimized = fitrsvm (X, Y,“标准化”,“真正的”,“OptimizeHyperparameters”,“汽车”,
“HyperparameterOptimizationOptions”结构(“AcquisitionFunctionName”,
“expected-improvement-plus”))
会有人有什么建议对于优化过程或任何想法为什么优化SVR可能比简单的SVR给予更糟糕的结果吗?
致以最亲切的问候
Baran
2的评论
antlhem
antlhem 2021年5月29日
可以看看我的问题吗?https://uk.mathworks.com/matlabcentral/answers/842800-why-matlab-svr-is-not-working-for-exponential-data-and-works-well-with-data-that-fluctuates?s_tid=prof_contriblnk

登录置评。

接受的答案

epic
epic 2017年1月8日
编辑:沃尔特·罗伯森 2017年1月8日
也许是因为优化SVR使用默认的内核函数,这是“线性”。如果你包括“KernelFunction”、“高斯”第二个调用fitrsvm,当你在第一,它可能表现的更好。
其次,你可以试着运行优化再通过添加字段“MaxObjectiveEvaluations”你的结构:
Mdl_optimized = fitrsvm (X, Y,“KernelFunction”,“高斯”,“标准化”,真的,“OptimizeHyperparameters”,“汽车”,“HyperparameterOptimizationOptions”、结构(‘AcquisitionFunctionName’,‘expected-improvement-plus’,‘MaxObjectiveEvaluations’, 60))
2的评论
epic
epic 2017年3月23日
我刚注意到你的回复。如果你有时间你可以试一试
Mdl_optimized = fitrsvm (X, Y,“OptimizeHyperparameters”,“所有”,“HyperparameterOptimizationOptions”结构(“MaxObjectiveEvaluations”正,“SaveIntermediateResults”,真正的))
这个优化6 hyperparameters直到你按下control - c,此时你会发现一个对象叫BayesoptResults工作区。最好的hyperparameters得到使用
bestPoint (BayesoptResults)
你将需要通过一个新的手动调用fitrsvm。

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!