Optimization 基于机器学习的功能参数标定

Optimization 基于机器学习的功能参数标定,optimization,calibration,hyperparameters,Optimization,Calibration,Hyperparameters,我有一个函数F[bool]=F(数据集,tresh1,tresh2), 它将输入一个数据集和一些参数,例如,示例2 treshold值-tresh1 e tresh2-,并返回一个布尔值:如果数据集为“良好”,则返回1,否则返回0。答案当然取决于tresh1和tresh2的值 假设我有100个可用的数据集,我知道哪些是好的,哪些不是。我想“训练”我的函数F,也就是说,教它一些值tresh1_uu和tresh2_u,这样F(DATASET,tresh1_uu,tresh2_u)对所有(或大部分)数

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

假设我有100个可用的数据集,我知道哪些是好的,哪些不是。我想“训练”我的函数F,也就是说,教它一些值tresh1_uu和tresh2_u,这样F(DATASET,tresh1_uu,tresh2_u)对所有(或大部分)数据集返回“true”,对其他wize返回“good”和“false”

我希望F(DATASET_u1,tresh1,tresh2),其中DATASET_2是一个新的(不同于之前的100),如果DATASET_2真的“好”,则返回true

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


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

你想做的通常被称为

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


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

谢谢!一个相关的关键概念是SVD(支持向量机),非常有趣。不,SVM不是一个相关的关键概念,而是一个用例。支持向量机(不是支持向量机)有多个参数需要选择好的性能。。。奇异值分解(SVD)是另一回事。