"GaussianProcess" (机器学习方法)
"GaussianProcess" (机器学习方法)
- Predict 的方法.
- 通过在训练数据上对函数进行高斯过程调节来推断值.
详细信息与子选项
- "GaussianProcess" 方法假定被模拟的函数是从高斯过程中产生. 高斯过程由其协方差函数定义(也被称之为内核). 在培训阶段,该方法会估计此协方差函数的参数. 然后根据培训数据 Gaussian 过程被调整并使用贝叶斯推理推断新例子的值.
- 可以给出以下选项:
-
AssumeDeterministic False 函数是否被假设为确定的 "CovarianceType" Automatic 使用的协方差类型 "EstimationMethod" "MaximumPosterior" 推断值得方法 "OptimizationMethod" Automatic 估计参数的优化方法 - "CovarianceType" 的可能设置包括:
-
"SquaredExponential" 指数内核 "HammingDistance" 标称变量的指数内核 "Periodic" 周期内核 "RationalQuadratic" 有理二次内核 "Linear" 线性内核 "Matern5/2" 指数为 5/2 的 Matérn 内核 "Matern3/2" 指数为 3/2 的 Matérn 内核 "Composite" 以前内核的组成 assoc 为每个特征类型指定不同的内核 - 在 Method{"GaussianProcess", "CovarianceType"assoc}中,assoc 需要是 <|"Numerical" kernel1,"Nominal"kernel2|> 形式.
- "EstimationMethod" 的可能设置包括:
-
"MaximumPosterior" 最大后验分布 "MaximumLikelihood" 最大似然性 "MeanPosterior" 后验分布平均 - "OptimizationMethod" 的可能设置包括:
-
"SimulatedAnnealing" 使用模拟退火找到最小 "FindMinimum" 使用 FindMinimum 找到最小
范例
打开所有单元 关闭所有单元基本范例 (2)
p = Predict[{1, 2, 3, 4} -> {.3, .4, .6, 9}, Method -> "GaussianProcess"]Information[p]p[1.3]data = {-1.2 -> 1.2, 1.4 -> 1.4, 3.1 -> 1.8, 4.5 -> 1.6};p = Predict[data, Method -> "GaussianProcess"]Show[Plot[{p[x],
p[x] + StandardDeviation[p[x, "Distribution"]], p[x] - StandardDeviation[p[x, "Distribution"]]},
{x, -2, 6},
PlotStyle -> {Blue, Gray, Gray},
Filling -> {2 -> {3}},
Exclusions -> False,
PerformanceGoal -> "Speed", PlotLegends -> {"Prediction", "Confidence Interval"}], ListPlot[List@@@data, PlotStyle -> Red, PlotLegends -> {"Data"}]]选项 (4)
AssumeDeterministic (2)
c = Predict[{1, 2, 3, 4} -> {.3, .4, .6, 9}, Method -> {"GaussianProcess", AssumeDeterministic -> True}]trainingset = Table[x -> x ^ 2 + RandomVariate[NormalDistribution[0, 3]], {x, -3, 3, .5}];
ListPlot[List@@@trainingset]p1 = Predict[trainingset, Method -> {"GaussianProcess", AssumeDeterministic -> False, "OptimizationMethod" -> "SimulatedAnnealing"}]p2 = Predict[trainingset, Method -> {"GaussianProcess", AssumeDeterministic -> True, "OptimizationMethod" -> "SimulatedAnnealing"}]Show[ListPlot[List@@@trainingset], Plot[{p1[x], p2[x]}, {x, -3, 3}]]"CovarianceType" (2)
c = Predict[{1, 2, 3, 4} -> {.3, .4, .6, 9}, Method -> {"GaussianProcess", "CovarianceType" -> "Periodic" + "SquaredExponential"}]trainingset = Table[x -> Sin[x] + RandomReal[1], {x, -10, 10, .2}];
ListPlot[List@@@trainingset]{p1, p2} = Predict[trainingset, Method -> {"GaussianProcess", "CovarianceType" -> #}]& /@ {"SquaredExponential", "Periodic"};p3 = Predict[trainingset, Method -> {"GaussianProcess", "CovarianceType" -> "Composite"}]p3[[1, "Model", "TrainedGPModel", "CovarianceFunction", Key[ Method]]]Information[p3, "InternalParameters"]Show[ListPlot[List@@@trainingset], Plot[{p1[x], p2[x], p3[x]}, {x, -10, 10}]]