[具身智能-257]:监督式学习、无监督式学习、半监督式学习、强化学习的概念、差别、代码实现的原理
这四种学习范式其实就是教机器“如何聪明”的四种不同方法。我们可以把它们想象成四种不同的“教育模式”每种模式下机器面临的“考题”和“老师”都不一样。 监督学习有老师手把手教核心概念想象一下你正在教一个小孩子认动物。你拿着一张卡片上面画着一只猫然后告诉他“这是猫。”接着又拿出一张狗的卡片说“这是狗。”监督学习就是这个模式。我们给机器提供大量的“输入数据”和对应的“正确答案”也叫标签。机器的任务就是通过学习这些“题目”和“答案”找到一个规律以便当它看到一张新的、从未见过的图片时能准确地告诉你这是猫还是狗。数据特点数据是带标签的即“输入-输出”对。典型任务分类预测结果是某个类别比如垃圾邮件识别是/否、图像识别猫/狗/人。回归预测结果是一个具体数值比如根据房屋面积、地段预测房价。 无监督学习自己探索发现规律核心概念现在你把一堆混杂的乐高积木倒在地上没有说明书也没有人告诉你该怎么拼。你只能自己观察发现有些积木是红色的有些是蓝色的有些是长条形的有些是方形的。于是你很自然地把它们分成了几堆。无监督学习就是让机器自己去海量、没有标签的数据里“探索”和“发现”隐藏的结构或模式。没有老师告诉它对错它需要自己总结规律。数据特点数据没有标签只有输入没有答案。典型任务聚类把相似的东西归为一类。比如电商平台根据用户的购买记录自动将用户分成“高消费人群”、“价格敏感人群”等。降维把复杂的数据简化保留核心信息。比如把一个包含上百个特征的用户数据压缩成两三个核心特征方便可视化分析。 半监督学习老师只教一点剩下靠自学核心概念这就像是学校里的“小组学习”。老师只给小组长少量有标签数据讲解了几个例题然后让小组长带领整个小组大量无标签数据一起学习。小组长会把自己学到的知识教给组员组员们再通过互相讨论和练习来巩固。半监督学习是监督和无监督的结合。在现实中获取大量有标签的数据非常昂贵和耗时比如需要专业医生标注医学影像但获取无标签数据却很容易。半监督学习就是利用少量有标签数据和大量无标签数据一起来训练模型以较低的成本达到很好的效果。数据特点少量带标签数据 大量无标签数据。典型任务常用于标注成本高的场景如医学图像分析、文本分类等。 强化学习在试错中“打游戏”升级核心概念想象一个婴儿学走路没有人会一步步教他每块肌肉该怎么用力。他通过不断地尝试——站起来然后摔倒得到惩罚再调整姿势又站起来这次站稳了几秒得到奖励。通过这种“试错-反馈”的循环他最终学会了走路。强化学习就是这样。一个“智能体”Agent在一个“环境”中通过不断尝试各种“动作”并根据环境给出的“奖励”或“惩罚”来调整自己的“策略”目标是学会一套能让自己获得长期累积奖励最大化的行为模式。数据特点没有固定的数据集数据是智能体与环境交互产生的。反馈是延迟的奖励信号。典型任务适用于动态决策问题比如游戏AIAlphaGo、机器人控制、自动驾驶。 四种范式的对比表格学习范式数据需求学习方式典型应用监督学习大量带标签数据学习“输入”到“输出”的映射图像分类、房价预测、垃圾邮件过滤无监督学习无标签数据发现数据内在的结构和模式客户分群、异常检测、数据降维半监督学习少量标签大量无标签结合两者利用无标签数据提升性能医学影像诊断、网页分类强化学习与环境交互奖励信号通过试错学习最优决策策略游戏AI、机器人控制、算法交易 代码实现的通俗原理这里用最简单的概念来解释它们是如何“写”出来的。监督学习原理核心是最小化预测误差。准备数据准备好一堆“问题”X和对应的“标准答案”Y。模型猜测把“问题”X输入模型模型会给出一个“猜测答案”Y_pred。计算误差用一个损失函数Loss Function来衡量“猜测答案”Y_pred和“标准答案”Y之间的差距Error。修正模型使用梯度下降等优化算法根据误差来调整模型内部的参数让下一次的猜测更准一点。循环迭代重复步骤2-4成千上万次直到模型的误差变得非常小。无监督学习原理以聚类为例核心是衡量相似度。准备数据只有一堆“问题”X没有答案。随机初始化随机设定几个“中心点”。归类计算每个数据点到这几个“中心点”的距离把它归到最近的那个中心点所在的“簇”里。移动中心根据新分好的“簇”重新计算并移动“中心点”的位置到簇的中心。循环迭代重复步骤3-4直到“中心点”的位置不再变化聚类就完成了。半监督学习原理以自训练为例核心是“以少带多”。准备数据少量带标签数据X_labeled, Y_labeled和大量无标签数据X_unlabeled。初步训练先用少量带标签数据训练一个初步的模型。打伪标签用这个初步模型去预测大量无标签数据把那些模型“非常有信心”的预测结果当作“伪标签”Pseudo-label。再次训练把原始带标签数据和新生成的“伪标签”数据合并重新训练模型。循环迭代重复步骤3-4模型性能会越来越强。强化学习原理核心是最大化累积奖励。定义环境创建一个环境比如一个迷宫或一个游戏。智能体观察智能体观察当前环境的“状态”State。采取行动根据当前“策略”Policy智能体选择一个“动作”Action。接收反馈环境根据动作给出一个“奖励”Reward并进入新的“状态”。更新策略智能体根据这个奖励是正反馈还是负反馈来更新自己的“策略”目标是让未来的总奖励更高。循环迭代重复步骤2-5智能体在不断的试错中变得越来越“聪明”。