豪符密码检测技术(成都)有限责任公司欢迎您!
  服务电话:028-60112666

News
新闻中心
  • 公司新闻
  • 行业新闻
  • 公示公告

  服务热线

028-60112666

新闻中心

“豪符讲坛”重启,首期主题聚焦揭秘机器学习,智能时代的幕后王者


作者:  来源:  浏览次数:1097/次   发布时间:2024-03-01

 

2024年2月2日豪符检测密码检测实验室组织开展“豪符讲坛”2024年首期技术分享活动,此次活动是也是因疫情原因“停更”后的首次重启,公司全体员工参与了此次技术分享活动。

本期豪符讲坛由实验室的检测工程师开展主讲分享,主题“聚焦于智能时代,机器学习的发展与趋势”相关内容,从什么是机器学习、机器学习的分类、机器学习的方法以及机器学习的应用四个方向深度解析机器学习的重要意义以及底层逻辑。将生涩的技术“干货”配合逻辑解析、实证案例、数据解析等相关内容,提升前沿技术内容的可读性的同时,提升了员工对新技术的前瞻性与创新性,实现企业内技术新咨询的“互通有无”,提升人才队伍的素质和技能,凝聚企业发展“新势能”。



第一章 什么是机器学习

1. 机器学习的定义

机器学习(Machine Learning,简称ML)是人工智能(Artificial Intelligence,简称AI)的一个子领域,其核心思想是让计算机根据已有的数据自主建立模型来解决新问题。

简单来说,机器学习就像教孩子学习一样。我们不是告诉孩子每一个问题的答案,而是教给他们学习的方法,让他们自己去观察、思考和解决问题。同样,在机器学习中,我们也不是告诉计算机如何处理每一个具体任务,而是让计算机通过大量数据自主学习,从而找到解决问题的方法。

2. 机器学习的发展史

(1)起源与探索期:研究人员主要集中在使用规则和符号来模拟人类智能,将“机器学习”定义为“使计算机能够在不进行明确编程的情况下学习”的领域。

(2)知识符号主义时期:这一时期,机器学习主要采用了符号主义的方法,即通过对符号和规则的处理来表示知识。专家系统、决策树等技术在这个阶段得到了广泛应用。

(3)连接主义复苏:这一时期,神经网络引起了关注。反向传播算法的提出和计算能力的提升促进了神经网络的发展。

(4)实用化与统计学习:机器学习在实际应用中逐渐崭露头角。支持向量机、随机森林、朴素贝叶斯等统计学习方法成为解决实际问题的重要工具。

(5)深度学习的崛起:随着大规模数据集和图形处理单元的普及。深度神经网络,特别是卷积神经网络和循环神经网络在图像识别、自然语言处理等领域取得了巨大成功。

(6)自动化机器学习的兴起:近年来,自动化机器学习成为研究和应用的热点。通过简化机器学习流程,使非专业人士也能够更轻松地应用机器学习模型。

3. 机器学习的三要素

机器学习的三要素是数据、模型和算法。这三者共同构成了机器学习的核心组成部分,而成功的机器学习系统通常需要合理地处理和整合这三个要素。


3.1数据(Data)

数据(Data): 数据是机器学习的基石。机器学习算法需要从数据中学习模式、关系和规律,以便对新的、未见过的数据做出预测或决策。良好的数据质量和代表性是机器学习成功的关键。数据可以分为训练数据(用于构建模型)、验证数据(用于调整模型参数)和测试数据(用于评估模型性能)。

3.2模型(Model)

模型(Model): 模型是机器学习算法从数据中学到的表示。它是对数据内在结构的一种抽象,可用来进行预测、分类、聚类等任务。模型的选择取决于具体的问题和数据特征。常见的机器学习模型包括线性回归、决策树、支持向量机、神经网络等。模型的性能取决于其在训练数据上学到的规律,因此数据质量对模型的质量有着直接的影响。

3.3算法(Algorithm)

算法(Algorithm): 算法是机器学习的引擎,它是实现模型训练、优化和预测等任务的具体计算过程。不同的算法适用于不同类型的问题和模型。例如,梯度下降是一种用于优化模型参数的算法,而决策树的构建过程则使用了特定的分割算法。选择合适的算法也是机器学习中的关键步骤之一。
这三个要素之间存在相互关系。数据用于训练模型,模型通过算法从数据中学习规律,而选择合适的算法有助于构建出更适应特定问题的模型。整合这三个要素,通过不断优化和调整,构建出一个能够对未知数据做出准确预测的机器学习系统。


第二章 机器学习的分类

机器学习分为监督学习、非监督学习和强化学习。

1. 监督学习

在有标签的训练数据上进行学习,系统通过学习输入和对应的输出标签之间的关系,以便对新的输入进行预测。比如就像一个学生通过做多套高考模拟卷并订正答案的方式来提高高考成绩。在这种情形下,数据就像是监督计算机进行学习的教师。

2. 无监督学习

在没有标签的数据上进行学习,系统尝试发现数据中的模式和结构,通常用于聚类和降维等任务。这就像做了好多套没有答案的模拟卷,最后还要去高考。但其实做没有答案的试卷也是能学到很多有价值的信息的,比方说哪些题出现频率高,哪些题爱扎堆考,等等。无监督学习希望从数据中挖掘的正是这一类信息,常见的例子有聚类,关联规则挖掘,离群点检测等等。

3. 强化学习

通过与环境的交互学习,系统通过尝试最大化累积奖励来学会采取行动。它涉及智能体(Agent)与环境的交互,通过试错的方式学习如何采取行动以最大化奖励。比如就像训练一只狗学会通过尝试不同动作,逐步找到最佳策略以获取奖励一样,使机器智能体通过与环境的交互学到最佳行为策略。


第三章 机器学习的方法

以下是最常见的机器学习算法以及常用案例:

1.线性回归

线性回归用于建模输入特征与连续输出变量之间的线性关系。主要预测一个连续的数值变量。

案例:预测房价。根据房屋特征(房间数量和面积)建立线性关系来估计房价。

2.逻辑回归

逻辑回归用于建模输入特征与二元分类或多元分类之间的关系,主要预测概率分布,一个离散的类别变量。

案例:在医学领域,可以利用逻辑回归模型预测患者是否患有某种疾病;在市场营销领域,可以使用逻辑回归模型预测客户购买某种产品的概率。

3.决策树

决策树模型是一种用于预测离散或连续变量的监督学习算法。它通过将数据集分成多个子集,并对每个子集进行递归划分,来构建一棵树形结构。决策树模型的核心是找到一组最优的特征和阈值,使得每个子集的纯度最高。

案例:金融领域:决策树算法可以通过对已有数据的分析和学习,判断借款人的信用风险等级。医疗领域:通过训练模型,利用病人的生理指标、病史专因素进行分类、判断,建立发病模型,提前预测患病概率,及时采取措施防治疾病。

4.随机森林

随机森林模型是一种用于预测离散或连续变量的监督学习算法。它通过随机选择特征和数据集的子集,来构建多个决策树模型,并将它们的预测结果进行平均或投票,来提高预测的准确性。

案例:在金融行业,可以用来分析信用风险、欺诈检测等。在医疗行业,可以用来分析疾病预测、诊断等。在电子商务领域,可以用来预测用户购买行为、个性化推荐等。

5.神经网络

神经网络模型是一种用于预测离散或连续变量的监督学习算法。它通过模拟生物神经元之间的相互作用,来构建多层神经网络,并使用反向传播算法来训练模型。

案例:图像分类和语音识别:可以实现自动图像分类和标注。          能够对语音信号进行更加精细的特征提取,因此在声音嘈杂、语速快速变化等复杂环境中的识别效果也更优。在金融领域,利用神经网络对不同市场的各类数据进行分析,通过建立不同的模型预测股票、汇率等的走向和变化,以帮助投资者制定策略和调整投资组合。在医疗领域,神经网络也被广泛应用于各种疾病的诊断和治疗,帮助医生实现更加准确的病情判断和治疗决策。

6.支持向量机

支持向量机模型是一种用于预测离散或连续变量的监督学习算法,简称SVM模型。它通过将数据集映射到高维空间,并找到一个最优的超平面,使得不同类别的数据点之间的间隔最大化,来实现分类或回归。

案例:图像识别和自然语言处理:支持向量机可用于人脸识别、手写数字识别等任务,也可用于文本分类、信息提取等任务。在生物信息学领域,可用于蛋白质分类、基因分类等任务。在金融风险评估领域,可以用于评估信贷风险或股票市场风险。在物流运输领域,可以用来规划运输路线、预测运输成本和时间、预测货物到达时间和货物损失概率以及预测供应链需求量。

7.朴素贝叶斯

朴素贝叶斯模型是一种用于预测离散变量的监督学习算法。它通过假设所有特征之间相互独立,来计算每个类别的概率,并选取概率最大的类别作为预测结果。

案例:朴素贝叶斯常用于文本分类,可以将文本的每个单词作为特征,将文本的类别作为标签,然后利用朴素贝叶斯算法来判断文本的类别。也经常用于垃圾邮件过滤,可以将邮件的每个单词作为特征,将邮件的类别(是垃圾邮件还是正常邮件)作为标签,然后利用朴素贝叶斯算法来判断邮件的类别。

8.K近邻

K近邻模型是一种用于预测离散或连续变量的监督学习算法。它通过找到与目标变量最相似的K个数据点,来预测目标变量的值。K近邻模型的核心是选择合适的距离度量和K值。

K近邻算法是一种非常通用的机器学习算法,它可以应用于多种场景中,包括分类、预测房价、股票价格、异常检测、聚类分析和推荐系统等。

9.聚类

聚类模型是一种用于无监督学习的算法,它通过将数据集分成多个组别,使得组内的数据点相似度最高,组间的数据点相似度最低。聚类模型的核心是选择合适的距离度量和聚类算法。

在商业领域,聚类可以帮助市场分析人员发现不同的客户群,并根据购买模式进行客户细分,从而指导市场调整和销售计划。在医疗领域,聚类分析可用于疾病分类和患者管理,帮助医疗机构进行患者管理和医疗资源分配。在金融领域,聚类分析在风险评估、信用评分和客户分类等方面也有应用,帮助银行和其他金融机构进行信贷决策。

10.降维

降维模型是一种用于无监督学习的算法,它通过将高维数据集映射到低维空间,来减少数据集的维度并保留数据集的重要信息。降维模型的核心是选择合适的降维方法和特征选择方法。

案例:降维常用于图像压缩,减小图像的维度来降低存储和传输成本。也常用于医学诊断,将高维生物医学数据投影到低维空间以区分疾病类型。


第四章 机器学习的应用

1. 基本流程

1.1问题定义

明确机器学习任务的目标,确定是分类、回归、聚类还是降维任务等。

1.2数据收集

收集与问题相关的数据。这可能包括从数据库、文件、网络爬虫或其他数据来源获取原始数据。

1.3数据预处理

对收集到的数据进行清洗、转换和整合。这个阶段可能包括去除重复值、处理缺失值、数据标准化、特征工程等。

1.4数据分割

将数据集分为训练集、验证集和测试集。训练集用于训练模型,验证集用于调整模型参数,测试集用于评估模型的泛化性能。

1.5模型选择

选择合适的机器学习算法,如线性回归、决策树、支持向量机、神经网络等。选择时需要考虑问题类型、数据特性以及计算资源等因素。

1.6模型训练

使用训练集数据,根据选定的算法训练机器学习模型。在此过程中,可能需要调整模型参数以获得更好的性能。

1.7模型验证与调优

使用验证集数据,评估模型的性能,并根据需要调整模型参数。这可能包括改变学习率、调整正则化参数或优化超参数。

1.8模型评估

使用测试集数据,评估模型的泛化性能。模型在测试集上的性能可作为一个客观标准,帮助我们了解模型在未知数据上的表现。

1.9模型部署与应用

将训练好的模型部署到生产环境,为实际问题提供解决方案。在部署过程中,需要确保模型能够在不同场景中稳定、可靠地工作。

1.10模型监控与维护

在模型部署后,定期监控其性能,根据需要更新和优化模型。这可能包括收集新数据、重新训练模型或调整模型参数。

2. 常见应用

2.1实时聊天机器人代理

聊天机器人是商业领域使用最广泛的机器学习应用之一,有些智能助手的编程能知道何时需要提出明确的问题,以及何时对人类提出的要求进行分类;音乐流媒体平台的机器人可以让用户收听、搜索、分享音乐并获得推荐;乘客通过聊天平台或语音请求服务,可以接收司机牌照和车型图像,以确定他们的乘车情况。

2.2决策支持

机器学习可以帮助企业将其拥有的大量数据转化为可操作的见解,从而实现价值。在这里,技术可以基于历史数据和任何其他相关数据集的算法进行信息分析,并以人类无法达到的规模和速度运行多个场景,从而提出有关最佳行动方案的建议。
在医疗保健行业,临床决策支持工具能指导临床医生进行诊断和选择合适的治疗方法,提高护理人员的效率和提升治疗结果。在农业领域,决策支持工具整合了气候、能源、水、资源和其他因素的数据,能够帮助农民做出作物管理决策。在商业中,决策支持系统能够帮助管理层预测趋势、识别问题并加快决策。

2.3客户推荐引擎

机器学习为客户推荐引擎提供了动力,增强了客户体验并能提供个性化体验。在这种场景里,算法处理单个客户的数据点,比如客户过去的购买记录或公司当前的库存、其他客户的购买历史等,来确定向每个客户推荐适当的产品和服务。大型电子商务公司使用推荐引擎来增强个性化并加快购物体验。

2.4客户流失模型

算法从大量的历史、人数统计和销售数据中找出规律,确定和理解为什么一家公司会失去客户。然后,公司就可以利用机器学习能力来分析现有客户的行为,以提醒业务人员哪些客户面临着将业务转移到别处的风险,从而找出这些客户离开的原因,然后决定公司应该采取什么措施留住他们。

2.5动态定价策略

公司可以挖掘历史定价数据和一系列其他变量的数据集,以了解特定的动态因素(从每天的时间、天气到季节)如何影响商品和服务的需求。机器学习算法可以从这些信息中学习,并将这些洞察力与其他市场和消费者数据结合起来,帮助企业根据这些庞大且众多的变量动态定价商品,这一策略最终将帮助企业实现收入最大化。

2.6市场调查和客户细分

机器学习通过预测库存和客户细分帮助企业在正确的时间将正确的产品和服务交付到正确的区域。同时,公司可以使用机器学习来更好地了解整个客户群中的特定细分市场。

2.7欺诈检测

数据科学家利用机器学习来了解单个客户的典型行为,比如客户在何时何地使用信用卡。机器学习可以利用这些信息以及其他数据集,在短短几毫秒内准确判断哪些交易属于正常范围,因此是合法的,而哪些交易超出了预期的规范标准,因此可能是欺诈的。

3. 流行的开源框架

3.1 TensorFlow

TensorFlow最初由Google于2015年发布,是一款开源机器学习框架,易于在各种平台上使用和部署。特点是高度灵活、可扩展和可移植性强,适用于各种类型的机器学习任务,包括图像识别、自然语言处理、语音识别等。

3.2 Keras

Keras是一个基于TensorFlow、Theano和CNTK等深度学习框架的高级神经网络API,它支持快速构建和训练神经网络模型,并且高度可定制。特点是易学易用、高效和灵活性强,适用于各种类型的机器学习任务。

3.3 Scikit-learn

Scikit-learn是一个用于数据挖掘和机器学习的Python库,它包括各种机器学习算法和数据预处理功能。特点是易学易用、功能丰富、稳定性强,并且有着广泛的社区支持。

3.4 Caffe

Caffe是由加州大学伯克利分校开发的深度学习框架,旨在支持卷积神经网络和深度学习模型的训练和部署。该工具允许人们在不编写代码的情况下使用文本快速将神经网络应用于问题。 Caffe的特点是易于学习、高度灵活、性能优秀,适用于各种类型的机器学习任务。

3.5 PyTorch

PyTorch是由Facebook开发的深度学习框架,它具有易用性和高度灵活性,用于计算机视觉、自然语言处理等应用程序,支持动态计算图和静态计算图两种方式,可以让开发者更加方便地进行模型构建和训练。与TensorFlow相比,PyTorch更适用于研究和实验性开发。

3.6 MXNet

MXNet是由Amazon开发的深度学习框架,它支持多种编程语言,包括Python、Java和Scala等。MXNet的特点是高度灵活、可扩展性强、性能优秀,并且适用于大规模机器学习任务。




作者 | 王昭鑫 饶金涛

编辑 | 舒越

来源 | 豪符密码检测技术(成都)有限责任公司