决策树模型(3)决策树的生成与剪枝-编程思维

决策树的生成 有了信息增益和信息增益比,我就可以以此衡量特征的相对好坏,进而可以用于决策树的生成。相对应的基于信息增益计算的方法所生成的决策树的算法我们叫做ID3算法,而基于信息增益的算法我们叫做C4.5,二者唯一的区别就在于一个使用信息增益衡量特征好坏而另外一个使用信息增益比,因此本文重点讲述ID3算法。 ID3算法 特殊情况判断 如果数据集中所有的样本均属于同一类\(C_k\),那么直接

决策树模型(2)特征选择-编程思维

特征选择 特征选择问题 特征选择顾名思义就是对特征进行选择性截取,剔除掉冗余特征。这样能够减少决策树的复杂度。 比如在上面两图中,左图通过年龄来对样本进行分类,而右图通过工作对特征进行分类,二者究竟孰好孰坏,这是需要进行比较的。一个非常直接的想法就是仅用选择的特征去训练模型,然后得出用各个特征的准确率。但是显然这样做过于繁琐与复杂,通常特征选择的准则是信息增益或信息增益比。 信息增益与信息增益

决策树模型(1)总体介绍-编程思维

决策树 总体介绍 决策树模型顾名思义就是通过一条条的决策来将样本划分来从而达到分类或回归的目的。决策树模型呈树形结构,下图粗略展示了一个分类决策树 其中圆表示特征,方块表示叶子节点也是最终分类的类别,我们通过利用样本中高价值的特征(房子拥有情况,工作的拥有情况)来构建这么一个决策树,那么每当有新样本来临时就可以通过构建完成的决策树来对其进行分类。其中所有路径互斥且完备,即不存在两个相同的样本被

朴素贝叶斯模型-编程思维

朴素贝叶斯法 朴素贝叶斯是一种用先验概率估计后验概率的模型,通过估计先验概率得到样本和类别的近似联合概率,随后通过联合概率分布获得需要的后验概率分布进而实现分类。本次介绍的朴素贝叶斯法主要包括三块:总体思想(将后验概率转换为先验概率)、极大似然估计(使用极大似然法估计先验概率)、贝叶斯估计(使用贝叶斯估计得到先验概率)。 符号说明 设输入空间\(\mathcal{X}\subseteq \mat

in-batch negatives embedding模型介绍与实践-编程思维

语义索引(可通俗理解为向量索引)技术是搜索引擎、推荐系统、广告系统在召回阶段的核心技术之一。语义索引模型的目标是:给定输入文本,模型可以从海量候选召回库中快速、准确地召回一批语义相关文本。语义索引模型的效果直接决定了语义相关的物料能否被成功召回进入系统参与上层排序,从基础层面影响整个系统的效果。 In-batch negatives 我们采用百度paddleNLP里提到的In-batch Neg

k近邻模型-编程思维

k近邻模型 基本思想 \(k\)近邻算法还是很直观的,准确的来说它不是一种学习算法,而是一种统计方法,不具备学习过程,一次性就可以给出结果。 其本质思想是将特征空间划分成一个个的单元(\(cell\)),其中每个\(cell\)的区域由距离该点比其他点更近的所有点定义,所有的\(cell\)组成了整特征空间。 如上图所示: 考虑样本\(x_1\)构成的\(cell\),记作\(cell_{x_

机器学习策略篇:详解训练/开发/测试集划分(train/dev/test distributions)-编程思维

训练/开发/测试集划分 设立训练集,开发集和测试集的方式大大影响了或者团队在建立机器学习应用方面取得进展的速度。同样的团队,即使是大公司里的团队,在设立这些数据集的方式,真的会让团队的进展变慢而不是加快,看看应该如何设立这些数据集,让团队效率最大化。 在此,想集中讨论如何设立开发集和测试集,开发(dev)集也叫做开发集(development set),有时称为保留交叉验证集(hold out

数据预处理-编程思维

数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已 本文主要内容包括如下几点: 一、特征选择算法 具体介绍了:传统的特征选择算法(Wrapper methods、Filter methods、Embedded methods),以及:Laplacian Score拉普拉斯分数、Fisher Score等 二、数据降维算法 数据预处理(🐕特征选择和🐉数据降维度)原理以及python实

机器学习可解释性--shapvalue-编程思维

A Unified Approach to Interpreting Model Predictions trusting a prediction or trusting a model 如果⼀个机器学习模型运⾏良好,为什么我们仅仅信任该模型⽽忽略为什么做出特定的决策呢? 诸如分类准确性之类的单⼀指标⽆法完整地描述⼤多数实际任务。当涉及到预测模型时,需要作出权衡:你是只想知道预测是什么?例如,

机器学习策略篇:详解满足和优化指标(satisficing and optimizing metrics)-编程思维

满足和优化指标 要把顾及到的所有事情组合成单实数评估指标有时并不容易,在那些情况里,发现有时候设立满足和优化指标是很重要的,让我告诉是什么意思吧。 假设已经决定很看重猫分类器的分类准确度,这可以是\(F_1\)分数或者用其他衡量准确度的指标。但除了准确度之外,还需要考虑运行时间,就是需要多长时间来分类一张图。分类器\(A\)需要80毫秒,\(B\)需要95毫秒,\(C\)需要1500毫秒,就是

什么是huggingface-编程思维

一.HuggingFace简介1.HuggingFace是什么可以理解为对于AI开发者的GitHub,提供了模型、数据集(文本|图像|音频|视频)、类库(比如transformers|peft|accelerate)、教程等。2.为什么需要HuggingFace主要是HuggingFace把AI项目的研发流程标准化,即准备数据集、定义模型、训练和测试,如下所示:   二.HuggingFac

机器学习全面介绍-编程思维

1、引言 机器学*-计算机科学中软计算的子领域,从人工智能中的模式识别和计算学*理论研究演变而来。1959年,亚瑟·塞缪尔(Arthur Samuel)将机器学*定义为“一个研究领域,它赋予计算机无需明确编程就能学*的能

机器学习策略篇:详解正交化(orthogonalization)-编程思维

正交化 这是一张老式电视图片,有很多旋钮可以用来调整图像的各种性质,所以对于这些旧式电视,可能有一个旋钮用来调图像垂直方向的高度,另外有一个旋钮用来调图像宽度,也许还有一个旋钮用来调梯形角度,还有一个旋钮用来调整图像左右偏移,还有一个旋钮用来调图像旋转角度之类的。电视设计师花了大量时间设计电路,那时通常都是模拟电路来确保每个旋钮都有相对明确的功能。如一个旋钮来调整这个(高度),一个旋钮调整这个

机器学习策略篇:详解单一数字评估指标(single number evaluation metric)-编程思维

单一数字评估指标 无论是调整超参数,或者是尝试不同的学习算法,或者在搭建机器学习系统时尝试不同手段,会发现,如果有一个单实数评估指标,进展会快得多,它可以快速告诉,新尝试的手段比之前的手段好还是差。所以当团队开始进行机器学习项目时,经常推荐他们为问题设置一个单实数评估指标。 来看一个例子,之前听过说过,应用机器学习是一个非常经验性的过程,通常有一个想法,编程序,跑实验,看看效果如何,然后使用这

搜索引擎rag召回效果评测mteb介绍与使用入门-编程思维

RAG 评测数据集建设尚处于初期阶段,缺乏针对特定领域和场景的专业数据集。市面上常见的 MS-Marco 和 BEIR 数据集覆盖范围有限,且在实际使用场景中效果可能与评测表现不符。目前最权威的检索榜单是 HuggingFace MTEB,今天我们来学习使用MTEB,并来评测自研模型recall效果。 MTEB 是一个包含广泛文本嵌入(Text Embedding)的基准测试,它提供了多种语言的

机器学习策略篇:详解为什么是ml策略?(why ml strategy?)-编程思维

为什么是ML策略? 从一个启发性的例子开始讲,假设正在调试的猫分类器,经过一段时间的调整,系统达到了90%准确率,但对的应用程序来说还不够好。 可能有很多想法去改善的系统,比如,可能想去收集更多的训练数据吧。或者会说,可能的训练集的多样性还不够,应该收集更多不同姿势的猫咪图片,或者更多样化的反例集。或者想再用梯度下降训练算法,训练久一点。或者想尝试用一个完全不同的优化算法,比如Adam优化算法