机器学习算法在自动驾驶领域的应用大盘点!

简介:

将汽车内外传感器的数据进行融合,借此评估驾驶员情况、进行驾驶场景分类,都要用到机器学习。本文中,我们讲解了不同的自动驾驶算法。

自动驾驶汽车的设计制造面临着诸多挑战,如今,各大公司已经广泛采用机器学习寻找相应的解决方案。汽车中的ECU(电子控制单元)已经整合了传感器数据处理,如何充分利用机器学习完成新的任务,变得至关重要。潜在的应用包括将汽车内外传感器的数据进行融合,借此评估驾驶员情况、进行驾驶场景分类。这些传感器包括像激光雷达,雷达,摄像头或者是物联网。

车载信息娱乐系统所运行的应用,能从传感器数据融合系统中获取数据。举个例子,如果系统察觉驾驶员发生状况,有能力把车开到医院。基于机器学习的应用,还包括对驾驶员的语言和手势识别以及语言翻译。相关的算法被分类为非监督和监督算法。它们两者的区别在于学习的方式。

  • 监督学习算法使用训练数据集学习,并且能够持续学习直到达到设定的置信水平(最小化出错概率)。监督学习算法分为回归、分类和异常检测以及数据降维。

  • 无监督学习算法,则尝试挖掘有限数据的价值。这意味着,算法会在可用数据内建立关系,以检测模式或者将数据集分成子类(取决于之间的相似度)。从广义上,无监督算法可以可分为关联规则学习和聚类。

  • 增强学习算法是另外一种机器学习算法,介于非监督学习和监督学习之间。对于所有训练的例子,监督学习中有目标标签,无监督学习中却完全没有标签。强化学习有延迟的、稀疏的标签——未来的奖励。

根据这些奖励,智能体学习做出恰当行为。去理解算法的局限性和优点,开发更加高效的学习算法,是增强学习的目标。增强学习可以解决大量实际应用,从AI的问题到控制工程或操作研究——所有这些都与开发自动驾驶汽车相关。这可以被分为间接学习和直接学习。

在独自动驾驶汽车上,机器学习算法的一个主要任务是持续渲染周围的环境,以及预测可能发生的变化。这些任务可以分为四个子任务:

  • 目标检测

  • 目标识别或分类

  • 目标定位

  • 运动预测

机器学习算法可以简单地分为4类:决策矩阵算法、聚类算法、模式识别算法和回归算法。可以利用一类机器学习算法来完成两个以上的子任务。例如,回归算法能够用于物体定位和目标识别或者是运动预测。

机器学习算法在自动驾驶领域的应用大盘点!

决策矩阵算法

决策矩阵算法系统地分析、识别和评估信息集和值之间关系的表现。这些算法主要用于决策。车是否需要刹车或者左转都是基于算法根据识别、分类和预测对象的下一个动作给出的置信水平。矩阵决策算法由各种独立训练的决策模型组合而成。用某种方式,这些预测整合起来进行总体预测,同时降低决策错误的可能性。AdaBoosting 是最常用的算法。

AdaBoosting

Adaptive Boosting或称为AdaBoost,是一种多种学习算法的融合。它可用于回归或者分类算法。相比其他机器学习算法,它克服了过拟合,并通常对异常值和噪声数据敏感。为了创建一个强大的复合学习器,AdaBoost使用了多次迭代。因此,它又被称为 “Adaptive Boosting”。通过迭代添加弱学习器,AdaBoost创建了一个强学习器。一个新的弱学习器加到实体上,并且调整加权向量,作为对前一轮中错误分类的样例的回应。得到的结果,是一个比弱学习者分类器有更高准确性的分类器。

机器学习算法在自动驾驶领域的应用大盘点!

AdaBoost有助于将弱阈值的分类器提升为强分类器。上面的图像描述了AdaBoost的执行,只用了简单易于理解的代码在一个文件中就实现了。这个函数包含一个弱分类器和boosting组件。弱分类器在一维的数据中尝试去寻找最理想的阈值来将数据分离为两类。boosting组件迭代调用分类器,经过每一步分类,它改变了错误分类示例的权重。因此,创建了一个级联的弱分类器,它的行为就像一个强分类器。

聚类算法

有时,系统获取的图片不是很清晰,使得物体难以定位检测。有时,分类算法有丢失检测物体的可能,这样就不能分类和报告给系统。这些可能是不连续的数据造成的,数据点太少了,或者图片分辨率太低了。聚类算法的特点在于从数据点中发现模式。像回归分析一样,聚类算法是指一类方法和问题。典型的聚类算法有层次聚类,基于质心的聚类算法。这些算法都关注数据的内在模式,完美地把数据分解成拥有最大相似性的簇。K-均值,多分类神经网络(Multi-class Neural Network)是最常用的算法。

K-均值算法

K-均值是著名聚类算法,它找出代表聚类结构的k个质心。如果有一个点到某一质心的距离比到其他质心都近,这个点则指派到这个最近的质心所代表的簇。依次,利用当前已聚类的数据点找出一个新质心,再利用质心给新的数据指派一个簇。

机器学习算法在自动驾驶领域的应用大盘点!

K-均值算法——在上图中用“x"表示 聚类质心,用点表示训练样本。(a) 原始数据集。(b) 随机初始化聚类质心。(c-f) k-均值迭代2次的示意图。在每次迭代中每个训练样例都指派到一个最近的聚类质心,每个聚类质心被移动到分配给它的点的平均值。

模式识别算法(分类模型)

在高级辅助驾驶系统(ADAS)中,利用感应器获取的图像包含各种各样的环境数据。对图像进行过滤变得十分必要,以剔除一些不相关的样本得到用于分类的实例数据。在分类前,关键步骤是在一个数据集上的模式识别。这类算法称为数据约简算法。

数据约简算法有助于降低数据集的边缘、对象的直线(拟合出来的线段)和圆弧的边缘。线段与边缘匹配,到直角后,该匹配会产生一段线段。和弧线一样,圆弧与一串直线段匹配。用不同的方式,图像特征(圆弧和线段)组合起来形成特征,用来判断对象。

利用PCA(主成分分析)和HOG(方向梯度直方图),SVM(支持向量机)通常在ADAS中用做识别算法。也会用K-邻近(KNN)和贝叶斯决策规则。

支持向量机(SVM)

SVM依赖于决策平面概念,后者定义了决策边界。决策平面可以把明显有类关系的对象分隔开. 如下图示。这张图片中,对象分为红色和绿色两类。分离的边界线把红色和绿色的对象分离了。落在线左边的新对象标记为红色类,落在右边标为绿色。

机器学习算法在自动驾驶领域的应用大盘点!

回归算法

这类算法善于做事件预测。回归分析评估两个或两个以上变量的关系,以及变量在不同尺度上的贡献,主要受三个指标影响:

1、 回归线的形状

2、非独立变量的类型

3、独立变量的数量

(摄像头或者雷达收集到的)图像在ADAS的驱动和定位上起了重要作用。对于任一算法,最大的挑战是利用基于图像的模型来做特征选择和预测。

环境的可重复性,对回归算法为图像和该图像中某物体位置之间的关系,构建统计模型起了杠杆作用。利用采样图像的统计模型,可以快速在线识别和离线学习。这个模型可以进一步延伸到不需要大量人类建模的其他对象。算法返回的对象位置,作为在线阶段的输出和对象出现的概率。

回归算法能够用来短程预测和长程训练。这类回归算法中用到自动驾驶上,有决策森林回归、神经网络回归、贝叶斯回归等等。

神经网络回归模型

神经网络可以用到回归、分类或者其他无监督学习上,来汇总没有标记的数据,分类这些数据,或者在监督学习后预测一个连续值。神经网络常在最后一层用逻辑斯特回归把连续值转换成形如1或0的变量(二值变量)。

机器学习算法在自动驾驶领域的应用大盘点!

在上图中,“x”是输入,特征从前一层神经元传播而来。到最后隐藏层的每个神经元,有很多’x'会喂进来,每个'x',乘以相应的权重w。对于偏置,乘积求和后加上偏置,然后输入到激活函数。激活函数常用的是ReLU(修正线性单元),因为它不会像sigmoid激活函数在浅层梯度膨胀。ReLU在隐藏层输出的激活值a,经过求和后成为输出层的输出。这暗示:一个神经网络用做回归时只有一个输出节点。这个节点把激活值求和后乘以1向量。网络的估计值,‘y帕’作为结果。‘Y帕’是所有'x'映射出来的独立变量。你可以这样用神经网络得到与‘x’(多个非独立向量)相关的函数,可以求出你要预测的'y'(独立变量)。





====================================分割线================================


本文作者:林立宏

本文转自雷锋网禁止二次转载,原文链接

目录
相关文章
|
24天前
|
机器学习/深度学习 人工智能 物联网
通义灵码在人工智能与机器学习领域的应用
通义灵码不仅在物联网领域表现出色,还在人工智能、机器学习、金融、医疗和教育等领域展现出广泛应用前景。本文探讨了其在这些领域的具体应用,如模型训练、风险评估、医疗影像诊断等,并总结了其提高开发效率、降低门槛、促进合作和推动创新的优势。
通义灵码在人工智能与机器学习领域的应用
|
15天前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
58 4
|
24天前
|
机器学习/深度学习 传感器 自动驾驶
探索机器学习在图像识别中的创新应用
本文深入分析了机器学习技术在图像识别领域的最新进展,探讨了深度学习算法如何推动图像处理技术的突破。通过具体案例分析,揭示了机器学习模型在提高图像识别准确率、效率及应用场景拓展方面的潜力。文章旨在为读者提供一个全面的视角,了解当前机器学习在图像识别领域的创新应用和未来发展趋势。
|
12天前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
29 1
|
12天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
36 1
|
17天前
|
机器学习/深度学习 数据采集 算法
机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用
医疗诊断是医学的核心,其准确性和效率至关重要。本文探讨了机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用。文章还讨论了Python在构建机器学习模型中的作用,面临的挑战及应对策略,并展望了未来的发展趋势。
52 1
|
21天前
|
机器学习/深度学习 自然语言处理 算法
深入理解机器学习算法:从线性回归到神经网络
深入理解机器学习算法:从线性回归到神经网络
|
21天前
|
机器学习/深度学习 算法
深入探索机器学习中的决策树算法
深入探索机器学习中的决策树算法
29 0
|
22天前
|
机器学习/深度学习 算法 Python
机器学习入门:理解并实现K-近邻算法
机器学习入门:理解并实现K-近邻算法
30 0
|
7天前
|
算法
基于WOA算法的SVDD参数寻优matlab仿真
该程序利用鲸鱼优化算法(WOA)对支持向量数据描述(SVDD)模型的参数进行优化,以提高数据分类的准确性。通过MATLAB2022A实现,展示了不同信噪比(SNR)下模型的分类误差。WOA通过模拟鲸鱼捕食行为,动态调整SVDD参数,如惩罚因子C和核函数参数γ,以寻找最优参数组合,增强模型的鲁棒性和泛化能力。