机器学习知识点全面总结
一、机器学习基础概念
1、什么是机器学习
机器学习是一种人工智能技术,通过对数据的学习和分析,让计算机系统自动提高其性能。简而言之,机器学习是一种从数据中学习规律和模式的方法,通过数据来预测、分类或者决策。
机器学习的本质就是找到一个能无限接近需求的一个函数。

2、怎样找到这个函数
最基本的步骤如下:
①定一个函数集合
②判断函数的好坏
③选择最好的函数
3、机器学习三要素
①首先设计模型model
②通过各种方式判断模型的好坏
③根据需求,选择最好的函数,并不断优化模型
修改模型,增加数据维度
增加正则因子,使函数更加平滑,让参数w取值更小。(x变化较小时,整个函数结果 不会变化太大,结果更准)
4、机器学习的分类
监督学习:有数据标注情况下学习(回归、分类)
半监督学习:训练数据中带标记的数据不够多
迁移学习:在已学习基础上,做看似和以前学习不相关的事情,但实际效果很好(如在猫狗识别基础识别大象老虎等)
无监督学习:没有具体标注数据的情况下学习(机器阅读、机器绘画)
结构化学习:超越简单的回归和分类,产生结构化的结果(如图片、语言、声音)
二、处理一个机器学习问题的基本步骤
- 数据收集:首先需要收集数据并将其转化为可以计算的形式,例如数值、文本或图像等。
- 数据预处理:数据收集后,需要对数据进行清洗、去除异常值、缺失值处理、特征选择等预处理步骤。
- 特征工程: 是指在机器学习中对原始数据进行转换、组合和选择等处理,以提取更有用的特征或属性,以帮助机器学习算法更好地理解和处理数据。简而言之,特征工程就是对原始数据进行预处理,以提取有用信息来辅助机器学习。
- 模型选择:根据问题的特点和数据的特征选择适合的机器学习算法和模型。
- 模型训练(机器学习):利用已有数据对所选的机器学习模型进行训练,从而使模型能够学习数据中的规律和模式。
- 模型评估:训练完成后,需要对模型进行评估和调整,以检查其性能和精度,并进行优化。
- 模型应用:经过训练和优化后,机器学习模型可以用于新数据的预测、分类、聚类等任务。
三、机器学习算法总结
1、监督学习(SupervisedLearning)
有类别标签的学习,基于训练样本的输入、输出训练得到最优模型,再使用该模型预测新输入的输出;
代表算法:决策树、朴素贝叶斯、逻辑回归、KNN、SVM、神经网络、随机森林、AdaBoost、遗传算法;
2、半监督学习(Semi-supervisedLearning)
同时使用大量的未标记数据和标记数据,进行模式识别工作;
代表算法:self-training(自训练算法)、generative models生成模型、SVMs半监督支持向量机、graph-basedmethods图论方法、 multiviewlearing多视角算法等;
3、无监督学习(UnsupervisedLearning)
无类别标签的学习,只给定样本的输入,自动从中寻找潜在的类别规则;
代表算法:主成分分析方法PCA等,等距映射方法、局部线性嵌入方法、拉普拉斯特征映射方法、黑塞局部线性嵌入方法、局部切空间排列方法等;
4、判别模型(discriminative model)
已知输入变量x,通过求解条件概率分布P(y|x)或者直接计算y的值来预测y。
例如:
- 线性回归(Linear Regression)
- 逻辑回归(Logistic Regression)
- 支持向量机(SVM)
- 传统神经网络(Traditional Neural Networks)
- 线性判别分析(Linear Discriminative Analysis)
- 条件随机场(Conditional Random Field)
5、生成模型(generative model)
已知输入变量x,通过对观测值和标注数据计算联合概率分布P(x,y)来达到判定估算y的目的。
例如:
- 朴素贝叶斯(Naive Bayes)
- 隐马尔科夫模型(HMM)
- 贝叶斯网络(Bayesian Networks)
- 隐含狄利克雷分布(Latent Dirichlet Allocation)
四、算法详解
1、KNN(K近邻算法)
(1)定义
如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。
(2)算法流程
1)计算已知类别数据集中的点与当前点之间的距离
2)按距离递增次序排序
3)选取与当前点距离最小的k个点
4)统计前k个点所在的类别出现的频率(
分类:样本出现最多个数回归:K个杨样本的平均值)5)返回前k个点出现频率最高的类别作为当前点的预测分类
(3)注意点
① K值选择
K值的减小就意味着整体模型变得复杂,容易发生过拟合;
K值的增大就意味着整体模型变得简单,容易发生欠拟合;
注:实际应用中,K值一般取一个比较小的数值,例如采用交叉验证来选择最优的K值。
② 误差估计
近似误差:对训练集的训练误差,关注训练集,近似误差小可能出现过拟合。
估计误差:对测试集的测试误差,关注测试集,估计误差小说明对未知数据的预测能力好。
(4)K近邻实现
- 线性扫描(穷举搜索)
计算输入实例与每一个训练实例的距离。计算后再查找K近邻。当训练集很大时,计算非常耗时。
- KD树
①一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构
②kd树是一种二叉树,表示对k维空间的一个划分,构造kd树相当于不断地用垂直于坐标轴的超平面将K维空间切分,构成一系列的K维超矩形区域。kd树的每个结点对应于一个k维超矩形区域。
③利用kd树可以省去对大部分数据点的搜索,从而减少搜索的计算量。
- 距离计算
①欧式距离(Euclidean Distance)

②曼哈顿距离(Manhattan Distance)

③切比雪夫距离 (Chebyshev Distance)

(5)实例
# -*- coding: UTF-8 -*-
import numpy as np
import operator
import collections"""
函数说明:创建数据集Parameters:无
Returns:group - 数据集labels - 分类标签
Modify:2017-07-13
"""def createDataSet():# 四组二维特征group = np.array([[1, 101], [5, 89], [108, 5], [115, 8]])# 四组特征的标签labels = ['爱情片', '爱情片', '动作片', '动作片']return group, labels"""
函数说明:kNN算法,分类器Parameters:inX - 用于分类的数据(测试集)dataSet - 用于训练的数据(训练集)labes - 分类标签k - kNN算法参数,选择距离最小的k个点
Returns:sortedClassCount[0][0] - 分类结果"""def classify0(inx, dataset, labels, k):# 计算距离dist = np.sum((inx - dataset) ** 2, axis=1) ** 0.5# k个最近的标签k_labels = [labels[index] for index in dist.argsort()[0: k]]# 出现次数最多的标签即为最终类别label = collections.Counter(k_labels).most_common(1)[0][0]return labelif __name__ == '__main__':# 创建数据集group, labels = createDataSet()# 测试集test = [101, 20]# kNN分类test_class = classify0(test, group, labels, 3)# 打印分类结果print(test_class)
2、线性回归
(1)定义
利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式。

相关文章:
机器学习知识点全面总结
一、机器学习基础概念 1、什么是机器学习 机器学习是一种人工智能技术,通过对数据的学习和分析,让计算机系统自动提高其性能。简而言之,机器学习是一种从数据中学习规律和模式的方法,通过数据来预测、分类或者决策。 机器学习的本…...
【研发日记】嵌入式处理器技能解锁(三)——TI C2000 DSP的C28x内核
文章目录 前言 背景介绍 C28x内核 浮点单元(FPU) 快速整数除法单元(FINTDIV) 三角数学单元(TMU) VCRC单元 CPU总线 指令流水线 总结 参考资料 前言 见《【研发日记】嵌入式处理器技能解锁(一)——多任务异步执行调度的三种方法》 见《【研发日记】嵌入式处理器技能解…...
LeetCode.27.移除元素
题目描述: 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以…...
redis面试(十二)可重入锁总结
可重入锁总结 从实现原理以及源码的层面,真正剖析和了解到了redis分布式锁的企业级的实现,这个分布式锁实现的还是非常漂亮的,麻雀虽小,五脏俱全,分布式的可重入锁,总结一下流程 (1࿰…...
软件测试知识点3
063、一份测试计划应该包括哪些内容? 背景、项目简介、目的、测试范围、测试策略、人员分工、资源要求、进度计划、参考文档、常用术语、提交文档、风险分析。 065、如何定位测试用例的作用? 组织性:编写、组织性、功能覆盖、重复性、跟踪、测试确认 066、什么…...
WPF Treeview开启虚拟化后如何找到TreeViewItem
用VirtualizingStackPanel的BringIndexIntoViewPublic方法就好,没必要像微软给的例子那样还要继承一个VirtualizingStackPanel /// <summary> /// Recursively search for an item in this subtree. /// </summary> /// <param name"container…...
给python初学者的一些建议
写在开篇 关于Python,可以这么说,这几年借着数据科学、机器学习与人工智能的东风,Python 老树开新花,在风口浪尖上居高不下。 Python 之所以这么受大家的青睐,是因为它语言简洁,上手容易,让非…...
【Python学习手册(第四版)】学习笔记17-作用域
个人总结难免疏漏,请多包涵。更多内容请查看原文。本文以及学习笔记系列仅用于个人学习、研究交流。 本文介绍Python作用域,介绍了变量名解析的LEGB原则,以及内置作用域,全局作用域global语句,嵌套作用域及nonlocal语…...
大语言模型(LLM)文本预处理实战
大语言模型(LLM)文本预处理实战 文章目录 大语言模型(LLM)文本预处理实战2.1 理解词嵌入2.2 文本分词2.3 将 token 转换为 token ID2.4 添加特殊上下文 token2.5 字节对编码 (BytePair Encoding, BPE)2.6 使用滑动窗口进行数据采样…...
宠物健康新守护:智能听诊器的家庭应用
宠物已成为我们情感的寄托和生活的一部分,为宠物的健康守护带来了科技的温度。 科技与关怀结合 这款智能听诊器,以其科技感和关怀精神,为宠物的健康监测提供了全新的视角。 家庭友好设计:考虑到家庭使用环境,智能听…...
六、go函数
函数在任何语言中并不难理解,但是不论是有几年开发经验的人,真正想要写好一个函数并不是那么容易的 1、go语言中函数结构 func main() {fmt.Println(isEven(2)) } func isEven(x int) bool {return x%2 0 }(这里我写了一个简单的判断是否是…...
高原型垂直起降高速无人机技术详解
1. 技术概述 高原型垂直起降高速无人机(High-Altitude Vertical Take-off and Landing High-Speed Unmanned Aerial Vehicle, HAVTHS UAV)是针对高原复杂环境设计的一种先进无人机系统。它结合了垂直起降的灵活性与高速飞行的能力,能够克服高…...
Selenium + Python 自动化测试10(unittest概念)
我们的目标是:按照这一套资料学习下来,大家可以独立完成自动化测试的任务。 上几篇我们讨论了元素的定位方法、操作方法以及一些特殊元素的操作。 在实际的测试项目组中每个模块会写多条案例,如第一条用例那里我们的登录。登录的话就可以有多…...
大数据-67 Kafka 高级特性 分区 分配策略 Ranger、RoundRobin、Sticky、自定义分区器
点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…...
深度学习与图像修复:ADetailer插件在Stable Diffusion中的应用
文章目录 引言ADetailer插件介绍插件安装常用模型控制提示词参数配置参数详解 实践建议 示例插件的对比:1. ADetailer插件2. Photoshop插件(如Nik Collection)3. GIMP插件(如GMIC)4. Affinity Photo插件 结语 引言 无…...
【Pytorch】topk函数
topk 是 PyTorch 中的一个函数,用于从张量中选取最大(或最小)的 k 个元素及其对应的索引。其定义如下: values, indices torch.topk(input, k, dimNone, largestTrue, sortedTrue, *, outNone)参数说明 input (Tensor): 输入张…...
使用mybatis注解和xml映射执行javaWeb中增删改查等操作
Mapper接口 使用注解执行SQL语句操作和相应的Java抽象类(对于简单的增删改查使用注解) Mapper public interface EmpMapper {// 根据id删除员工信息Delete("delete from mybatis.emp where id#{id}")public int EmpDelete(Integer id);// 查…...
SpringBoot3 响应式编程
Spring Boot 3 中的响应式编程是一个重要的特性,它允许开发者构建非阻塞、异步和基于事件的应用程序,这对于处理高并发和实时数据流的应用场景尤为重要。以下是对Spring Boot 3响应式编程的详细解析: 一、响应式编程概述 响应式编程是一种编…...
【C++ 面试 - 基础题】每日 3 题(二)
✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…...
Modelica建模,Modelica语言的学习,技术调研工作
Modelica建模,Modelica语言的学习,技术调研工作 参考资料: 苏州同元软控信息技术有限公司 - 同元 Modelica 再探冷却 modelica学习-CSDN博客 1、 Modelica简介 Modelica是由Modelica协会维护、免费开放的物理系统面向对象的统一建模语言规…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
