简要总结
本视频概述了最重要的机器学习算法,旨在帮助观众根据问题选择合适的算法。视频将机器学习分为监督学习和无监督学习两大类,并详细介绍了各种算法,包括线性回归、逻辑回归、K近邻算法、支持向量机、朴素贝叶斯分类器、决策树、集成算法、神经网络、K-means聚类和主成分分析等。
- 监督学习:基于已知标签的数据进行预测,包括回归和分类问题。
- 无监督学习:在没有标签的数据中发现潜在结构,包括聚类和降维。
- 神经网络:通过多层隐藏层自动设计复杂特征,适用于图像识别等复杂问题。
- 集成算法:通过组合多个简单模型来提高预测准确性,如随机森林和boosting。
介绍:什么是机器学习?
视频开篇介绍了机器学习的定义,即利用统计算法从数据中学习并泛化到未知数据,从而在没有明确指令的情况下执行任务。强调了近年来人工智能的进步主要由神经网络驱动,并概述了视频的目标是帮助观众直观理解主要的机器学习算法,消除对机器学习的畏惧感。
监督学习
监督学习是指在拥有包含自变量(特征或输入变量)和因变量(目标或输出变量)的数据集上进行的学习。目标是基于训练数据集(其中输出变量的真实值已知)训练算法,以便预测新未知数据的输出变量。例如,根据房屋的特征(如面积、位置、建造年份等)预测房价,或者根据物体的特征(如高度、重量、耳朵大小、眼睛颜色等)将物体分类为猫或狗。
无监督学习
无监督学习是不属于监督学习的学习问题,即数据没有已知的真实标签。与监督学习算法需要展示猫和狗的典型特征不同,无监督学习算法需要处理一堆动物图片,并要求算法根据相似性进行分组,无需任何进一步的指导。无监督学习的例子包括将所有电子邮件分为三个未指定的类别,然后用户可以检查并根据需要命名这些类别。算法会自行决定如何创建这些类别,也称为聚类。
线性回归
线性回归是最基础的机器学习算法之一,用于预测连续数值目标变量。其目标是找到输入变量和输出变量之间的线性关系,通过最小化数据点与回归线之间距离的平方和来拟合线性方程。例如,通过回归分析发现身高每增加一个单位,鞋码平均增加2英寸。可以通过增加维度来使模型更复杂,例如在鞋码的例子中,可以包括性别、年龄和种族等特征,以获得更好的模型。许多复杂的机器学习算法,包括神经网络,都是这个简单思想的扩展。
逻辑回归
逻辑回归是线性回归的变体,是最基本的分类算法。与拟合数值变量之间的线性关系不同,逻辑回归用于预测分类输出变量。例如,根据身高和体重预测一个人的性别。逻辑回归不是拟合一条直线,而是拟合一个sigmoid函数,该函数可以给出数据点属于某个类别的概率。例如,身高180厘米的成年人是男性的可能性为80%。
K近邻算法 (KNN)
K近邻算法(KNN)是一种简单直观的算法,可用于回归和分类。它是一种非参数算法,意味着不需要拟合任何方程,也不需要寻找模型的任何参数。KNN的核心思想是,对于任何给定的新数据点,其目标值将预测为其K个最近邻的平均值。例如,一个人的性别将与体重和身高最接近的五个人的性别相同。K是一个超参数,选择合适的K值是一门艺术。
支持向量机 (SVM)
支持向量机(SVM)是一种监督学习算法,最初设计用于分类任务,但也可用于回归任务。该算法的核心概念是在数据点之间绘制决策边界,尽可能好地分离训练集的数据点。新的未知数据点将根据其相对于决策边界的位置进行分类。SVM算法尝试找到最大化不同类别之间空间(即最大化间隔)的线,这使得决策边界具有良好的泛化能力,并且对训练数据中的噪声和异常值不太敏感。支持向量是位于间隔边缘的数据点。SVM的一个优点是它在高维度上非常强大,并且可以使用核函数来识别高度复杂的非线性决策边界。
朴素贝叶斯分类器
朴素贝叶斯分类器得名于贝叶斯定理,常用于垃圾邮件过滤。该算法通过训练大量的垃圾邮件和非垃圾邮件,统计每个类别中不同单词的出现次数,从而计算出某些单词出现在垃圾邮件和非垃圾邮件中的概率。然后,通过使用贝叶斯定理,可以根据新邮件中包含的单词快速对其进行分类。该算法做出了一个错误的假设,即不同单词出现的概率彼此独立,因此被称为“朴素”贝叶斯分类器。
决策树
决策树是许多更复杂的监督学习算法的基础。决策树基本上是一系列的是非问题,允许我们将数据集划分为多个维度。决策树算法的目标是创建尽可能“纯”的叶节点,这意味着我们尝试找到使结果组或叶子尽可能纯的分割,也就是说,尽可能少的数据点被错误分类。
集成算法
集成算法是将多个简单模型组合成一个更强大的复杂模型。一种集成形式是bagging,其中我们使用一种称为bootstrap的方法在训练数据的不同子集上训练多个模型。
Bagging & 随机森林
随机森林是bagging的一个著名版本,其中许多决策树对数据的分类进行投票,通过不同树的多数投票来决定分类结果。随机森林是非常强大的估计器,可用于分类和回归。随机性来自于随机排除森林中不同树的特征,这可以防止过拟合,并使其更加稳健,因为它消除了树之间的相关性。
Boosting & 强学习器
另一种集成方法称为boosting,其中我们按顺序训练模型,而不是像随机森林那样并行运行许多决策树,每个模型都专注于修复先前模型所犯的错误。我们将一系列弱模型按顺序组合起来,从而成为一个强模型,因为每个顺序模型都试图修复先前模型的错误。
神经网络 / 深度学习
神经网络通过添加输入和输出变量之间的额外未知变量层来隐式和自动地设计这些特征,而无需人工指导。在最简单的形式中,这被称为单层感知器,它基本上只是一个多特征回归任务。如果我们添加一个隐藏层,中间层中的隐藏变量代表一些隐藏的未知特征,我们尝试用我们的输入特征来预测这些隐藏特征,然后尝试用我们的新隐藏特征来预测目标变量。深度学习可以产生非常复杂的隐藏特征,这些特征可能代表图片中的各种复杂信息,例如图片中存在人脸。
无监督学习 (再次)
无监督学习的目标是在数据中找到一些潜在的结构。
聚类 / K-means
聚类是一种常见的无监督学习问题。聚类与分类容易混淆,但它们在概念上非常不同。分类是我们知道要预测的类别,并且有带有真实标签的训练数据可用。聚类是我们没有任何标签,只想通过查看数据的整体结构并尝试在数据中找到潜在的聚类来找到未知的聚类。K-means聚类是最著名的聚类算法。就像KNN一样,K是一个超参数,代表您要寻找的聚类数。
降维
降维的思想是减少数据集的特征或维度数量,同时保留尽可能多的信息。通常,这类算法通过查找现有特征之间的相关性并删除潜在的冗余维度来实现这一点,而不会丢失太多信息。
主成分分析 (PCA)
主成分分析(PCA)是一种降维算法。例如,在预测鱼的类型时,如果发现长度和高度高度相关,那么同时包含这两个特征不会对算法有太大帮助,反而会引入噪声。我们可以简单地包含一个形状特征,它是两者的组合。PCA通过找到数据集中保留最多方差的方向来实现这一点。