field of study that gives computers the ability to learn without being explicitly programmed.
——Arthur Samuel(1959)
1952年,塞缪尔开发了一个能够通过经验学习下跳棋的计算机程序,这个程序能够通过分析大量棋局来逐渐识别出“好棋”和“坏棋”,并不断提高自己的下棋水平。塞缪尔的这项工作推翻了以往认为机器无法像人类一样学习的传统观念。
机器学习(Machine Learning)是人工智能的一个分支,它使计算机系统能够利用数据和算法自动学习和改进其性能。简单来说,机器学习涉及到开发算法,让机器通过经验来学习,而不是通过显式编程来执行特定的任务。
机器学习算法主要分为监督学习,非监督学习,无监督学习,和强化学习。本教程聚焦利用Python语言聚焦监督学习算法。
监督学习和非监督学习
监督学习(Supervised learning),无监督学习(Unsupervised learning),和强化学习(Reinforcement learning)是目前机器学习领域中的三大分类,三者各有其应用范围和优势区间。
监督学习
监督学习是指根据已有的训练集(training sets),在已知输入(features)和输出结果(labels)的情况下,创建二者之间的关系模型。并利用该模型预测未在训练集中的输入所对应的输出。
例:利用监督学习训练一个可以识别鸡和人的算法
首先进行数据预处理,
然后输入数据集,对模型进行训练:
Label1: ‘鸡’
Label2:‘人’
输入了分别作为feature1,feature2的图片,打了Label1,Label2的标签训练模型。最终利用训练后的模型识别未知的图片。
无监督学习
输入数据没有被标记,且不需要给数据打标签。样本数据类别未知,需要根据样本间的相似性对样本集进行分类(clustering)。
例:
输入了人和鸡的图片,但没有打标签。让计算机通过统计,自己分析数据中的差异,并将数据分为两类。最终利用训练后的模型识别未知的图片。
无监督学习没有明确的目的,且效果不可量化。