【问题标题】:Function parameter calibrations by means machine learning通过机器学习进行功能参数校准
【发布时间】:2015-09-15 15:32:46
【问题描述】:

我有一个函数 F,[bool] = F(DATASET, tresh1, tresh2), 它接受输入一个 DATASET 和一些参数,例如 2 阈值 -tresh1 e tresh2-,并返回一个布尔值:如果 DATASET 为“好”,则返回 1,否则返回 0。答案当然取决于值 tresh1 e tresh2。

假设我有 100 个可用的数据集,并且我知道哪些是好的,哪些不是。我想“训练”我的函数 F,即教它几个值 tresh1_ 和 tresh2_ 使得 F(DATASET, tresh1_, tresh2_) 为所有(或大部分)数据集“好”和“假”返回“真”否则。

如果 DATASET_ 真的“好”,我希望 F(DATASET_, tresh1_, tresh2_),其中 DATASET_ 是一个新的(不同于之前的 100),返回 true。

我可以将此问题视为一个聚类问题:对于训练集中的每个 DATASET,我选择随机 tresh1 和 tresh2,并标记哪些值确保 F 返回正确的值,哪些不返回。因此,我选择了一个 tresh1 和 tresh2 值“好”的区域。 这是一个好方法吗?有更好的吗?

总的来说,在我看来,这是一个“参数校准问题”。是否存在一些经典的技术来解决它?

【问题讨论】:

    标签: optimization calibration hyperparameters


    【解决方案1】:

    你想做的事就是俗称的

    Hyperparameter optimization

    有关详细信息,请参阅 Wikipedia 文章。常用方法是执行网格搜索,除非您可以计算函数 F 的导数

    这是一种搜索方法;在机器学习中常用来优化性能,但它本身并不是“机器学习”算法。

    【讨论】:

    • 谢谢!一个相关的关键概念是 SVD(支持向量机),非常有趣。
    • 不,SVM 不是一个相关的关键概念,而是一个用例。 SVM(不是 SVD)有多个参数需要选择以获得良好的性能...... SVD(奇异值分解)是另一回事。
    猜你喜欢
    • 2014-07-04
    • 1970-01-01
    • 2019-03-05
    • 2019-11-14
    • 1970-01-01
    • 1970-01-01
    • 2018-11-30
    • 2014-08-27
    • 2010-12-14
    相关资源
    最近更新 更多