安妮 唐旭 编译自 KDnuggets 量子位出品 | 公众号 QbitAI 机器学习算法已经被广泛应用于自动驾驶各种解决方案,电控单元中的传感器数据处理大大提高了机器学习的利用率,也有一些潜在的应用,比如利用不同外部和内部的传感器的数据融合(如激光雷达、雷达、摄像头或物联网),评估驾驶员状况或为驾驶场景分类等。 在KDnuggets网站最近发表的一篇文章中,作者Savaram Ravindra将自动驾驶中机器学习算法主要分为四类,即决策矩阵算法、聚类算法、模式识别算法和回归算法。 我们跟他一起看看,这些算法都是怎样应用的。 算法概览 我们先设想这样一个自动驾驶场景——汽车的信息娱乐系统接收传感器数据融合系统的信息,如果系统发现司机身体有恙,会指导无人车开往附近的医院。 这项应用以机器学习为基础,直播,能识别司机的语音、行为,进行语言翻译等。所有这些算法可以分为两类:监督学习和无监督学习,二者的区别在它们学习的方法。 监督学习算法利用训练数据集学习,并会坚持学到达到所要求的置信度(误差的最小概率)。监督学习算法可分为回归、分类和异常检测或维度缩减问题。 无监督学习算法会在可用数据中获取价值。这意味着算法能找到数据的内部联系、找到模式,或者根据数据间的相似程度将数据集划分出子集。无监督算法可以被粗略分类为关联规则学习和聚类。 强化学习算法是另一类机器学习算法,这种学习方法介于监督学习和无监督学习之间。监督学习会给每个训练样例目标标签,无监督学习从来不会设立标签——而强化学习就是它们的平衡点,它有时间延迟的稀疏标签——也就是未来的奖励。每个agent会根据环境奖励学习自身行为。了解算法的优点和局限性,并开发高效的学习算法是强化学习的目标。 在自动驾驶汽车上,机器学习算法的主要任务之一是持续感应周围环境,并预测可能出现的变化。 我们不妨分成四个子任务: 检测对象 物体识别及分类 物体定位 运动预测 机器学习算法也可以被宽松地分为四类: 决策矩阵算法 聚类算法 模式识别算法 回归算法 机器学习算法和任务分类并不是一一对应的,比如说,回归算法既可以用于物体定位,也可以用于对象检测和运动预测。 决策矩阵算法 决策矩阵算法能系统分析、识别和评估一组信息集和值之间关系的表现,这些算法主要用户决策。车辆的制动或转向是有依据的,它依赖算法对下一个运动的物体的识别、分类、预测的置信水平。决策矩阵算法是由独立训练的各种决策模型组合起来的模型,某种程度上说,这些预测组合在一起构成整体的预测,同时降低决策的错误率。AdaBoosting是最常用的算法。 AdaBoost Adaptive Boosting算法也可以简称为AdaBoost,它是多种学习算法的结合,可应用于回归和分类问题。与其他机器学习算法相比,它克服了过拟合问题,并且对异常值和噪声数据非常敏感。AdaBoost需要经过多次迭代才能创造出强学习器,它具有自适应性。学习器将重点关注被分类错误的样本,最后再通过加权将弱学习器组合成强学习器。 AdaBoost帮助弱阈值分类器提升为强分类器。上面的图像描绘了如何在一个可以理解性代码的单个文件中实现AdaBoost算法。该函数包含一个弱分类器和boosting组件。 弱分类器尝试在数据维数中找到理想阈值,并将数据分为2类。分类器迭代时调用数据,并在每个分类步骤后,改变分类样本的权重。 因此,它实际创建了级联的弱分类器,但性能像强分类器一样好。 聚类算法 有时,系统获取的图像不清楚,难以定位和检测对象,分类算法有可能丢失对象。在这种情况下,它们无法对问题分类并将其报告给系统。造成这种现象可能的原因包括不连续数据、极少的数据点或低分辨率图像。K-means是一种常见的聚类算法。 K-means K-means是著名的聚类算法,它从数据对象中选择任意k个对象作为初始聚类中心,再根据每个聚类对象的均值(中心对象)计算出每个对象与中心对象的距离,j2直播,然后根据最小距离重新划分对象。最后重新计算调整后的聚类的均值。 下图形象描述了K-means算法。其中,(a)表示原始数据集,(b)表示随机初始聚类中心,(c-f)表示运行2次k-means迭代演示。 模式识别算法(分类) (责任编辑:本港台直播) |