学习意味着通过研究或经验获取知识或技能。基于这一点,我们可以定义机器学习(ML)如下:
机器学习可以被定义为计算机科学的一个领域,更具体地说,它是人工智能的一个应用,它赋予计算机系统通过数据学习并在无需显式编程的情况下从经验中改进的能力。
基本上,机器学习的主要焦点是让计算机自动学习而不需人类干预。那么问题来了,这种学习是如何开始和进行的呢?学习可以通过观察数据开始。这些数据可以是一些例子、指令或直接的经验。然后,基于这个输入,机器通过寻找数据中的模式来做出更好的决策。
机器学习(ML)的类型
机器学习算法帮助计算机系统无需显式编程就能学习。这些算法可以分为监督学习或非监督学习。下面是一些常见的算法:
监督学习算法
这是最常用的机器学习算法。之所以称为监督学习是因为算法从训练数据集中学习的过程可以被认为是有教师监督的学习过程。在这种类型的机器学习算法中,可能的结果是已知的,并且训练数据也被标记了正确的答案。可以这样理解:
假设我们有输入变量x和输出变量y,并应用了一个算法来学习输入到输出的映射函数,即:
[ Y = f(x) ]
现在,主要的目标是很好地近似这个映射函数,以便当我们有新的输入数据(x)时,我们可以预测该数据的输出变量(Y)。
监督学习问题主要可以分为以下两种类型:
-
分类 —— 当我们有分类的输出时,问题被称为分类问题,如“黑色”、“教学”、“非教学”等。
-
回归 —— 当我们有实际数值输出时,问题被称为回归问题,如“距离”、“千克”等。
决策树、随机森林、K近邻(KNN)、逻辑回归都是监督学习算法的例子。
非监督学习算法
顾名思义,这些类型的机器学习算法没有监督者提供任何指导。这就是为什么非监督学习算法与某些人所谓的真正的人工智能紧密相关。可以这样理解:
假设我们有一个输入变量x,但是与监督学习算法不同的是,这里没有相应的输出变量。
简单地说,在非监督学习中不会有正确答案,也没有教师指导。算法帮助发现数据中的有趣模式。
非监督学习问题可以分为以下两种类型:
-
聚类 —— 在聚类问题中,我们需要发现数据中的内在分组。例如,根据购买行为对顾客进行分群。
-
关联 —— 当问题需要发现描述大部分数据的规则时,问题被称为关联问题。例如,找出同时购买x和y的顾客。
K均值聚类算法、Apriori算法是无监督学习算法的例子。
强化学习算法
这类机器学习算法使用得较少。这些算法训练系统做出特定决策。基本上,机器暴露在一个环境中,通过试错的方法自我训练。这些算法从过去的经验中学习,试图捕捉最佳的知识来做出准确的决策。马尔科夫决策过程(MDP)是强化学习算法的一个例子。
最常见的机器学习算法
在这一部分,我们将了解最常见的机器学习算法。算法描述如下:
线性回归
线性回归是统计学和机器学习中最知名的算法之一。
基本概念 —— 主要来说,线性回归是一个假定输入变量x与单个输出变量y之间存在线性关系的模型。换句话说,y可以从x的线性组合中计算得出。变量之间的关系可以通过拟合一条最佳直线来建立。
线性回归的类型包括:
-
简单线性回归 —— 如果线性回归算法只有一个独立变量,则称为简单线性回归。
-
多元线性回归 —— 如果线性回归算法有超过一个独立变量,则称为多元线性回归。
线性回归主要用于根据连续变量估计实际值。例如,可以根据实际值估计商店一天的总销售额。
逻辑回归
逻辑回归是一种分类算法,也被称为logit回归。
主要来说,逻辑回归是一种用于估计离散值(如0或1,真或假,是或否)的分类算法,基于一组独立变量。基本上,它预测概率,因此其输出范围在0到1之间。
决策树
决策树是一种主要用于分类问题的监督学习算法。
基本上,决策树是一个基于独立变量的递归分区表达的分类器。决策树有节点构成了一棵根树。根树是一种具有一个名为“根”的节点的有向树,根没有传入边,而所有其他节点都有一个传入边。这些节点被称为叶节点或决策节点。例如,下面是一个决定一个人是否健康适用的决策树示例。
支持向量机(SVM)
支持向量机可以用于分类和回归问题。但主要用于分类问题。SVM的基本概念是将每个数据项绘制为n维空间中的一个点,其中每个特征的值代表特定坐标。下面是一个简单的图形表示来理解SVM的概念:
在上面的图中,我们有两个特征,所以我们首先需要在这两个维度的空间中绘制这两个变量,称为支持向量。这条线分割了数据成两类不同的分类。这条线就是分类器。
贝叶斯分类器
贝叶斯分类器也是一种分类技术。其背后的逻辑是使用贝叶斯定理来构建分类器。假设预测因子是独立的。简单地说,它假定一个特征的存在与另一个特征的存在无关。以下是贝叶斯定理的方程:
贝叶斯模型易于构建,并特别适用于大数据集。
K-最近邻(KNN)
KNN可以用于分类和回归问题。广泛用于解决分类问题。该算法的主要概念是存储所有可用案例,并通过多数投票的方式对其k个邻居进行分类。案例将被分配给最常见于其K个最近邻的类别,测量的距离函数可以是欧几里得距离、闵可夫斯基距离或汉明距离。使用KNN时需要考虑以下几点:
-
-
需要对变量进行标准化,否则高范围变量可能会产生偏置。
-
K-均值聚类
顾名思义,K-均值聚类用于解决聚类问题。它是一种无监督学习的形式。K-均值聚类算法的基本逻辑是通过数量确定的数据簇来对数据集进行分类。按照以下步骤形成簇:
-
-
-
-
随机森林
随机森林是一种监督分类算法。随机森林算法的优点是可以用于分类和回归问题。基本上,随机森林是决策树的集合,或者说是由多个决策树组成的集合。随机森林的基本概念是每棵树给出一个分类,而森林从中选出最好的分类。随机森林算法的优点包括:
-
-
-
即使我们在森林中有更多的树,它也不会过度拟合模型。