当前位置: 首页 > news >正文

AI 总结的的 AI 学习路线

一、入门阶段:数学基础与编程语言
数学基础

线性代数
当年白纸黑字推演, 都是泪啊,草稿本都用了一卷。
学习向量、矩阵的基本概念,包括向量的加法、减法、点积和叉积,矩阵的乘法、转置等运算。例如,在计算机图形学中,矩阵乘法用于实现图形的旋转、缩放和平移等变换。
理解特征值和特征向量的概念,它们在数据降维和主成分分析(PCA)等 AI 技术中有重要应用。

概率论与数理统计
研究生课程, 理解很好理解的, 就是算起来被虐了无数遍
掌握概率的基本概念,如事件的概率、条件概率、贝叶斯定理等。贝叶斯定理在机器学习的分类算法,如朴素贝叶斯分类器中是核心原理。
学习随机变量、概率分布(如正态分布、伯努利分布等),这些分布在生成模型和数据建模中经常出现。
了解均值、方差、协方差等统计量的计算和意义,它们用于描述数据的集中趋势和离散程度。

微积分
这算是本科高等数学了。虽然这门课是本科挂科第一名的,但理解透了, 举一反三很easy 的。

学习导数和微分的概念,导数可以用于求函数的斜率,在优化算法(如梯度下降)中用于计算损失函数的梯度。
理解积分的概念,它在计算概率密度函数下的面积等方面有应用。

编程语言
Python
python 算是最容易上手的语言了
学习 Python 的基本语法,包括变量、数据类型(整数、浮点数、字符串、列表、字典等)、控制流语句(if - else、for 循环、while 循环)。例如,通过循环语句可以批量处理数据集中的样本。

掌握函数的定义和使用,学会如何封装代码以提高代码的复用性。
学习 Python 的一些常用库,如 NumPy 用于高效的数值计算,提供了数组对象和大量的数学函数;Pandas 用于数据处理和分析,能够方便地读取、清洗和转换数据。

以上这些, 或许有一些基础,有个入门的水平就好。后面需要用到哪个点,就补哪个点好了。

二、机器学习基础阶段
就从机器学习开始,种草吴恩达机器学习学习过程。跟着看,非常愉快。

吴恩达机器学习

机器学习基本概念
理解监督学习、无监督学习和强化学习的概念。
监督学习是指给定输入和对应的输出标签,学习一个模型来预测新输入的标签。例如,在图像分类任务中,输入是图像,输出是图像所属的类别。
无监督学习是在没有给定标签的情况下,发现数据中的结构和模式。如聚类算法可以将数据点分成不同的簇,用于客户细分等任务。
强化学习是智能体在环境中采取一系列行动,根据环境反馈的奖励信号来学习最优策略,如训练机器人在复杂环境中行走。

学习模型评估指标。
在分类问题中,常用准确率、精确率、召回率、F1 - score 等来评估模型的性能。例如,准确率是指正确分类的样本数占总样本数的比例。
在回归问题中,常用均方误差(MSE)、平均绝对误差(MAE)等来衡量模型预测值与真实值之间的误差。

经典机器学习算法
线性回归
学习线性回归的原理,它假设因变量和自变量之间存在线性关系,通过最小二乘法来拟合模型的参数。例如,根据房屋的面积、房间数量等特征来预测房价。

逻辑回归
用于二分类问题,它将线性回归的输出通过 sigmoid 函数映射到 0 - 1 之间,得到样本属于某一类别的概率。如判断邮件是否为垃圾邮件。
决策树
理解决策树的构建过程,它通过选择最优的特征和划分点来构建树形结构,用于分类和回归任务。例如,根据天气、温度等因素来决定是否进行户外活动。

支持向量机(SVM)
学习 SVM 的基本原理,它通过寻找一个最优的超平面来分隔不同类别的数据,在高维空间中也有很好的性能。例如,在文本分类中可以有效地区分不同主题的文本。

K - 均值聚类
掌握 K - 均值聚类的算法流程,它通过不断更新聚类中心来将数据点划分到 K 个簇中,用于数据的初步探索和分类。如对用户的消费行为进行聚类。

三、深度学习基础阶段
深度学习基本概念
理解神经网络的基本结构,包括输入层、隐藏层和输出层。神经元是神经网络的基本单元,通过权重和激活函数来处理输入信号。
学习常见的激活函数,如 Sigmoid、ReLU(Rectified Linear Unit)、Tanh 等。ReLU 函数在深度学习中被广泛使用,因为它可以有效解决梯度消失问题,加快训练速度。
掌握反向传播算法的基本原理,它是训练神经网络的核心算法,通过计算梯度来更新网络的权重。
深度学习框架
TensorFlow 或 PyTorch
学习框架的基本安装和配置。
掌握张量(Tensor)的概念和操作,张量是框架中的基本数据结构,类似于数组。例如,在 TensorFlow 中,可以通过 tf.constant 创建常量张量。
学习如何使用框架构建简单的神经网络模型,如使用 TensorFlow 的 Keras API 或 PyTorch 的 nn.Module 来构建多层感知机(MLP)模型。
经典深度学习模型
卷积神经网络(CNN)
学习 CNN 的基本结构,包括卷积层、池化层和全连接层。卷积层通过卷积核提取图像等数据的特征,池化层可以减少数据的维度。例如,在图像识别任务中,CNN 可以有效地提取图像中的物体特征。
了解一些著名的 CNN 架构,如 LeNet、AlexNet、VGGNet、ResNet 等,它们在图像分类、目标检测等任务中有出色的表现。
循环神经网络(RNN)及其变体(LSTM、GRU)
理解 RNN 的原理,它可以处理序列数据,如文本、语音等。但是传统 RNN 存在梯度消失和梯度爆炸问题。
学习长短期记忆网络(LSTM)和门控循环单元(GRU),它们通过引入门控机制来解决 RNN 的问题,在自然语言处理等领域有广泛应用。
四、进阶阶段:模型优化与应用拓展
模型优化技术
正则化
理解 L1 和 L2 正则化的原理,它们可以防止模型过拟合。L1 正则化会使一些权重变为 0,起到特征选择的作用;L2 正则化则是通过限制权重的大小来减少过拟合。
学习 Dropout 技术,它在训练过程中随机丢弃一些神经元,迫使网络学习更鲁棒的特征。
优化算法改进
除了基本的梯度下降算法,学习 Adagrad、Adadelta、Adam 等自适应学习率算法,它们可以根据不同参数的梯度情况动态调整学习率,提高训练效率。
AI 应用拓展
自然语言处理(NLP)
深入学习词向量模型,如 Word2Vec、GloVe 等,它们可以将单词表示为向量,用于文本的语义分析。
学习 NLP 的任务,如文本分类、情感分析、机器翻译等,掌握如何使用深度学习模型(如 Transformer 架构)来解决这些任务。
计算机视觉(CV)
学习目标检测算法,如 YOLO(You Only Look Once)、Faster RCNN 等,它们可以在图像中定位和识别物体。
了解图像分割技术,包括语义分割和实例分割,用于将图像中的不同物体或区域划分出来。
强化学习应用
学习如何将强化学习应用于机器人控制、游戏等领域,如训练智能体在复杂的游戏环境(如 Atari 游戏)中取得高分。
五、实践与项目阶段
参加竞赛
参加 Kaggle 等数据科学竞赛平台的竞赛,通过实际解决问题来提升自己的能力。竞赛题目涵盖了机器学习和深度学习的各个领域,如预测客户流失、图像识别比赛等。
自己动手做项目
可以从简单的项目做起,如使用机器学习模型预测股票价格,或者使用深度学习模型进行图像风格转换。在项目过程中,要经历数据收集、清洗、模型选择和训练、评估等完整的流程,加深对知识的理解和应用能力。

相关文章:

AI 总结的的 AI 学习路线

一、入门阶段:数学基础与编程语言 数学基础 线性代数 当年白纸黑字推演, 都是泪啊,草稿本都用了一卷。 学习向量、矩阵的基本概念,包括向量的加法、减法、点积和叉积,矩阵的乘法、转置等运算。例如,在计算…...

离散傅里叶级数(DFS)详解

1. 引言 离散傅里叶级数(Discrete Fourier Series, DFS)是信号处理领域中一项基础且重要的数学工具,用于分析和处理周期性的离散信号。它通过将离散时间信号表示为一组正弦和余弦的和,从而使得信号在频域上得到更清晰的描述。与连…...

Java 类加载机制详解

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…...

1.1 Beginner Level学习之“编写简单的发布服务器和订阅服务器”(第十一节)

学习大纲: 1. 编写发布服务器节点 在 ROS 中,节点是连接到 ROS 网络的可执行文件。我创建了一个名为 talker 的发布者节点,它会向一个主题 chatter 不断发送消息。 首先,进入你的工作包 beginner_tutorials(假设你已…...

AIQuora:开启论文写作新篇章

在这个信息爆炸的时代,学术写作已成为研究者不可或缺的技能。然而,面对繁重的写作任务,许多学者和学生常常感到力不从心。AIQuora,一个专业的文理工科论文智能写作助手,以其免费开题报告生成功能,为学术写作…...

【C语言】库函数常见的陷阱与缺陷(1):字符串处理函数

目录 一、 strcpy 函数 1.1. 功能与常见用法 1.2. 陷阱与缺陷 1.3. 安全替代 1.4. 代码示例 二、strcat 函数 2.1. 功能与常见用法 2.2. 陷阱与缺陷 2.3. 安全替代 2.4. 代码示例 三、strcmp 函数 3.1. 功能与常见用法 3.2. 陷阱与缺陷 3.3. 安全替代 3.4. 代…...

Mysql索引原理及优化——岁月云实战笔记

根据Mysql索引原理及优化这个博主的视频学习,对现在的岁月云项目中mysql进行优化,我要向这个博主致敬,之前应用居多,理论所知甚少,于是将学习到东西,应用下来,看看是否有好的改观。 1 索引原理…...

AGCRN论文解读

一、创新点 传统GCN只能基于静态预定义图建模全局共享模式,而AGCRN通过两种GCN的增强模块(NAPL、DAGG)实现了更精细的节点特性学习和图结构生成。 1 节点自适应参数学习模块(NAPL) 传统GCN通过共享参数(权重…...

Python机器学习笔记(五、决策树集成)

集成(ensemble)是合并多个机器学习模型来构建更强大模型的方法。这里主要学习两种集成模型:一是随机森林(random forest);二是梯度提升决策树(gradient boosted decision tree)。 1…...

Kafka单机及集群部署及基础命令

目录 一、 Kafka介绍1、kafka定义2、传统消息队列应用场景3、kafka特点和优势4、kafka角色介绍5、分区和副本的优势6、kafka 写入消息的流程 二、Kafka单机部署1、基础环境2、iptables -L -n配置3、下载并解压kafka部署包至/usr/local/目录4、修改server.properties5、修改/etc…...

如何使用 Python 实现链表的反转?

在Python中实现链表的反转可以通过几种不同的方法。这里,我将向你展示如何使用迭代和递归两种方式来反转链表。 1. 迭代方法 迭代方法是通过遍历链表,逐个节点地改变其指向来实现反转的。 class ListNode: def __init__(self, val0, nextNone): …...

react跳转传参的方法

传参 首先下载命令行 npm react-router-dom 然后引入此代码 前面跳转的是页面 后面传的是你需要传的参数接参 引入此方法 useLocation():这是 react-router-dom 提供的一个钩子,用于获取当前路由的位置对象location.state:这是从其他页面传…...

Scala:正则表达式

object test03 {//正则表达式def main(args: Array[String]): Unit {//定义一个正则表达式//1.[ab]:表示匹配一个字符,或者是a,或者是b//2.[a-z]:表示从a到z的26个字母中的任意一个//3.[A-Z]:表示从A到Z的26个字母中的任意一个//4.[0-9]:表示从0到9的10…...

【数电】常见时序逻辑电路设计和分析

本文目的:一是对真题常考题型总结,二是对常见时序电路设计方法进行归纳,给后面看这个文档的人留有一点有价值的东西。 1.不同模计数器设计 2.序列信号产生和检测电路 2.1序列信号产生电路 2.1.1设计思路 主要设计思路有三种 1&#xff09…...

Spring IOCAOP

Spring介绍 个人博客原地址 Spring是一个IOC(DI)和AOP框架 Sprng的优良特性 非侵入式:基于Spring开发的应用中的对象可以不依赖于Spring的API 依赖注入:DI是控制反转(IOC)最经典的实现 面向切面编程&am…...

Scala中的隐式转换

package qiqiobject qqqqq {//给参数设置一个默认值:如果用户不传入,就使用这个值def sayName(implicit name:String"小花"):Unit{println(s"我叫:$name")}//需求:能够自己设置函数的参数默认值,而不是在代码…...

GESP 2024年12月认证 真题 及答案

CCF GESP第八次认证将于2024年12月7日上午9:30正式开考,1-4级认证时间为上午9:30-11:30,5-8级认证时间为下午13:30-16:30。认证语言包括:C、 Python和图形化编程三种语言,其中C和Python编程为1-8级,图形化编程为1-4级。…...

C++多态性

概念 C中的多态性是面向对象编程的一个重要特征,它允许我们通过一个基类的指针或引用来操作不同派生类的对象。多态性增强了代码的灵活性和可扩展性。主要分为两种类型:编译时多态(静态多态)和运行时多态(动态多态&am…...

PyODBC: Python 与数据库连接的桥梁

PyODBC: Python 与数据库连接的桥梁 介绍 在现代的开发环境中,数据是核心要素之一。几乎所有的应用程序都需要与数据库进行交互。在 Python 中,pyodbc 是一个非常常用的库,它提供了一种简便的方法,通过 ODBC(开放数据…...

专题二十五_动态规划_两个数组的 dp (含字符串数组)_算法专题详细总结

目录 动态规划_两个数组的 dp (含字符串数组) 1. 最⻓公共⼦序列(medium) 解析: 1. 状态表⽰: 2. 状态转移⽅程: 3. 初始化:​编辑 4. 填表顺序:​编辑 5. 返回值…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

7.4.分块查找

一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...