模糊逻辑真的能改进简单的机器学习算法吗?

Posted

技术标签:

【中文标题】模糊逻辑真的能改进简单的机器学习算法吗?【英文标题】:Does fuzzy logic really improve simple machine learning algorithms? 【发布时间】:2011-05-22 23:46:03 【问题描述】:

我正在阅读有关模糊逻辑的内容,但我只是看不出它在大多数情况下如何改进机器学习算法(它似乎相对经常被应用)。

以k个最近邻为例。如果你有一堆像color: [red,blue,green,orange], temperature: [real number], shape: [round, square, triangle] 这样的属性,除了实数属性(如果我错了,请纠正我),你不能真正模糊任何这些属性,我不明白这可以如何改进不只是把东西拼在一起。

如何使用机器模糊逻辑来改进机器学习?大多数情况下,您在大多数网站上都能找到的玩具示例似乎并不完全适用。

【问题讨论】:

这是一个语义问题。如果您不是在谈论它们的文字 RGB 值,那么红色/蓝色/绿色/橙色可能是“模糊”的术语。圆形/方形/三角形等术语也是如此。 【参考方案1】:

当变量具有自然的形状解释时,建议使用模糊逻辑。例如,[非常少、少、多、非常多] 对值有很好的重叠梯形解释。

颜色之类的变量可能不会。模糊变量表示成员的程度,这就是它们变得有用的时候。

关于机器学习,这取决于您要在算法的哪个阶段应用模糊逻辑。在我看来,在找到集群之后(使用传统的学习技术)来确定每个集群上搜索空间中某个点的隶属度会更好,但这并不能提高每次看到的学习,而是在之后的分类学习。

【讨论】:

【参考方案2】:

[round, square, triangle] 大多是理想的范畴,主要存在于几何中(即理论上)。在现实世界中,某些形状可能几乎是正方形或或多或少是圆形(圆形)。红色有许多细微差别,有些颜色更接近其他颜色(例如,请一位女士解释绿松石)。因此,抽象类别和一些特定值也可用作参考,在现实世界中,对象或值不一定等于这些对象或值。

模糊成员资格允许您衡量某些特定对象与某个理想的距离。使用这种度量可以避免“不,它不是圆形的”(这可能导致信息丢失),并利用给定对象是(不是)圆形的度量。

【讨论】:

【参考方案3】:

在我看来,模糊逻辑对于任何事情都不是一种实际可行的方法,除非您正在构建一个目的构建的模糊控制器或一些基于规则的结构,例如合规性/策略。虽然,模糊意味着处理介于 0 和 1 之间的所有内容。但是,当您处理需要在 3 维空间中应用模糊逻辑方面的更复杂的问题时,我发现它有点缺陷。您仍然可以处理多变量,而无需查看模糊逻辑。不幸的是,对于我研究过模糊逻辑的我来说,我发现自己不同意在大维空间中的模糊集合中所采用的原则,这似乎是不可行的、不切实际的,而且在逻辑上也不是很合理。您将在模糊集解决方案中应用的自然语言库也将是非常临时的,究竟是什么 [非常、很少、很多] 这就是您在应用程序中定义的全部内容。 在很多机器学习方面,您会发现您甚至不必将自然语言基础构建到您的模型中。事实上,您会发现无需将模糊逻辑应用到模型的任何方面即可获得更好的结果。

【讨论】:

【参考方案4】:

强行添加模糊性会让你有点恼火。如果你有一个“边数”属性而不是“形状”属性,它会进一步分为“少”、“中”、“多”和“不可数”。考虑到适当的隶属函数,该正方形可能是“较少”和“中等”的一部分。代替 “color”属性,如果你有“red”属性,那么使用 RGB 代码,就可以创建一个隶属函数。因此,正如我在数据挖掘方面的经验所说,每种方法都可以应用于每个数据集,什么有效,什么有效。

【讨论】:

【参考方案5】:

难道不能将离散集合转换为连续集合并获得与模糊性相同的效果,同时能够使用概率论的所有技术吗?

例如大小 ['small', 'medium', 'big'] ==> [0,1]

【讨论】:

【参考方案6】:

我不清楚您在给出的示例中要完成什么(形状、颜色等)。模糊逻辑已成功用于机器学习,但我个人认为它可能更常用于构建策略。与其继续讨论,我建议您参考我在“PC AI”杂志 2002 年 3 月 / 4 月号上发表的一篇文章,希望能阐明这个想法:

Putting Fuzzy Logic to Work: An Introduction to Fuzzy Rules

【讨论】:

以上是关于模糊逻辑真的能改进简单的机器学习算法吗?的主要内容,如果未能解决你的问题,请参考以下文章

机器学习常见算法优缺点之逻辑回归

实用的机器学习框架“避坑”方案

机器学习故事汇-逻辑回归算法

机器学习:逻辑回归(OvR 与 OVO)

机器学习算法总结

人工智能,神经网络算法,机器学习,深度学习三者关系