人工智能
近几年来,人工智能(AI)已成为家喻户晓的术语,我们在游戏、电影(还记得J.A.R.V.I.S吗?)和书籍中经常看到它的提及和描绘,但人工智能究竟是什么呢?
人工智能简单来说就是由机器展现出来的智能,这些机器被称为智能机器。智能机器是任何能感知其环境并采取行动以最大化实现某一目标成功率的设备(从小型设备如智能手机到大型设备如电视)。
简单地说,智能机器是一种能研究其环境、从中学习并适应环境变化的设备,通过调整其行动来更好地完成特定任务;这些任务是它被设计出来要完成的。
人工智能的应用
我们都在电影、游戏和书籍中看过人工智能的描绘,但人工智能在现实世界中也有应用,其中一些包括:
• 金融
• 医疗保健
• 客户服务/聊天机器人
• 教育
• 交通运输
• 技术
过去的AI仅限于一些基本功能,如错误报告等。近未来的AI预计能够处理更复杂的事务,我们在现在已经看到了其中的一些。问题是“我们如何发展到这样的AI水平?我们如何构建能够处理复杂事务的智能机器?”,答案是机器学习。
机器学习
与AI相比,“机器学习”这个术语可能不那么常见,或者即使听过,大多数人也不太了解它的含义。
机器学习(ML)是实现人工智能的一种方法。这么说,我们可以认为目标是开发智能机器,而机器学习是实现这一目标的方式。机器学习涉及开发无需明确告知具体做什么的系统,类似于人类的学习方式。
传统编程 VS 机器学习
传统编程
在传统编程中,我们提供规则和数据作为输入,算法则给出答案作为输出。让我用简单利息来举个快速的例子。
我们都知道数学中的简单利息,对吧?当开始学习编程时,继写出通常的“hello world”程序之后,通常下一步就是编写简单的算术程序;所以这个例子应该很直接。
现在,简单利息的公式是(PRT)/100。利用上面的图示,我们可以分析一个计算简单利息的程序:
• 数据:作为输入提供的数据将是变量P、R和T。
• 规则:规则将是公式 SI = (PRT)/100
• 答案:答案将是变量SI
这基本上就是传统编程的工作方式。
机器学习
在机器学习中,它与传统编程大不相同。在这里,我们提供数据和预期答案作为输入,算法则生成规则作为输出。
举个例子,比如一个区分真伪钞票的机器学习系统。利用上面的图示,我们可以这样分析这个系统:
• 数据:作为输入提供的数据将是数千张真钞和假钞的图片。
• 答案:作为输入提供的答案将是这些图片上的标签,用来指明特定图片是真钞还是假钞。
• 规则:规则将由机器学习算法生成,这些规则或多或少是算法理解如何区分真假钞票的方式。
为什么我们应该关心机器学习?
我经常被问到像“我为什么要关心机器学习?为什么它突然变得重要?为什么现在?”之类的问题,
以下是我们为什么应该关心机器学习,以及为什么它“突然”变得重要的几个原因:
• 数据可用性:现在正在产生大量数据,非常多(大数据听起来熟悉吗?)。这些数据由我们的智能设备、嵌入式系统和其他多种来源生成。现在的数据比以往任何时候都多,这些数据可以被分析,以发现模式、趋势和关联,这些可以用来做出智能决策,那我们为什么不这样做呢?
• 计算能力:当前的硬件拥有足够的计算能力来分析数据。我们拥有配置强大的个人电脑,我们的手机拥有比带人类登上月球的计算机还要强大的计算能力。
在海量数据和拥有足够计算能力分析这些数据的设备之间,我相信没有比现在更好的时机来关心机器学习。
机器学习过程
机器学习过程可以定义为一系列步骤,包括:
• 数据收集:这包括收集用作输入的数据。数据可以有不同的格式:XML、JSON、CSV、文本文件、图片等,并且可以从各种来源获取。
• 数据准备:这包括根据要开发的机器学习系统的要求分析和过滤数据,移除质量差、无效和不必要的数据。这还涉及将准备好的数据分为训练集和测试集,训练集用于训练算法,测试集用于验证。
• 训练:这是机器学习过程中使用训练集训练算法的部分。
• 评估:训练后,使用测试集评估训练好的模型。
• 优化:根据评估结果,可以优化模型以减少误差幅度并提高效率。优化可能涉及调整算法中的一些细节,引入新的变量以提高效率,或者完全更换整个模型/算法。
机器学习算法
机器学习算法主要分为三大类,它们是:
• 监督学习。
• 非监督学习。
• 强化学习。
监督学习
监督学习是一类用于构建预测模型的机器学习算法。之所以称为“预测模型”,是因为它们的目标是基于历史数据预测未来的结果。在监督学习中,期望的输出已知,因此数据是标记过的,机器学习模型被清楚地指示它们要学习什么以及如何学习。
监督学习中有两个主要的任务/问题,它们是:
• 分类:这是一个处理将项目分类到类别中的机器学习任务/问题。例如,真假钞票、猫和狗等。
• 回归:这是一个处理预测真实数值的机器学习任务/问题,如重量、金额等。例如,预测2023年的燃料价格,预测30英寸披萨的成本(30英寸的披萨将是一个壮观的景象!),预测2020年的降雨量等。
点击此处关于监督学习的信息。
非监督学习
非监督学习是一类用于构建描述性模型的机器学习算法。之所以称为“描述性模型”,是因为它们的目标是从非结构化和未标记的数据中确定和定义结构和相似性。在非监督学习中,期望的输出未知,因此数据未被标记,模型必须完全自行学习,而不被告知如何学习。
非监督学习中的主要任务是聚类;一个处理确定未标记数据结构的机器学习任务/问题。
强化学习
强化学习是一类用于构建模型的机器学习算法,这些模型通过尝试和错误来确定哪些行为带来最大回报。这些模型和强化学习的目标是最大化回报。强化学习模型主要用于机器人、游戏和导航,但不限于此。
其他机器学习算法包括:
• 半监督学习:这使用少量标记数据和大量未标记数据。
• 主动学习:在这里,模型交互式地查询用户以获得新知识。
开始机器学习之旅的资源
以下是一些帮助您开始机器学习之旅的资源:
• Google的机器学习速成课程:Google作为机器学习领域的大玩家之一,设计了一个旨在教授机器学习基础知识的速成课程。
• Udacity机器学习纳米学位:Udacity提供深入的机器学习纳米学位课程,通过项目带您深入了解机器学习的基础知识和原则。
• Kaggle:Kaggle是数据科学家和机器学习工程师及爱好者最大的社区之一。它提供访问大量数据集的机会,并有机会探索和构建模型、学习以及参与机器学习和数据科学竞赛。
• scikit-learn:scikit-learn是Python中的一个开源机器学习库。它提供简单易用的数据分析和构建机器学习模型的工具。它学习起来很容易,我推荐将它用于初级水平的事物。
• Zindi:Zindi是一个非洲的数据科学家和机器学习工程师及爱好者社区。Zindi提供访问源自非洲的数据集的机会,并有参与数据科学竞赛的机会。
现在是参与机器学习的最佳时机,我希望这能为您提供关于机器学习的深刻概述,并帮助您开始。祝您好运,并继续学习!