《机器学习》——聚类
聚类任务 聚类是无监督学习任务,样本的标记信息未知,聚类试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个簇,聚类仅能自动形成簇结构,不一定具有明确的概念语义 聚类既可以作为一个单独过程,寻找数据内在的分布结构,也可作为其他任务的前驱过程 输入样本集包含m个无标记样本,聚类为每个样本生成一个簇标记,聚类结果可用一串簇标记向量表示 性能度量 聚类的性能度量大致分为两...
聚类任务 聚类是无监督学习任务,样本的标记信息未知,聚类试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个簇,聚类仅能自动形成簇结构,不一定具有明确的概念语义 聚类既可以作为一个单独过程,寻找数据内在的分布结构,也可作为其他任务的前驱过程 输入样本集包含m个无标记样本,聚类为每个样本生成一个簇标记,聚类结果可用一串簇标记向量表示 性能度量 聚类的性能度量大致分为两...
基本概念 LangChain是一个用于开发基于LLM应用的框架,LangChain由以下包构成 langchain-core:包含核心组件 langchain:包含了通用的模型、链等组件 langchain-community:由社区维护,包含第三方集成 langchain-*:langchain将一些流行的集成,如openai,单独拆分到各自的包中 langgra...
语言模型 大语言模型(LLM)是通过预测下一个词的监督学习方式进行训练的。具体来说,首先准备一个包含数百亿甚至更多词的大规模文本数据集。然后,可以从这些文本中提取句子或句子片段作为模型输入。模型会根据当前输入预测下一个词的概率分布。通过不断比较模型预测和实际的下一个词,并更新模型参数最小化两者差异,语言模型逐步掌握了语言的规律,学会了预测下一个词 LLM主要可以分为两类 基础语言模型(...
提示词设计原则 在LLM开发中,通常将LLM的输入称为Prompt,将LLM的输出称为Completion 提示词(Prompt)设计的两个关键原则 编写清晰、具体的指令 给予模型充足的思考时间 编写清晰、具体的指令 通常,使用更长、更复杂的prompt会取得更好的效果,因为复杂的prompt中包含了更丰富的上下文信息 在编写prompt时,有以下编写技巧 ...
泛型 函数泛型 fn foo<T>(arg: &T) -> &T { // ... } // 显式指定泛型参数 foo::<i32>(...); 结构体泛型 struct Point<T> { x: T, y: T } // 显式指定泛型参数 let point: Point<i32>...
开始 本章节介绍rust中的三个常用集合 vector String HashMap 三种集合在内存分配上遵循相同的模式,即在栈上保存一个固定大小的结构体,其中包含一个指向存储元素的堆内存的指针,直接赋值时发生所有权移动 vector Vector表示一个长度可变的数组,是一个类型为Vec<T>的结构体 创建vector 使用new()关联函数创建一...
开始 rust中的错误处理并不像其他语言一样使用异常处理错误,rust将错误分为不可恢复错误和可恢复错误 对于可恢复错误,使用Result<T, E>类型进行处理 对于不可恢复错误,使用panic进行处理 不可恢复错误 使用panic来处理不可恢复的错误,有两种行为会产生panic 代码执行错误,如越界访问 显式调用panic!宏 ...
开始 rust的模块化包含以下概念 包:一个包包含多个crates,每个包都有一个Cargo.toml文件,一个包可以看做一个项目 crates:一个crates是一个编译单元,可以是一个可执行文件或一个库 模块:一个模块表示一个命名空间,一个crates中包含多个模块,可以控制模块的可访问性 路径:访问一个模块或模块成员的方式,使用::作为分隔符 包和crate ...
枚举 使用enum关键字声明一个枚举类型 enum IpAddress { V4, V6 } let ipv4 = IpAddress::V4; let ipv6 = IpAddress::V6; 枚举类型中的每个成员可以封装不同的数据 enum Message { Quit, Move { x: i64, y: i64 }, Write(...
结构体定义 struct是一个自定义数据类型,允许你包装和命名多个相关的值,从而形成一个有意义的组合 使用struct关键字来定义一个结构体 struct User { username: String, email: String, active: bool } 创建结构体的三种方式 直接赋值初始化 初始化简化语法 结构体更新语法 //...