 机器学习课程-温州大学-08机器学习-集成学习XGBoost 使用贪心方法,选增益( ???? )最大的分裂方式 贪心方法,众多????中找到最大值做为最优分割节点(split point),因此模型会 将所有样本按照(一阶梯度)从小到大排序,通过遍历,查看每个节点是否需要 分割,计算复杂度是:决策树叶子节点数 – 1。 XGBoost的分裂方式 35 4.LightGBM 01 集成学习方法概述 02 Adaboost和GBDT算法 4.LightGBM 直方图算法 直方图算法的基本思想是将连续的特征离散化为?个离散特征,同时构造 一个宽度为?的直方图用于统计信息(含有 ? 个 bin)。利用直方图算法 我们无需遍历数据,只需要遍历 ? 个 bin 即可找到最佳分裂点。 44 4.直方图算法 ? 1 2 3 4 5 6 7 8 ?? 0.1 2.1 2.5 3.0 3.0 4.0 4.5 5.0 ?? 0.010 码力 | 50 页 | 2.03 MB | 1 年前3 机器学习课程-温州大学-08机器学习-集成学习XGBoost 使用贪心方法,选增益( ???? )最大的分裂方式 贪心方法,众多????中找到最大值做为最优分割节点(split point),因此模型会 将所有样本按照(一阶梯度)从小到大排序,通过遍历,查看每个节点是否需要 分割,计算复杂度是:决策树叶子节点数 – 1。 XGBoost的分裂方式 35 4.LightGBM 01 集成学习方法概述 02 Adaboost和GBDT算法 4.LightGBM 直方图算法 直方图算法的基本思想是将连续的特征离散化为?个离散特征,同时构造 一个宽度为?的直方图用于统计信息(含有 ? 个 bin)。利用直方图算法 我们无需遍历数据,只需要遍历 ? 个 bin 即可找到最佳分裂点。 44 4.直方图算法 ? 1 2 3 4 5 6 7 8 ?? 0.1 2.1 2.5 3.0 3.0 4.0 4.5 5.0 ?? 0.010 码力 | 50 页 | 2.03 MB | 1 年前3
 机器学习课程-温州大学-07机器学习-决策树个离散值。 分类标准是:每一次将其中一个特征 分为一类,其他非该特征分为另一类 。依照这个标准遍历所有分类情况, 计算每个分类下的基尼指数,最后选 择最小的作为最终的特征划分。 比如第1次取{?1}为类别1,那么剩下的特征{?2 , ?3,……, ??−1, ??}为类别2,由此 遍历,第?次取{ ??}为类别1,那么剩下的特征{?1,?2 , ?3,……, ??−1}为类别2。 这种方法需要使用一个单独的测试数据集来评估所有的树,根据它们在测试数据 集熵的分类性能选出最佳的树。 36 CART算法 CART剪枝 具体流程: (1)计算每一个结点的条件熵 (2)递归的从叶子节点开始往上遍历, 减掉叶子节点,然后判断损失函数的 值是否减少,如果减少,则将父节点 作为新的叶子节点 (3)重复(2),直到完全不能剪枝. 平坦 纹理 色泽 好瓜 坏瓜 根蒂 色泽 脐部 坏瓜0 码力 | 39 页 | 1.84 MB | 1 年前3 机器学习课程-温州大学-07机器学习-决策树个离散值。 分类标准是:每一次将其中一个特征 分为一类,其他非该特征分为另一类 。依照这个标准遍历所有分类情况, 计算每个分类下的基尼指数,最后选 择最小的作为最终的特征划分。 比如第1次取{?1}为类别1,那么剩下的特征{?2 , ?3,……, ??−1, ??}为类别2,由此 遍历,第?次取{ ??}为类别1,那么剩下的特征{?1,?2 , ?3,……, ??−1}为类别2。 这种方法需要使用一个单独的测试数据集来评估所有的树,根据它们在测试数据 集熵的分类性能选出最佳的树。 36 CART算法 CART剪枝 具体流程: (1)计算每一个结点的条件熵 (2)递归的从叶子节点开始往上遍历, 减掉叶子节点,然后判断损失函数的 值是否减少,如果减少,则将父节点 作为新的叶子节点 (3)重复(2),直到完全不能剪枝. 平坦 纹理 色泽 好瓜 坏瓜 根蒂 色泽 脐部 坏瓜0 码力 | 39 页 | 1.84 MB | 1 年前3
 动手学深度学习 v2.0很熟悉。因此,尽管单个向量的默认方向是列向量,但在表示表格数据集的矩阵中,将每个数据样本作为矩 阵中的行向量更为常见。后面的章节将讲到这点,这种约定将支持常见的深度学习实践。例如,沿着张量的 最外轴,我们可以访问或遍历小批量的数据样本。 2.3.4 张量 就像向量是标量的推广,矩阵是向量的推广一样,我们可以构建具有更多轴的数据结构。张量(本小节中的 “张量”指代数对象)是描述具有任意数量轴的n维数组的通用方法。例如,向量是一阶张量,矩阵是二阶张 它通过不断地在损失函数递减的方向上更新参数来降低误差。 梯度下降最简单的用法是计算损失函数(数据集中所有样本的损失均值)关于模型参数的导数(在这里也可 以称为梯度)。但实际中的执行可能会非常慢:因为在每一次更新参数之前,我们必须遍历整个数据集。因此, 我们通常会在每次需要计算更新的时候随机抽取一小批样本,这种变体叫做小批量随机梯度下降(minibatch stochastic gradient descent)。 在每次 d2l import torch as d2l 为了说明矢量化为什么如此重要,我们考虑对向量相加的两种方法。我们实例化两个全为1的10000维向量。 在一种方法中,我们将使用Python的for循环遍历向量;在另一种方法中,我们将依赖对+的调用。 n = 10000 a = torch.ones([n]) b = torch.ones([n]) 由于在本书中我们将频繁地进行运行时间的基准测试,所以我们定义一个计时器:0 码力 | 797 页 | 29.45 MB | 1 年前3 动手学深度学习 v2.0很熟悉。因此,尽管单个向量的默认方向是列向量,但在表示表格数据集的矩阵中,将每个数据样本作为矩 阵中的行向量更为常见。后面的章节将讲到这点,这种约定将支持常见的深度学习实践。例如,沿着张量的 最外轴,我们可以访问或遍历小批量的数据样本。 2.3.4 张量 就像向量是标量的推广,矩阵是向量的推广一样,我们可以构建具有更多轴的数据结构。张量(本小节中的 “张量”指代数对象)是描述具有任意数量轴的n维数组的通用方法。例如,向量是一阶张量,矩阵是二阶张 它通过不断地在损失函数递减的方向上更新参数来降低误差。 梯度下降最简单的用法是计算损失函数(数据集中所有样本的损失均值)关于模型参数的导数(在这里也可 以称为梯度)。但实际中的执行可能会非常慢:因为在每一次更新参数之前,我们必须遍历整个数据集。因此, 我们通常会在每次需要计算更新的时候随机抽取一小批样本,这种变体叫做小批量随机梯度下降(minibatch stochastic gradient descent)。 在每次 d2l import torch as d2l 为了说明矢量化为什么如此重要,我们考虑对向量相加的两种方法。我们实例化两个全为1的10000维向量。 在一种方法中,我们将使用Python的for循环遍历向量;在另一种方法中,我们将依赖对+的调用。 n = 10000 a = torch.ones([n]) b = torch.ones([n]) 由于在本书中我们将频繁地进行运行时间的基准测试,所以我们定义一个计时器:0 码力 | 797 页 | 29.45 MB | 1 年前3
 【PyTorch深度学习-龙龙老师】-测试版202112数 预览版202112 5.8 MNIST 测试实战 31 # training... 此外,也可以通过设置 Dataset 对象,使得数据集对象内部遍历多次才会退出,实现如下: train_db = train_db.repeat(20) # 数据集迭代 20 遍才终止 上述代码使得 for x,y in train_db 循环迭代 20 个 step, (x, y) in enumerate(zip(normed_train_data.chunk(10), train_labels.chunk(10))): # 遍历一次训练集 out = model(x) # 通过网络获得输出 loss = F.mse_loss(out, y) # 计算 MSE mae_loss load('model-savedmodel') # 准确率计量器 acc_meter = metrics.CategoricalAccuracy() for x,y in ds_val: # 遍历测试集 pred = network(x) # 前向计算 acc_meter.update_state(y_true=y, y_pred=pred) # 更新准确率统计 #0 码力 | 439 页 | 29.91 MB | 1 年前3 【PyTorch深度学习-龙龙老师】-测试版202112数 预览版202112 5.8 MNIST 测试实战 31 # training... 此外,也可以通过设置 Dataset 对象,使得数据集对象内部遍历多次才会退出,实现如下: train_db = train_db.repeat(20) # 数据集迭代 20 遍才终止 上述代码使得 for x,y in train_db 循环迭代 20 个 step, (x, y) in enumerate(zip(normed_train_data.chunk(10), train_labels.chunk(10))): # 遍历一次训练集 out = model(x) # 通过网络获得输出 loss = F.mse_loss(out, y) # 计算 MSE mae_loss load('model-savedmodel') # 准确率计量器 acc_meter = metrics.CategoricalAccuracy() for x,y in ds_val: # 遍历测试集 pred = network(x) # 前向计算 acc_meter.update_state(y_true=y, y_pred=pred) # 更新准确率统计 #0 码力 | 439 页 | 29.91 MB | 1 年前3
 机器学习课程-温州大学-06机器学习-KNN算法圆心,目标点到叶子节点的距离为半径,建立一个超 球体,我们要找寻的最近邻点一定是在该球体内部。 搜索(4,4)的最近邻时。首先从根节点(6,4)出发 ,将当前最近邻设为(6,4),对该KD树作深度优先 遍历。以(4,4)为圆心,其到(6,4)的距离为半径 画圆(多维空间为超球面),可以看出(7,2)右侧 的区域与该圆不相交,所以(7,2)的右子树全部忽 略。 23 KD树搜索 2.返回叶子结点的父节点,检查另一个子结点包含的 4)的整个右子树被标记为已忽 略。 24 KD树搜索 3.如果不相交直接返回父节点,在另一个子 树继续搜索最近邻。 4.当回溯到根节点时,算法结束,此时保存 的最近邻节点就是最终的最近邻。 遍历完(4,5)的左右叶子节点,发现与当 前最优距离相等,不更新最近邻。 所以(4,4)的最近邻为(4,5)。 25 参考文献 [1] Andrew Ng. Machine Learning[EB/OL]0 码力 | 26 页 | 1.60 MB | 1 年前3 机器学习课程-温州大学-06机器学习-KNN算法圆心,目标点到叶子节点的距离为半径,建立一个超 球体,我们要找寻的最近邻点一定是在该球体内部。 搜索(4,4)的最近邻时。首先从根节点(6,4)出发 ,将当前最近邻设为(6,4),对该KD树作深度优先 遍历。以(4,4)为圆心,其到(6,4)的距离为半径 画圆(多维空间为超球面),可以看出(7,2)右侧 的区域与该圆不相交,所以(7,2)的右子树全部忽 略。 23 KD树搜索 2.返回叶子结点的父节点,检查另一个子结点包含的 4)的整个右子树被标记为已忽 略。 24 KD树搜索 3.如果不相交直接返回父节点,在另一个子 树继续搜索最近邻。 4.当回溯到根节点时,算法结束,此时保存 的最近邻节点就是最终的最近邻。 遍历完(4,5)的左右叶子节点,发现与当 前最优距离相等,不更新最近邻。 所以(4,4)的最近邻为(4,5)。 25 参考文献 [1] Andrew Ng. Machine Learning[EB/OL]0 码力 | 26 页 | 1.60 MB | 1 年前3
 机器学习课程-温州大学-08深度学习-深度卷积神经网络迁移学习步骤 1.使用预训练的模型 net = models.resnet18(pretrained=True) 2.冻结模型权重 for param in net.parameters(): #遍历每个模型参数 param.requires_grad = False #参数梯度为False • VGG • ResNet • SqueezeNet • DenseNet • Inception0 码力 | 32 页 | 2.42 MB | 1 年前3 机器学习课程-温州大学-08深度学习-深度卷积神经网络迁移学习步骤 1.使用预训练的模型 net = models.resnet18(pretrained=True) 2.冻结模型权重 for param in net.parameters(): #遍历每个模型参数 param.requires_grad = False #参数梯度为False • VGG • ResNet • SqueezeNet • DenseNet • Inception0 码力 | 32 页 | 2.42 MB | 1 年前3
 机器学习课程-温州大学-09深度学习-目标检测(准确度有优势) 3.基于深度学习的One Stage目标检测框架 (速度有优势) 11 1.目标检测概述 1.传统的目标检测框架 (1)候选区域选择(采用不同尺寸、比例的滑动窗口对图像进行遍历); (2)对不同的候选区域进行特征提取(SIFT、HOG等); (3)使用分类器进行分类(SVM、Adaboost等)。 12 1.目标检测概述 2.基于深度学习的Two Stages目标检测框架0 码力 | 43 页 | 4.12 MB | 1 年前3 机器学习课程-温州大学-09深度学习-目标检测(准确度有优势) 3.基于深度学习的One Stage目标检测框架 (速度有优势) 11 1.目标检测概述 1.传统的目标检测框架 (1)候选区域选择(采用不同尺寸、比例的滑动窗口对图像进行遍历); (2)对不同的候选区域进行特征提取(SIFT、HOG等); (3)使用分类器进行分类(SVM、Adaboost等)。 12 1.目标检测概述 2.基于深度学习的Two Stages目标检测框架0 码力 | 43 页 | 4.12 MB | 1 年前3
 机器学习课程-温州大学-10机器学习-聚类首先,初始化称为簇质心的任意点。初始化 时,必须注意簇的质心必须小于训练数据点 的数目。因为该算法是一种迭代算法,接下 来的两个步骤是迭代执行的。 18 2.K-means聚类 K-means算法流程 初始化后,遍历所有数据点,计算所有质心 与数据点之间的距离。现在,这些簇将根据 与质心的最小距离而形成。在本例中,数据 分为3个簇(? = 3)。 簇赋值 19 2.K-means聚类 K-means算法流程0 码力 | 48 页 | 2.59 MB | 1 年前3 机器学习课程-温州大学-10机器学习-聚类首先,初始化称为簇质心的任意点。初始化 时,必须注意簇的质心必须小于训练数据点 的数目。因为该算法是一种迭代算法,接下 来的两个步骤是迭代执行的。 18 2.K-means聚类 K-means算法流程 初始化后,遍历所有数据点,计算所有质心 与数据点之间的距离。现在,这些簇将根据 与质心的最小距离而形成。在本例中,数据 分为3个簇(? = 3)。 簇赋值 19 2.K-means聚类 K-means算法流程0 码力 | 48 页 | 2.59 MB | 1 年前3
 机器学习课程-温州大学-12深度学习-自然语言处理和词嵌入训练步骤到此结束。我们从这一步骤中得到稍微好一点的嵌入(`not` ,`thou`,`aaron`和`taco`)。我们现在进行下一步(下一个正样本及 其相关的负样本),并再次执行相同的过程。 当我们循环遍历整个数据集多次时,嵌入继续得到改进。然后我们可以停 止训练过程,丢弃`Context`矩阵,并使用`Embeddings`矩阵作为下一个任务 的预训练嵌入。 27 4.GloVe 03 Word2Vec0 码力 | 44 页 | 2.36 MB | 1 年前3 机器学习课程-温州大学-12深度学习-自然语言处理和词嵌入训练步骤到此结束。我们从这一步骤中得到稍微好一点的嵌入(`not` ,`thou`,`aaron`和`taco`)。我们现在进行下一步(下一个正样本及 其相关的负样本),并再次执行相同的过程。 当我们循环遍历整个数据集多次时,嵌入继续得到改进。然后我们可以停 止训练过程,丢弃`Context`矩阵,并使用`Embeddings`矩阵作为下一个任务 的预训练嵌入。 27 4.GloVe 03 Word2Vec0 码力 | 44 页 | 2.36 MB | 1 年前3
 机器学习课程-温州大学-12机器学习-关联规则(1)构建FP树; (2)从FP树中挖掘频繁项集。 28 3.FP-Growth算法 FP-growth算法思想 该算法和Apriori算法最大的不同有两点: 第一,不产生候选集 第二,只需要两次遍历数据库,大大提高了效率。 29 3.FP-Growth算法 FP-Tree ( Frequent Pattern Tree ) FP树(FP-Tree)是由数据库的初始项集组成的树状结构。 FP树的目的是挖掘最0 码力 | 49 页 | 1.41 MB | 1 年前3 机器学习课程-温州大学-12机器学习-关联规则(1)构建FP树; (2)从FP树中挖掘频繁项集。 28 3.FP-Growth算法 FP-growth算法思想 该算法和Apriori算法最大的不同有两点: 第一,不产生候选集 第二,只需要两次遍历数据库,大大提高了效率。 29 3.FP-Growth算法 FP-Tree ( Frequent Pattern Tree ) FP树(FP-Tree)是由数据库的初始项集组成的树状结构。 FP树的目的是挖掘最0 码力 | 49 页 | 1.41 MB | 1 年前3
共 11 条
- 1
- 2













