机器学习开发者指南:对于机器学习,到底该选择哪种编程言语?
作者头像
  • 权亚杰
  • 2020-07-21 11:59:13 3

机器学习与人工智能的关系

机器学习并非孤立存在,而是归属于更大的范畴——人工智能(AI)。然而,机器学习的发展并非一蹴而就。它经历了四个截然不同的发展阶段,逐步形成了我们今天所熟知的技术。

第一阶段:基于规则的决策

第一阶段的机器学习模型主要依赖于基于规则的决策和简单的基于数据的算法。这些算法包含了所有可能的分支和决策规则,并由专家预先设定。这种算法主要用于处理布尔型数据,即“是”或“否”的决策。

第二阶段:统计推理

在统计推理发展的第二阶段,人们开始关注数据的概率特性,而非预先设定的选择。这种方法更加贴近现实问题的模糊特性。在这种背景下,贝叶斯概率理论等数学工具得到了广泛应用,包括曲线拟合等技术,从而更好地处理数值数据。

第三阶段:模型自动生成

第三阶段的机器学习引入了更复杂的任务。此时的机器学习算法能够从数据中归纳出模型,并生成自己的特征选择器,而不受固定目标函数的限制。这种模型可以处理各种数据类型,如语音、图像、视频和文本等。

第四阶段:全面的AI能力

最后,第四阶段的AI算法不仅涵盖了之前的各类算法,还具备了一种特殊的能力:能够利用学到的知识解决训练阶段未曾考虑的问题。这种算法可以处理更广泛的数据类型,并能够在不同数据类型间灵活转换,无需重新训练整个模型。

机器学习的类型

接下来,我们将从实现者的角度分析不同类型的机器学习项目。这些项目主要包括监督学习、无监督学习和强化学习。

监督学习

在监督学习中,模型会根据已知的数据样本集进行训练,并得到预期的结果。统计上,所有训练集的实验结果都会被记录下来。

无监督学习

无监督学习则只提供问题领域的样本数据,但没有先验信息供推断。这种学习方法主要用于将相似数据分组和归类。

强化学习

强化学习没有已标记的样本集,而是通过智能体、环境和学习最优策略或步骤集来实现。这种学习方法通过奖励或惩罚机制来最大化面向目标的方法。

机器学习的主要领域

图1.2展示了机器学习的主要领域,包括监督学习、无监督学习和强化学习。

监督学习的不同等级

在学习过程中,监督学习采用了渐进的步骤。具体包括:

无监督学习

无监督学习没有关于类别的先验知识,需要通过自动推断得出结果。

半监督学习

半监督学习需要一个已知样本作为种子,模型通过这个种子推断剩余样本的分类或数值。

监督学习

监督学习通常包含一个已知的数据集作为训练集,并使用另一个数据集进行验证和测试。

监督学习策略

监督学习包括回归和分类两种类型的任务。

回归

回归任务旨在通过比较输入与实际答案来最小化误差,从而在新样本中进行预测。

分类

分类任务则是对新样本进行标记或分类。

无监督学习方法

无监督学习主要用于处理聚类问题,即通过观察对象的相似性或共享特征来进行分类。此外,还有半监督学习,它结合了已标记和未标记的数据进行训练。

编程语言与库

本书面向开发人员,通过实际代码解释所用方法的数学概念。在选择示例代码的编程语言时,作者选择了Python,因为它易于理解和应用,且在机器学习项目中被广泛采用。

Python语言

Python是一种通用脚本语言,由Guido Van Rossum于1989年创建。它语法简洁,且具有强大的可扩展性,这得益于其丰富的扩展库。Python可以与C语言绑定,适合原型设计和通用编码。

主要库

  • NumPy:提供强大的数组操作和数学函数。
  • Matplotlib:用于数据可视化。
  • Pandas:用于数据管理和统计分析。
  • SciPy:涵盖广泛的科学计算功能。
  • Jupyter Notebook:提供一个交互式的编程环境,便于研究和实验。

结论

本书将带领读者深入了解机器学习的各种技术和应用场景,包括回归、聚类、分类和神经网络等。通过本书的学习,读者将能够应用这些概念解决实际问题,如图像分析、自然语言处理和时间序列数据分析。

本文节选自《机器学习开发者指南》。

    本文来源:图灵汇
责任编辑: : 权亚杰
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
机器学习开发者言语对于到底编程选择指南
    下一篇