什么让一个任务对机器学习来说变得困难或“复杂”?关于模式的复杂性,而不是计算上的

像许多人一样,我对机器学习很感兴趣。我已经上过这方面的课程,并且阅读了一些论文。我想了解是什么让一个问题在机器学习中难以解决。理想情况下,我想了解如何量化或表达一个问题在机器学习中的复杂性。

显然,如果一个模式非常嘈杂,人们可以观察不同算法的更新技术,并发现某些特定的机器学习算法由于嘈杂的标签而错误地更新到错误的方向,但这是一种非常定性的论证,而不是某种分析性/可量化的推理。

那么,如何量化一个问题或模式的复杂性,以反映机器学习算法面临的难度呢?也许是来自信息论的某些东西,我真的没有头绪。


回答:

在机器学习理论中,通常使用域的VC维度来分类“学习它的难度”。

如果存在一组k个样本,无论它们的标签如何,所建议的模型都能“粉碎它们”(使用模型的某种配置完美地分割它们),则该域被认为具有VC维度k

维基百科页面以二维空间为域,以线性分隔器为模型提供了示例:
示例1示例2示例3

上述尝试展示了在二维空间中存在一组点,可以调整线性分隔器来分割它们,无论标签是什么。然而,对于二维空间中的每一个4个点,总有一些标签分配使得线性分隔器无法分割它们:
反例

因此,二维空间与线性分隔器的VC维度为3。

此外,如果一个域和一个模型的VC维度是无穷大,则认为该问题是不可学习的

如果你有足够强的数学背景,并且对机器学习理论感兴趣,你可以尝试关注Amnon Shashua关于PAC的讲座

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注