通过机器学习进行功能参数标定
Function parameter calibrations by means machine learning
我有一个函数 F,[bool] = F(DATASET, tresh1, tresh2),
输入数据集和一些参数,例如 2 阈值 -tresh1 e tresh2-,并且 returns 是一个布尔值:如果数据集是 "good",则为 1,否则为 0。答案当然取决于值 tresh1 e tresh2。
假设我有 100 个可用的数据集,我知道哪些是好的,哪些不是。我想 "train" 我的函数 F,即教它几个值 tresh1_ 和 tresh2_ 这样 F(DATASET, tresh1_, tresh2_) returns "true" 对于所有(或大部分) ) 数据集 "good" 和 "false" 否则。
我希望 F(DATASET_, tresh1_, tresh2_),其中 DATASET_ 是一个新的(不同于之前的 100),return 如果 DATASET_ 真的是 "good",我是真的 "good"。
我可以将该问题视为聚类问题:对于训练集中的每个数据集,我选择随机的 tresh1 和 tresh2,并标记哪些值确保 F return 的正确值,哪些不是。因此,我 select 一个 tresh1 和 tresh2 值为 "good" 的区域。
这是一个好方法吗?还有更好的吗?
总的来说,在我看来是"parameters calibration problem"。是否有一些经典的技术可以解决?
你想做的事情俗称
Hyperparameter optimization
有关详细信息,请参阅维基百科文章。常用方法是执行 网格搜索 ,除非您可以计算函数 F.
的 导数
这是一种搜索方式;它通常用于机器学习以优化性能,但它本身并不是 "machine learning" 算法。
我有一个函数 F,[bool] = F(DATASET, tresh1, tresh2), 输入数据集和一些参数,例如 2 阈值 -tresh1 e tresh2-,并且 returns 是一个布尔值:如果数据集是 "good",则为 1,否则为 0。答案当然取决于值 tresh1 e tresh2。
假设我有 100 个可用的数据集,我知道哪些是好的,哪些不是。我想 "train" 我的函数 F,即教它几个值 tresh1_ 和 tresh2_ 这样 F(DATASET, tresh1_, tresh2_) returns "true" 对于所有(或大部分) ) 数据集 "good" 和 "false" 否则。
我希望 F(DATASET_, tresh1_, tresh2_),其中 DATASET_ 是一个新的(不同于之前的 100),return 如果 DATASET_ 真的是 "good",我是真的 "good"。
我可以将该问题视为聚类问题:对于训练集中的每个数据集,我选择随机的 tresh1 和 tresh2,并标记哪些值确保 F return 的正确值,哪些不是。因此,我 select 一个 tresh1 和 tresh2 值为 "good" 的区域。 这是一个好方法吗?还有更好的吗?
总的来说,在我看来是"parameters calibration problem"。是否有一些经典的技术可以解决?
你想做的事情俗称
Hyperparameter optimization
有关详细信息,请参阅维基百科文章。常用方法是执行 网格搜索 ,除非您可以计算函数 F.
的 导数这是一种搜索方式;它通常用于机器学习以优化性能,但它本身并不是 "machine learning" 算法。