在进行特定编程的情况下,给予计算机学习的能力。
机器学习是一种人工智能的分支,它关注如何通过计算机算法和模型来使计算机系统从数据中学习和改进。机器学习的目标是让计算机系统能够自动分析和理解数据,并根据数据的模式和规律做出预测和决策,而无需明确的编程指令。
机器学习可以分为监督学习、无监督学习和强化学习三种类型。在监督学习中,计算机系统通过使用带有标签的训练数据来学习模式和规律,然后根据这些模式和规律对新的未标记数据进行预测。无监督学习则是通过对未标记数据进行聚类和降维等操作来发现数据中的模式和结构。强化学习是一种通过与环境进行交互来学习最优行为策略的方法。
机器学习在各个领域都有广泛的应用,包括图像和语音识别、自然语言处理、推荐系统、金融预测等。它已经成为现代科技和商业领域中不可或缺的一部分。
一个好的程序被认为能从经验E中学习,解决任务T,达到性能度量值P,当且仅当有了经验E后,经过P评判,程序在处理T时的性能有所提升,经验E就是程序上万次的自我联系的经验而任务T就是下棋。性能度量值P就是它在与一些新的对手比赛时,赢得比赛的概率。
监督学习指的就是我们给学习算法一个数据集,这个数据集由“正确答案”组成。监督学习就是根据已有数据测试以后得到结果,
支持向量机:能让计算机处理无限多个特征。
监督学习是一种机器学习方法,其中模型通过使用带有标签的训练数据来学习输入和输出之间的映射关系。在监督学习中,我们提供给算法的训练数据包含了输入特征和对应的输出标签。模型通过学习这些训练数据来预测新的未标记数据的输出。
一个经典的监督学习案例是手写数字识别。在这个案例中,我们提供了一组手写数字的图像作为训练数据,每个图像都有一个对应的标签,表示图像中的数字是什么。通过训练一个监督学习模型,我们可以将新的手写数字图像分类为正确的数字。
另一个例子是垃圾邮件过滤。在这个案例中,我们提供了一组带有标签的电子邮件数据,其中标签指示该邮件是垃圾邮件还是正常邮件。通过训练一个监督学习模型,我们可以预测新的电子邮件是否是垃圾邮件。
监督学习中的回归问题和分类问题有不同的目的和应用场景。
回归问题主要用于预测连续的数值结果。例如,预测房价、股票价格等涉及到连续变化的数值。解决回归问题时,通常使用线性回归、多项式回归、决策树回归等算法。
分类问题则是将输入数据分为不同的类别或标签。例如,垃圾邮件分类器可以将邮件分为“垃圾邮件”或“非垃圾邮件”,或者根据图像识别将图片分类为不同的物体或场景。解决分类问题时,常用的算法包括逻辑回归、支持向量机、决策树、随机森林和神经网络等。
无论是回归问题还是分类问题,都需要有一个训练样本作为输入,这个样本集包含输入特征和相应的目标值或标签。通过训练样本,算法可以学习输入特征与目标值之间的关系,从而对新的输入数据进行预测。
需要注意的是,回归问题和分类问题并不是完全独立的,有些情况下,一个任务可能既涉及到分类也涉及到回归。例如,在预测房价的任务中,虽然最终结果是连续的数值,但也可以将房价分为不同的区间类别(如低价、中价和高价),然后使用分类算法进行预测。
无监督学习中是没有任何的标签或者是有相同的标签或者就是没有标签,所以我们已知数据集,却不知如何处理。
无监督学习算法可能会把这些数据分为两个不同的簇,叫做聚类算法。
无监督学习它是学习策略,交给算法大量的数据,并让算法为我们从数据中找出某种结构。
案例:许多公司有大型的数据库,存储消费者的信息,所以,你能检索这些顾客数据集,自动地发现市场分类,并自动地把顾客划分到不同的细分市场中,你才能自动并更有效地销售或不同的细分市场一起进行销售,这也是无监督学习。
垃圾邮件问题:如果你有标记好的数据,区别是垃圾还是非垃圾邮件,这就是监督学习问题。
新闻时间分类:就是谷歌新闻的案例,可以用一个聚类算法来聚集这些文章,这是无监督学习。
细分市场的案例可以当作无监督学习问题,因为是只拿到算法数据,再让算法去自动地发现细分市场。
无监督学习是机器学习中的一种训练方式/学习方式。它无须在已标记数据(即结果已知的数据)上训练模型,而是从数据中提取意义。无监督学习常常被用于数据挖掘,用于在大量无标签数据中发现模式。
以下是关于无监督学习的案例介绍:
用户细分:广告平台通过无监督学习将用户按照性别、年龄、地理位置等维度进行细分,以实现更精准的广告投放。例如,通过用户行为对用户进行分类,可以发现一些购买行为相似的用户,推荐这类用户最“喜欢”的商品。
聚类分析:聚类分析是一种常见的无监督学习方法,它将数据集中的数据自动分类,使得同一类别的数据之间具有更多的相似性。例如,在社交媒体平台上,无监督学习可以用于发现具有相似兴趣的用户群体,以便更精准地推送相关内容。
聚类算法则是无监督学习中的一种重要方法,用于将数据集中的数据按照相似性进行分类。聚类算法的目的是使得同一类别的数据尽可能相似,不同类别的数据尽可能不同。以下是关于聚类算法的介绍:
聚类算法的基本原理:聚类算法通过计算数据点之间的距离或相似度来将数据分组。距离或相似度的计算方法可以根据具体的问题和数据类型来确定。常见的距离度量方法包括欧氏距离、曼哈顿距离等。
常见的聚类算法:常见的聚类算法包括K-means、层次聚类、DBSCAN等。K-means是一种非常流行的聚类算法,它通过迭代的方式将数据划分为K个类别,使得每个数据点到其所在类别中心的距离之和最小。层次聚类则是一种自底向上的聚类方法,它将每个数据点视为一个类别,然后不断地合并类别以形成最终的聚类结果。DBSCAN是一种基于密度的聚类算法,它能够发现任意形状的聚类,并且能够处理噪声点。
聚类的应用:聚类算法在许多领域中都有广泛的应用,例如市场细分、图像分割、生物信息学等。在市场营销中,通过将客户群体进行聚类,可以发现具有相似需求的客户群体,从而制定更精准的市场策略。在图像分割中,聚类算法可以将图像中的像素点进行分类,从而将图像划分为不同的区域或对象。在生物信息学中,聚类算法可以用于基因表达数据的分析,以发现具有相似表达模式的基因群。
总之,无监督学习和聚类算法是机器学习中的重要概念和方法,它们在数据分析、模式识别和预测等领域中具有广泛的应用前景。
a.模型表示
让我们通过一个例子来开始:这个例子是预测住房价格的,我们要使用一个数据集,数
据集包含俄勒冈州波特兰市的住房价格。在这里,我要根据不同房屋尺寸所售出的价格,画
出我的数据集。比方说,如果你朋友的房子是 1250 平方尺大小,你要告诉他们这房子能卖
多少钱。那么,你可以做的一件事就是构建一个模型,也许是条直线,从这个数据模型上来
看,也许你可以告诉你的朋友,他能以大约 220000(美元)左右的价格卖掉这个房子。这就是监督学习算法的一个例子。
它被称作监督学习是因为对于每个数据来说,我们给出了“正确的答案”,即告诉我们:
根据我们的数据来说,房子实际的价格是多少,而且,更具体来说,这是一个回归问题。回
归一词指的是,我们根据之前的数据预测出一个准确的输出值,对于这个例子就是价格,同
时,还有另一种最常见的监督学习方式,叫做分类问题,当我们想要预测离散的输出值,例
如,我们正在寻找癌症肿瘤,并想要确定肿瘤是良性的还是恶性的,这就是 0/1 离散输出的
问题。更进一步来说,在监督学习中我们有一个数据集,这个数据集被称训练集。
? 代表 hypothesis(假设),?表示一个函数,输入是房屋尺寸大小,就像你朋友想出售
的房屋,因此 ? 根据输入的 𝑥值来得出 𝑦 值,𝑦 值对应房子的价格 因此,? 是一个从𝑥
到 𝑦 的函数映射。
一种可能的表达方式为:?𝜃
(𝑥) = 𝜃0 + 𝜃1𝑥,因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题。
用来进行预测的函数,是这样的线性函数形式:?𝜃(𝑥) = 𝜃0 + 𝜃1𝑥。
为模型选择合适的参数(parameters)𝜃0 和 𝜃1,在房价问题这个例子中便是直线的斜率和在𝑦 轴上的截距。我们选择的参数决定了我们得到的直线相对于我们的训练集的准确程度,模型所预测的值与训练集中实际值之间的差距(下图中蓝线所指)就是建模误差(modeling error)。
我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数。 即使得代价函数
则可以看出在三维空间中存在一个使得𝐽(𝜃0, 𝜃1)最小的点。
代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。我们之所以要求出
误差的平方和,是因为误差平方代价函数,对于大多数问题,特别是回归问题,都是一个合
理的选择。还有其他的代价函数也能很好地发挥作用,但是平方误差代价函数可能是解决回
归问题最常用的手段了。
代价函数在机器学习中是一个非常重要的概念,它用于衡量模型预测结果的误差或损失。代价函数越小,说明模型的预测结果越接近真实值。
在监督学习中,我们通常使用已知的输入和输出数据来训练模型,并使用代价函数来评估模型的预测结果。常见的代价函数包括均方误差、交叉熵等。这些代价函数分别适用于不同的任务,例如回归问题、分类问题等。
在无监督学习中,我们通常使用无标签的数据来训练模型,并使用代价函数来评估模型的聚类结果或降维结果。常见的无监督学习代价函数包括轮廓系数、Calinski-Harabasz指数等。
此外,为了找到最优的模型参数,我们通常需要使用优化算法来最小化代价函数。常见的优化算法包括梯度下降、牛顿法、拟牛顿法等。这些算法通过迭代的方式不断更新模型参数,以最小化代价函数。
总之,代价函数是机器学习中一个重要的概念,它用于评估模型的预测结果和参数。选择合适的代价函数和优化算法对于机器学习的性能和效果至关重要。
实际上其实就是求出代价函数的最小值。
代价函数的样子,等高线图,则可以看出在三维空间中存在一个使得𝐽(𝜃0, 𝜃1)最小的点。我希望你能更好地理解这些代价函数𝐽所表达的值是什么样的,它们对应的假设是什么样的,以及什么样的假设对应的点,更接近于代价函数𝐽的最小值。当然,我们真正需要的是一种有效的算法,能够自动地找出这些使代价函数𝐽取最小值的参数𝜃0和𝜃1来。
常常会将得到的最终误差值除以2,这是因为在许多机器学习算法和优化问题中,通过最小代价函数来求解模型参数,其中最常用的是,常用除以2的操作,均方误差的定义是所有样本误差的平方和的平均值,当对均方误差进行求导是系数2可以消除平方项的系数。
梯度下降是一个用来求函数最小值的算法。
梯度下降背后的思想是:开始时我们随机选择一个参数的组合(𝜃0, 𝜃1, . . . . . . , 𝜃𝑛),计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到到一个局部最小值(local minimum),因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值(global minimum),选择不同的初始参数组合,可能会找到不同的局部最小值。
批量梯度下降(batch gradient descent)算法的公式为:
其中𝑎是学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向
向下迈出的步子有多大,在批量梯度下降中,我们每一次都同时让所有的参数减去学习速率
乘以代价函数的导数。
梯度下降是一种迭代优化算法,用于寻找函数的局部最小值。它在机器学习和深度学习中广泛应用。
在梯度下降中,我们从一个初始点出发,然后沿着函数在该点的负梯度方向向下走一步,再在新的位置上寻找下一个梯度,重复这个过程直到达到某个停止条件(如梯度小于某个阈值,或者达到预设的最大迭代次数)。
梯度下降的关键在于如何选择步长,这会影响算法的收敛速度和最终达到的局部最小值。常见的步长选择方法包括固定步长、学习率衰减等。
梯度下降的一个优点是它可以在大数据集上有效运行,因为它每次只基于当前位置的梯度进行更新,而不是整个数据集。但是,梯度下降也有一些局限性,如可能陷入局部最小值,以及在非凸函数上的表现不佳。
在机器学习中,梯度下降常用于优化损失函数以找到最佳的模型参数。例如,在神经网络的训练中,我们通常使用梯度下降来最小化损失函数,从而得到最佳的权重和偏置参数。
总的来说,梯度下降是一种简单而有效的优化算法,尤其适用于大规模数据集和复杂的模型。
梯度下降算法如下:
描述:对𝜃赋值,使得𝐽(𝜃)按梯度下降最快方向进行,一直迭代下去,最终得到局部最
小值。其中𝑎是学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大。
如果𝑎太小了,即我的学习速率太小,结果就是只能这样像小宝宝一样一点点地挪动,
去努力接近最低点,这样就需要很多步才能到达最低点,所以如果𝑎太小的话,可能会很慢,因为它会一点点挪动,它会需要很多步才能到达全局最低点。
如果𝑎太大,那么梯度下降法可能会越过最低点,甚至可能无法收敛,下一次迭代又移
动了一大步,越过一次,又越过一次,一次次越过最低点,直到你发现实际上离最低点越来越远,所以,如果𝑎太大,它会导致无法敛,甚至发散。
梯度下降算法和线性回归算法比较如图:
对我们之前的线性回归问题运用梯度下降法,关键在于求出代价函数的导数,即:
批量梯度下降”,指的是在梯度下降的每一步中,我们都用到了
所有的训练样本,在梯度下降中,在计算微分求导项时,我们需要进行求和运算,所以,在
每一个单独的梯度下降中,我们最终都要计算这样一个东西,这个项需要对所有𝑚个训练样
本求和。
它可以在不需要多步梯度下降的情况下,也能解出代价函数𝐽的最小值,这是另一种称为正规方程(normal equations)的方法。实际上在数据量较大的情况下,梯度下降法比正规方程要更适用一些。
线性回归的梯度下降是结合了梯度下降算法和线性回归模型的优化方法。它利用梯度下降来最小化平方误差代价函数,以找到最佳的线性回归模型参数。
在梯度下降的线性回归中,首先对参数θ进行初始化,然后通过迭代更新参数,使得代价函数(通常是平方误差函数)的值逐渐减小。在每一次迭代中,根据代价函数对参数θ的偏导数(即梯度),计算出参数减少的方向和步长,从而更新参数θ。
具体来说,线性回归的梯度下降算法可以分为以下步骤:
1.初始化参数θ为一个随机值或者全零向量。
2.计算代价函数对于参数θ的梯度,即代价函数对每个特征的偏导数。
3.根据梯度方向和步长更新参数θ。
4.重复步骤2和3,直到达到预设的停止条件(如梯度小于某个阈值,或者达到预设的最大迭代次数)。
通过梯度下降的线性回归,我们可以找到最佳的线性回归模型参数,使得模型能够更好地拟合训练数据,并提高预测精度。
矩阵的维数即行数×列数。
向量是一种特殊的矩阵,讲义中的向量一般都是列向量。
矩阵乘法:
单位矩阵:在矩阵的乘法中,有一种矩阵起着特殊的作用,如同数的乘法中的 1,我们称
这种矩阵为单位矩阵.它是个方阵,一般用 𝐼 或者 𝐸 表示,本讲义都用 𝐼 代表单位矩阵,
从左上角到右下角的对角线(称为主对角线)上的元素均为 1 以外全都为 0。如:
对于单位矩阵,有𝐴𝐼 = 𝐼𝐴 = 𝐴
矩阵的乘法不满足交换律:𝐴 × 𝐵 ≠ 𝐵 × 𝐴
矩阵的乘法满足结合律。即:𝐴 × (𝐵 × 𝐶) = (𝐴 × 𝐵) × 𝐶
矩阵转置: