机器学习,我们主要学习什么?
机器学习的发展历程
- 1949年:Hebb提出了基于神经心理学的学习机制,开启了机器学习的先河
- 1950年代:机器学习的起源与人工智能的探索紧密相连。例如,1956年,达特茅斯会议标志着人工智能的诞生,机器学习作为其重要分支也开始受到关注
- 1960年代:出现了早期的机器学习算法,如1967年诞生的K最近邻算法(KNN),至今仍在无监督学习领域广泛应用。
- 1970年代:人工智能进入知识工程期,这一阶段的机器学习主要集中在符号学习和逻辑推理上
- 1980年代:机器学习逐渐成为一个独立的学科领域。1980年,第一届机器学习研讨会在美国卡内基梅隆大学举行,同年《策略分析与信息系统》杂志连出三期关于机器学习的专辑。此外,1986年反向传播算法(BP算法)的诞生,为神经网络的发展奠定了基础。
- 1990年代:机器学习进入算法多样化的阶段,出现了多种经典算法,如1995年诞生的支持向量机(SVM)和AdaBoost,这些算法至今仍在许多领域广泛应用。
- 2006年:深度学习的兴起标志着机器学习进入新的阶段。Hinton等人提出了深度信念网络,开启了深度学习的浪潮。
- 2010年代:深度学习在图像识别、语音识别等领域取得了突破性进展,卷积神经网络(CNN)和循环神经网络(RNN)等架构被广泛应用。
- 2010年代末-2020年代:机器学习在多个领域取得广泛应用,如自动驾驶、医疗影像分析、自然语言处理等。同时,新的技术和方法不断涌现,如强化学习、迁移学习、自监督学习等。
- 未来趋势:机器学习将继续朝着更强大的模型、多模态学习、少样本学习等方向发展,同时也会更加注重模型的可解释性和效率。
机器学习涉及的基本术语
1. 基础概念类
- 机器学习(Machine Learning, ML):一种人工智能技术,通过算法使计算机系统能够从数据中学习并做出预测或决策,而无需进行明确的编程。
- 训练(Training):使用数据(训练数据集)来调整模型参数的过程。
- 测试(Testing):使用未见过的数据(测试数据集)来评估模型性能的过程。
- 特征(Feature):用于描述数据的输入变量,例如在图像识别中,像素值可以是特征。
- 标签(Label):目标变量,即模型需要预测的输出值,例如在分类任务中,类别标签。
- 模型(Model):通过学习数据得到的数学结构,用于对新数据进行预测或决策。
- 泛化能力(Generalization):模型对未见过的新数据的预测能力。
2. 数据相关术语
- 数据集(Dataset):用于训练和测试模型的数据集合。
- 训练集(Training Set):用于训练模型的数据。
- 验证集(Validation Set):用于调整模型超参数和评估模型性能的数据。
- 测试集(Test Set):用于最终评估模型性能的数据,模型在训练过程中未见过。
- 数据预处理(Data Preprocessing):在训练模型之前对数据进行清洗、归一化、标准化等处理。
- 特征工程(Feature Engineering):通过选择、转换或创建特征来提高模型性能的过程。
- 过拟合(Overfitting):模型在训练数据上表现很好,但在新数据上表现很差的现象。
- 欠拟合(Underfitting):模型对训练数据的拟合不足,无法捕捉数据中的规律。
3. 算法与模型相关术语
- 监督学习(Supervised Learning):使用带标签的数据训练模型,目标是预测输出标签。
- 无监督学习(Unsupervised Learning):使用无标签的数据训练模型,目标是发现数据中的结构或模式。
- 半监督学习(Semi-Supervised Learning):结合少量带标签数据和大量无标签数据进行训练。
- 强化学习(Reinforcement Learning):通过与环境交互并获得奖励来学习最优策略。
- 回归(Regression):预测连续数值输出的任务。
- 分类(Classification):预测离散类别标签的任务。
- 聚类(Clustering):将数据划分为多个组或簇,使得同一簇内的数据相似度高,不同簇内的数据相似度低。
- 降维(Dimensionality Reduction):减少特征数量,同时保留数据的主要信息,如主成分分析(PCA)。
- 集成学习(Ensemble Learning):通过组合多个模型来提高预测性能,如随机森林、Boosting。
4. 性能评估相关术语
- 准确率(Accuracy):模型预测正确的样本数占总样本数的比例。
- 精确率(Precision):被预测为正的样本中实际为正的比例。
- 召回率(Recall):所有正样本中被正确预测为正的比例。
- F1分数(F1 Score):精确率和召回率的调和平均值,用于综合评估模型性能。
- 混淆矩阵(Confusion Matrix):用于评估分类模型性能的矩阵,包含真正例、假正例、真负例和假负例。
- 均方误差(MSE):回归任务中预测值与真实值之间差异的平方和的平均值。
- AUC-ROC曲线(Area Under the ROC Curve):用于评估二分类模型性能的曲线,AUC值越高,模型性能越好。
- 交叉验证(Cross-Validation):一种评估模型性能的方法,将数据集划分为多个子集,轮流作为验证集和训练集。
5. 深度学习相关术语
- 神经网络(Neural Network):模仿生物神经元结构的计算模型,由多个层组成。
- 深度学习(Deep Learning):使用多层神经网络进行学习的方法,强调模型的深度。
- 卷积神经网络(CNN):一种常用于图像处理的神经网络架构,通过卷积层提取局部特征。
- 循环神经网络(RNN):一种用于处理序列数据的神经网络架构,具有记忆功能。
- 长短期记忆网络(LSTM):一种改进的RNN架构,用于解决梯度消失问题。
- 激活函数(Activation Function):用于引入非线性因素的函数,如ReLU、Sigmoid等。
- 反向传播(Backpropagation):通过计算损失函数的梯度来更新神经网络参数的算法。
- 梯度下降(Gradient Descent):一种优化算法,用于最小化损失函数。
- 学习率(Learning Rate):控制模型参数更新步长的超参数。
6. 其他重要术语
- 超参数(Hyperparameter):模型训练之前需要手动设置的参数,如学习率、迭代次数等。
- 参数(Parameter):模型在训练过程中自动学习的内部变量,如神经网络的权重和偏置。
- 损失函数(Loss Function):衡量模型预测值与真实值之间差异的函数,用于优化模型。
- 正则化(Regularization):用于防止过拟合的技术,如L1正则化和L2正则化。
- 迁移学习(Transfer Learning):将一个模型在某个任务上学到的知识应用到另一个相关任务上的方法。
- 自监督学习(Self-Supervised Learning):一种无监督学习方法,通过自动生成标签来训练模型。
- 强化学习中的奖励(Reward):环境对智能体行为的反馈,用于指导智能体学习最优策略。
机器学习,我们主要学习什么?
1. 数学基础
1.1 线性代数
- 向量和矩阵运算:理解向量、矩阵的加法、乘法、转置等操作,因为这些是处理数据和模型参数的基础。
- 特征值与特征向量:在主成分分析(PCA)和某些优化问题中非常重要。
- 线性变换:理解数据在不同空间中的表示和转换。
1.2 概率论与统计学
- 概率分布:如高斯分布、伯努利分布等,用于描述数据的随机性。
- 贝叶斯定理:在贝叶斯方法和一些机器学习算法中非常重要。
- 统计推断:包括假设检验、置信区间等,用于评估模型的可靠性和性能。
- 期望、方差和协方差:用于描述数据的分布和相关性。
1.3 微积分
- 导数和梯度:用于优化算法,如梯度下降。
- 偏导数和雅可比矩阵:在多变量优化中非常重要。
- 泰勒展开:用于近似复杂函数,如在神经网络的激活函数中。
2. 编程与工具
2.1 编程语言
- Python:目前最主流的机器学习编程语言,具有丰富的库和框架支持,如NumPy、Pandas、Scikit-learn、TensorFlow、PyTorch等。
- R:在统计分析和数据科学领域广泛应用。
- 其他语言:如Java、C++等,虽然在机器学习中不如Python常用,但在某些场景下也有应用。
2.2 数据处理工具
- NumPy:用于高效处理数组和矩阵运算。
- Pandas:用于数据清洗、预处理和分析。
- Matplotlib、Seaborn:用于数据可视化,帮助理解数据分布和模型性能。
- Jupyter Notebook:一个交互式编程环境,方便实验和展示代码。
2.3 机器学习框架
- Scikit-learn:一个功能强大的机器学习库,提供了丰富的算法和工具,适合初学者。
- TensorFlow:由Google开发的深度学习框架,支持大规模分布式训练和复杂模型构建。
- PyTorch:由Facebook开发的深度学习框架,以动态计算图和易用性著称,适合研究和开发。
- Keras:一个高级神经网络API,可以运行在TensorFlow、Caffe等后端之上。
3. 机器学习的核心概念与算法
3.1 核心概念
- 监督学习、无监督学习、半监督学习和强化学习:理解不同学习范式的应用场景和方法。
- 特征工程:如何选择、提取和转换特征,以提高模型性能。
- 模型评估与选择:如何使用交叉验证、性能指标(如准确率、召回率、F1分数、MSE等)来评估模型。
- 过拟合与欠拟合:理解模型的泛化能力,以及如何通过正则化、交叉验证等方法避免过拟合。
3.2 经典算法
- 线性回归和逻辑回归:最基础的预测模型,用于回归和二分类任务。
- 决策树和随机森林:基于树的模型,易于理解和解释,适合分类和回归任务。
- 支持向量机(SVM):一种强大的分类算法,适用于高维数据。
- K最近邻(KNN):一种简单的分类和回归算法,基于相似度计算。
- K均值聚类(K-Means):一种常用的无监督学习算法,用于数据聚类。
- 主成分分析(PCA):一种降维技术,用于减少特征数量并保留数据的主要信息。
- 神经网络与深度学习:包括卷积神经网络(CNN)、循环神经网络(RNN)、长短期记忆网络(LSTM)等,用于处理图像、语音、文本等复杂数据。
4. 深度学习
4.1 神经网络基础
- 感知机:最简单的神经网络模型,用于理解神经元的基本工作原理。
- 多层感知机(MLP):包含隐藏层的神经网络,用于处理非线性问题。
- 激活函数:如ReLU、Sigmoid、Tanh等,用于引入非线性因素。
- 损失函数:如均方误差(MSE)、交叉熵损失等,用于衡量模型的预测误差。
- 优化算法:如梯度下降、随机梯度下降(SGD)、Adam等,用于调整模型参数。
4.2 深度学习架构
- 卷积神经网络(CNN):用于图像处理,通过卷积层和池化层提取图像特征。
- 循环神经网络(RNN)和长短期记忆网络(LSTM):用于序列数据处理,如自然语言处理和时间序列分析。
- Transformer架构:基于自注意力机制的模型,广泛应用于自然语言处理,如BERT、GPT等。
- 生成对抗网络(GAN):由生成器和判别器组成,用于生成新的数据样本,如图像生成。
5. 实践与应用
5.1 数据预处理
- 数据清洗:处理缺失值、异常值和重复值。
- 数据标准化和归一化:将数据转换到统一的尺度,提高模型性能。
- 特征选择与降维:减少特征数量,提高模型效率和可解释性。
5.2 模型训练与调优
- 超参数调整:使用网格搜索、随机搜索或贝叶斯优化等方法调整超参数。
- 模型集成:通过组合多个模型(如Bagging、Boosting)来提高性能。
- 模型部署:将训练好的模型部署到实际应用中,如使用Flask、Django等框架搭建API。
5.3 项目实践
- 参加竞赛:如Kaggle竞赛,通过解决实际问题来提升技能。
- 开源项目贡献:参与开源项目,学习先进的技术和架构。
- 个人项目:从数据收集、预处理、模型训练到结果评估,完整地实现一个机器学习项目。
6. 领域知识与前沿技术
6.1 应用领域
- 计算机视觉:图像识别、目标检测、图像分割等。
- 自然语言处理(NLP):文本分类、情感分析、机器翻译、问答系统等。
- 语音识别:语音转文字、语音命令识别等。
- 推荐系统:基于用户行为和偏好进行个性化推荐。
- 医疗、金融、交通等:机器学习在这些领域的应用也越来越广泛。
6.2 前沿技术
- 强化学习:用于智能体与环境交互的学习方法,如AlphaGo。
- 迁移学习:将预训练模型迁移到新任务上,减少训练成本。
- 自监督学习:无需人工标注数据的学习方法,提高模型的泛化能力。
- 可解释性AI(XAI):研究如何让机器学习模型的决策过程更加透明和可解释。
相关文章:
机器学习,我们主要学习什么?
机器学习的发展历程 机器学习的发展历程,大致分为以下几个阶段: 1. 起源与早期探索(20世纪40年代-60年代) 1949年:Hebb提出了基于神经心理学的学习机制,开启了机器学习的先河1950年代:机器学习的…...

安卓burp抓包,bypass ssl pinning
好久好久没有发东西了。主要是懒。。。 这几天在搞apk渗透,遇到了burp无法抓包问题,觉得可以写下来。 问题描述 1. 一台安卓手机,装了面具,可以拿到root 2. 电脑上有burp,设置代理 3.手机和电脑连同一个网段&…...
【如何基于Debian构建Kali Linux】
如何基于Debian构建Kali Linux 修改apt源获取Kali的apt密钥更新并安装Kali Linux软件包添加非root用户 在Linux系统的应用领域中,Kali Linux因其在渗透测试、安全审计等方面的出色表现而备受关注。Kali Linux是一个基于Debian的Linux发行版。接下来,将介…...
Hopper架构 GEMM教程
一 使用 1.1 makefile compile:nvcc -arch=sm_90a -lcuda -lcublas -std=c++17 matmul_h100_optimal.cu -o testrun:./test加入-lcublas,不然会有函数无法被识别 二 代码分析 2.1 kernel外参数分析 2.1.1 基本参数 constexpr int BM = 64*2;constexpr int BN = 256;cons…...

CV -- 基于GPU版CUDA环境+Pycharm YOLOv8 目标检测
目录 下载 CUDA 下载 cuDNN 下载 anaconda 安装 PyTorch pycharm 搭配 yolo 环境并运行 阅读本文须知,需要电脑中有 Nvidia 显卡 下载 CUDA 打开 cmd ,输入 nvidia-smi ,查看电脑支持 CUDA 版本: 我这里是12.0,进入…...
ELK8.17部署(Ubantu24x64)
检查java环境 ELK8.x不支持java8 若无环境可执行 sudo apt install openjdk-17-jre-headless 准备安装包 官网下载地址: ELK products 搜Elasticsearch、Kibana、Logstash、Filebeat versions需一致,这里使用8.17.0 Elasticsearch Kibana Logstash Filebeat e…...
Python glob模块使用示例代码
Python 的 glob 模块位于标准库中,专门用于在文件系统中进行 文件路径模式匹配(与 Shell 中的通配符匹配类似)。它可以根据 通配符(如 *、? 和 [])来查找符合条件的文件路径。 1. glob 模块的核心功能 路径模式匹配:根据指定的通配符模式,匹配对应的文件路径。递归搜索…...
npm、pnpm和yarn有什么区别
1. 性能和速度 npm:在较早的版本中,速度较慢,尤其是在安装大型依赖集时。自npm 5以后的版本引入了缓存机制,性能有所提升。yarn:由Facebook开发,主要目标是提高安装速度。使用了缓存和并行安装(…...
Java 基础面试
final、finalize 和 finally 的不同之处? Final:是一个修饰符,可以修饰变量、方法和类。如果 final 修饰变量,意味着该变量的值在初始化后不 能被改变。Finalize:方法是在对象被回收之前调用的方法, 给对象…...

ac的dhcp池里option43配错导致ap无法上线问题排查过程
dhcp池里ac地址配错,导致ap无法上线问题排查过程 问题:ap手动设置ac的ip正常注册在线,但dhcp获得ip和ac地址发现无法在ac上注册成功。 组网: ac旁路结构,路由器lan口地址172.16.1.1,开dhcp服务࿰…...
第1章:LangChain4j的聊天与语言模型
LangChain4J官方文档翻译与解析 目标文档路径: https://docs.langchain4j.dev/tutorials/chat-and-language-models/ 语言模型的两种API类型 LangChain4j支持两种语言模型(LLM)的API: LanguageModel:这种API非常简单,…...

Cython学习笔记1:利用Cython加速Python运行速度
Cython学习笔记1:利用Cython加速Python运行速度 CythonCython 的核心特点:利用Cython加速Python运行速度1. Cython加速Python运行速度原理2. 不使用Cython3. 使用Cython加速(1)使用pip安装 cython 和 setuptools 库(2&…...

【从0做项目】Java音缘心动(1)———项目介绍设计
阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 零:项目结果展示 一:音乐播放器Web网页介绍 二:前期准备工作&…...

智慧农业新生态 | 农业数字化服务平台——让土地生金,让服务无忧
一部手机管农事,从播种到丰收,全链路数字化赋能! 面向农户、农机手、农服商、农资商打造的一站式农业产业互联网平台,打通农资交易、农机调度、农服管理、技术指导全场景闭环,助力乡村振兴提效增收。 三大核心场景&am…...
C++编程,#include <iostream>详解,以及using namespace std;作用
在C编程中,#include <iostream> 是用来包含输入/输出流头文件的预处理指令。它允许程序使用标准的输入/输出对象如 std::cout 和 std::cin,以便与标准输入和输出流进行交互。这一头文件是编写输入输出操作时必不可少的部分。 讲到这里,…...

jetbrains IDEA集成大语言模型
一、CodeGPT CodeGPT是由CSDN打造的一款生成式AI产品,专为开发者量身定制。它能够提供强大的技术支持,帮助开发者在学习新技术或解决实际工作中的各种计算机和开发难题1。 idea集成 1.在线安装:直接在线安装 2.离线安装 JetBrains Mar…...
理解都远正态分布中指数项的精度矩阵(协方差逆矩阵)
之前一直不是很理解这个公式为什么用这个精度矩阵,为什么这么巧合,为什么是它,百思不得其解,最近有了一些新的理解: 1. 这个精度矩阵相对公平合理的用统一的方式衡量了变量间的关系,但是如果是公平合理的衡…...
使用 Spark NLP 实现中文实体抽取与关系提取
在自然语言处理(NLP)领域,实体抽取和关系提取是两个重要的任务。实体抽取用于从文本中识别出具有特定意义的实体(如人名、地名、组织名等),而关系提取则用于识别实体之间的关系。本文将通过一个基于 Apache Spark 和 Spark NLP 的示例,展示如何实现中文文本的实体抽取和…...
less-8 boolen盲注,时间盲注 函数补全
获取当前数据库名 import requestsdef inject_database(url):namemax_length20 # 假设数据库名称最大长度为20# ASCII范围:数字、字母、下划线(_)low{a: 97, z: 122, A: 65, Z: 90, 0: 48, 9: 57, _: 95}high{97: a, 122: z, 65: A, 90: Z,…...

[NKU]C++基础课(五)补充:结构体
【3.3】C结构体介绍_哔哩哔哩_bilibili 结构体 最厉害的学生 现有N名同学参加了期末考试,并且获得了每名同学的信息: 1 姓名(不超过8个字符的仅有英文小写字母的字符串) 2 语文、数学、英语成绩(均为不超过150的自然数)。 3 总分最高的学生就是最厉害的。 请输…...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...

大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...