机器学习基础:有监督学习,无监督学习与强化学习
原文:https://medium.com/@machadogj/ml-basics-supervised-unsupervised-and-reinforcement-learning-b18108487c5a
我一直在关注机器学习领域。与希望将ML添加到产品中的创始人讨论,我发现现在机器学习已经成为越来越多反复讨论的话题。这其中一个似乎很常见的问题是有监督算法和无监督算法之间的区别。 很明显,大多数非技术人员不知道这些名字,但是一般他们会倾向于混淆这些类型的问题/算法。
另一个容易混淆的概念是强化学习算法,所以我想对这些概念做个简单的解释,给那些(还)没有完全掌握机器学习的人。
有监督学习 Supervised Learning Algorithms
我将从有监督学习开始,因为我相信这是最容易理解的。在有监督学习的算法中,您可能不知道正在处理的数据的内部关系,但是您非常清楚哪个参数是你想从模型中计算的输出。例如:
“我需要能够预测何时用户将取消订阅”。
注意到您的模型输出已经定义好:“是否用户X将取消他/她的订阅”。你可能还不知道的是,如何找到哪些用户将取消。因此,您可以使用现有的一组数据来“训练”一个模型,以预测您的用户的是否取消订阅的这一方面。模型的训练通常使用一部分数据来“学习”,另一部分数据用于验证和测量模型的准确性。
例如,如果您有10,000个用户的使用历史记录。这些记录中可能有5,000个用户取消,同时有5000个用户仍在使用你的产品。因此,您可以做的是取出4500名取消订阅的用户数据,4,500名仍在使用该产品的用户数据(总共9000名用户的数据)。使用这些数据训练你的模型,让它“看到”哪些用户取消,哪些用户正在使用。模型训练完成后,就可以开始预测了,现在为模型提供剩下的1000个用户的数据,你不能让模型看到剩下的这一千个人中哪个取消了,哪个没有取消。模型将尽可能正确的预测用户的订阅状态,然后把预测值与真实值进行比较。如果在1,000个用户中,该模型正确地预测了891个,则该模型具有89.1%的准确度。
无监督学习 Unsupervised Learning Algorithms
使用无监督的算法,你还不知道你想从模型中取得什么。您可能会怀疑你所拥有的数据之间存在某种关系或相关性,但数据太复杂,无法猜测。因此,在这种情况下,您会将数据标准化为一种有意义的形式用于比较,然后让模型发挥作用,并试图找出其中的一些关系。这些模型的特点之一是,虽然模型可以提供不同的方法来分类或排序数据,但是您需要对这些模型进行进一步的研究以揭示有用的东西。你可以把它看作是使用计算出来的内部关联的信息来扩充你的数据,但是如何理解这些新的信息取决于你。
例如,在使用无监督算法处理与你产品的所有用户有关的所有数据之后,可能会得到将用户分成两组的方法。在检查和比较这两个组后,你可能会意识到A组在一个地理位置,而B组在另一个地理位置。你是否对数据进行这种特定的细分,都取决于您,如果不想这样细分,那么你可以删除或重新排列关于用户位置的数据,以强制执行不同的细分。
强化学习 Reinforcement Learning
我在这篇文章中加入强化学习的原因是,有人可能会认为“监督”和“无监督”包含了每一种ML算法,实际上并不是这样。有一些算法不是有监督学习也不是无监督学习,比如强化学习。
强化学习的领域主要研究试图动态训练模型以对模型进行改进的问题和技术。为了做到这一点,强化学习需要能够“感知”信号,自动决定一个行动,然后比较该行动的结果与定义的“奖励”之前的差距。 强化学习试图弄清楚如何最大限度地提高这些奖励,但它通过模型的学习本身来实现(没有直接的指示)。
强化学习没有监督,因为它不严格依赖“监督的”(或标记的)数据(训练集)。它实际上依赖于能够监视所采取的行动的反馈,并衡量定义出来的“奖励”。但是,这也不是无监督的学习,因为我们“学习者”进行建模的时候,我们就知道了我们想要什么样的奖励(输出明确)。

浙公网安备 33010602011771号