博客目录与概览

时间:2024-10-26 07:23:42

本博客主要聚焦于人工智能(Artificial Intelligence)领域,包括机器学习(Machine Learning)、深度学习(Deep Learning)和强化学习(Reinforcement Learning)以及其在具体项目中的实现,如:计算机视觉(Computer Vision, CV)、自然语言处理(Natural Language Processing, NLP)、大模型(LLM)、知识图谱(Knowledge Graph, KG)、推荐系统(Recommender System)、因果推断(Causal Inference)等。除此之外,本博客还兼顾算法学(Algorithmics)、大数据(Big Data)与数据科学(Data Science)等方向的知识,冀希读者能能通过阅读本博客的文章,构建完整的知识体系与框架。博主撰写博文中的绝大多数都并非是博主本人的直接研究成果,而是博主从书本、网站或视频等公开资料学习并根据自身的项目经历总结而成,本博客主要的参考文献列举在本文的文末,若您觉得本博客中的文章侵犯了您的成果或权益,您可以直接私信联系修改或删除内容。

人工智能(Artificial Intelligence)领域:

深入理解机器学习》系列、《深入理解深度学习》系列和《深入理解强化学习》系列主要介绍了机器学习、深度学习和强化学习算法的推导过程与实现方法,而《机器学习中的数学》系列详细介绍了在机器学习、深度学习以及强化学习理论中所必要的数学知识,如线性代数、概率论、信息论、数理统计、解析几何、最优化理论等。《自然语言处理从入门到应用》、《大模型从入门到应用》和《知识图谱从入门到应用》等系列则深入业务实践层面,深入介绍了自然语言处理、大模型和知识图谱领域的知识,其是机器学习、深度学习以及强化学习在业务层的应用。另外在代码实现层面,《TensorFlow2代码入门到项目实战》则以Google最新的模块讲解了当今业界在深度学习各项目中的实践方法。另外,《深入浅出TensorFlow2函数》、《深入浅出Pytorch函数》、《深入浅出PaddlePaddle函数》则分别以torchpaddle模块的函数为粒度介绍了各个函数的使用方法、参数、返回值、实现过程等信息。

算法学(Algorithmics)领域:

在《算法设计与分析》系列中,我们主要介绍算法学基础的相关知识,这部分的内容基本是算法工程师必备的技能。当今算法工程师有很多种,如:音/视频算法工程师、图像处理算法工程师、计算机视觉算法工程师、自然语言算法工程师、数据挖掘算法工程师、搜索算法工程师、通信基带算法工程师、信号算法工程师、射频/通信算法工程师、控制算法工程师、导航算法工程师等,本系列的内容都是算法工程师必备的知识。

大数据(Big Data)和数据科学(Data Science)领域

大数据与数据科学》系列聚焦于数据分析领域,介绍了除机器学习算法以外的数据科学相关技术。除此之外,还系统介绍了Hadoop及其生态如Spark、Kylin等的相关知识以及这些框架在商业智能中的应用,如:维度建模、数据仓库等知识,这些内容与其它系列文章互补,构建了从数据模型到具体业务的知识体系。在数据获取层面,《Python爬虫从入门到精通》系列详细介绍了基于Python3的爬虫技术与方法。

其它专栏

本博客还对人工智能领域常用编程语言Python(《系统学习Python》系列)、Scala(《快速入门Scala》系列)做了详细介绍,无论是初学、进阶还是作为常用手册的查询,这两个系列的内容都非常合适。同时,《人工智能与大数据面试指南》系列汇总了本博客所有涉及的行业与应用场景,为读者总结了相应应用场景下常见的面试问题与其解答。

各分类的目录与介绍如下,我会根据实际情况逐渐完善各个分类下的内容。


深入理解机器学习

深入理解机器学习》系列不仅仅把目光局限机器学习算法的推导与实现,还会从数学、统计学以及统计学习的角度来深入理解机器学习算法,除此之外,本系列还会讨论各个机器学习算法局限与瓶颈,纵横向比较各种机器学习算法的优劣等。另外,在详细介绍机器学习算法的同时,我还会通过Python以及相关机器学习模块如scikit-learnapyori等给出相关项目的实战代码。希望读者能通过阅读本系列的文章对机器学习算法相关的知识有一定深度的理解。

  • 机器学习概览
  • 数据集的划分与模型评估方法
  • 机器学习模型的性能度量
  • 线性回归(Linear Regression)
  • 广义线性模型(Generalize Linear Model)
  • 逻辑斯蒂回归(Logistic Regression)
  • k-近邻算法(kNN,k-Nearest Neighbor)
    • 基础知识
    • 算法定义
  • 基于决策树(Decision Tree)的模型
    • 分类树与回归树
  • 朴素贝叶斯(Naive Bayes)
  • EM算法/最大期望算法(Expectation-Maximization Algorithm)
  • 最大熵模型(Maximum Entropy Model)
  • 支持向量机(Support Vector Machine)
  • 聚类(Clustering)
  • 概率图模型(Probabilistic Graphical Model)
    • 隐马尔科夫模型(Hidden Markov Model,HMM)
    • 马尔可夫随机场(Markov Random Field)
    • 条件随机场(Conditional Random Fields)
  • 马尔可夫链蒙特卡罗方法(MCMC,Markov Chain Monte Carlo)
  • 集成学习(Ensemble Learning)
    • 基础知识
    • 提升法Boosting与Adaboost算法
    • 袋装法Bagging
  • 类别不平衡学习(Imbalanced Learning)
    • 基础知识
    • 常用技术概览
    • 应用领域
    • 类别不平衡分布对传统分类器性能的影响机理
    • 影响因素
    • 性能评价测度
    • 样本采样技术
      • 基础知识
      • 随机采样技术
      • 人工采样技术
        • SMOTE采样法及Borderline-SMOTE采样法
        • ADASYN采样法

深入理解深度学习

深入理解深度学习》系列以机器学习中的神经网络算法为主线,由浅入深地介绍各类型的神经网络结构与应用场景以及深度学习理论中必备的知识点。除此之外,该分类在介绍完算法后,还会用基于TensorFlow2.0的Python3代码来实现相关算法。在该分类的最后,还会涉及科学家们正在研究的前沿课题与领域,供大家学习与参考。

  • Embedding
    • Embedding基础知识
    • Word Embedding
      • word2vec
      • 连续词袋模型(CBOW, The Continuous Bag-of-Words Model)
      • Skip-Gram模型
      • Skip-Gram模型的数学原理
      • 基于哈夫曼树(Huffman Tree)的Hierarchical Softmax优化
      • 负采样(Negative Sampling)优化
    • Item Embedding
    • 用Embedding处理分类特征
    • 图嵌入(Graph Embedding)
    • 语境词嵌入(Contextual Word Embedding)
  • 预训练模型

机器学习中的数学

机器学习中的数学》系列详细介绍了在机器学习理论中所必要的数学知识,如线性代数、概率论、信息论、数理统计、解析几何、最优化理论等。本章仅介绍机器学习及深度学习理论中必要的数学知识,对其整体的框架逻辑没有做详尽的解读,读者若想系统的学习完整的高等数学方面的知识,可以另找相关教材。在讲授相关知识的同时,该系列还会以Python3为基础,通过引入pandasnumpytensorflow等模块来展示相关的数学知识。

线性代数

  • 线性代数基础及量的表示
  • 矩阵和向量相乘
  • 单位矩阵和逆矩阵
  • 线性相关和生成子空间
  • 范数
  • 距离定义:
    • 基础知识
    • 欧几里得距离(Euclidean Distance)
    • 曼哈顿距离(Manhattan Distance)
    • 闵可夫斯基距离(Minkowski Distance)
    • 切比雪夫距离(Chebyshev Distance)
    • 标准化的欧几里得距离(Standardized Euclidean Distance)
    • 马氏距离(Mahalanobis Distance)
    • 兰氏距离(Lance and Williams Distance)/堪培拉距离(Canberra Distance)
    • 余弦距离(Cosine Distance)
    • 测地距离(Geodesic Distance)
    • 布雷柯蒂斯距离(Bray Curtis Distance)
    • 汉明距离(Hamming Distance)
    • 编辑距离(Edit Distance,Levenshtein Distance)
    • 杰卡德距离(Jaccard Distance)和杰卡德相似系数(Jaccard Similarity Coefficient)
    • Ochiia系数(Ochiia Coefficient)
    • Dice系数(Dice Coefficient)
    • 豪斯多夫距离(Hausdorff Distance)
    • 皮尔逊相关系数(Pearson Correlation)
    • 卡方距离(Chi-square Measure)
    • 交叉熵(Cross Entropy)
    • 相对熵(Relative Entropy)/KL散度(Kullback-Leibler Divergence)
    • JS散度(Jensen–Shannon Divergence)
    • 海林格距离(Hellinger Distance)
    • α-散度(α-Divergence)
    • F-散度(F-Divergence)
    • 布雷格曼散度(Bregman Divergence)
    • Wasserstein距离(Wasserstei Distance)/EM距离(Earth-Mover Distance)
    • 巴氏距离(Bhattacharyya Distance)
    • 最大均值差异(Maximum Mean Discrepancy, MMD)
    • 点间互信息(Pointwise Mutual Information, PMI)
  • 特殊类型的向量和矩阵
  • 特征分解
  • 奇异值分解
  • Moore-Penrose伪逆
  • 迹运算
  • 行列式
  • Jacobian矩阵和Hessian矩阵

概率论与数理统计

  • 概率论基础知识
  • 随机变量
  • 概率分布
  • 边缘概率
  • 条件概率
  • 独立性和条件独立性
  • 期望、方差和协方差
  • 常用概率分布
    • 伯努利分布(Bernoulli分布)
    • 范畴分布(Multinoulli分布)
    • 二项分布(Binomial分布)
    • 均匀分布(Uniform分布)
    • 高斯分布(Gaussian分布)/正态分布(Normal分布)
    • 指数分布(Exponential分布)
    • 拉普拉斯分布(Laplace分布)
    • 狄拉克分布(Dirac分布)
    • 经验分布(Empirical分布)
    • 贝塔分布(Beta分布)
    • 利克雷分布(Dirichlet分布)
    • 逻辑斯谛分布(Logistic 分布)
  • 分布的混合
  • 贝叶斯定理
  • 连续型随机变量的测度
  • 连续型随机变量的变换
  • 结构化概率模型/图模型
  • 点估计
    • 基础知识
    • 矩估计
    • 极大似然估计/最大似然估计(Maximum Likelihood Estimate,MLE)
    • 最大后验估计(Maximum Posteriori Probability,MAP)
  • 抽样方法
    • 蓄水池抽样算法(Reservoir Sampling Algorithm)

数值分析

  • 上溢和下溢
  • 病态条件
  • 激活函数
    • 基础知识
    • 激活函数(一):Sigmoid函数
    • 激活函数(二):双曲正切函数(Tanh函数)
    • 激活函数(三): 线性整流函数(ReLU函数)
    • 激活函数(四):Leaky ReLU函数
    • 激活函数(五):ELU函数
    • 激活函数(六):Parametric ReLU(PReLU)函数
    • 激活函数(七):Softmax函数
    • 激活函数(八):Swish函数
    • 激活函数(九):Maxout函数
    • 激活函数(十):Softplus函数
    • 激活函数(十一):Softsign函数
    • 激活函数(十二):高斯误差线性单元(GELUs)
  • Jacobian矩阵和Hessian矩阵

最优化理论

  • 深度学习中的优化理论
  • 深度学习优化的挑战
    • 病态
    • 局部极小值
    • 高原、鞍点和其他平坦区域
    • 梯度消失和梯度爆炸
    • 非精确梯度
    • 局部和全局结构间的弱对应
  • 无约束优化方法
    • 梯度下降法(Gradient Descent)
    • 随机梯度下降(Stochastic Gradient Descent, SGD)
    • 牛顿迭代法(Newton‘s Method)
    • 拟牛顿法(Quasi-Newton Methods)
    • Momentum(Gradient Descent with Momentum, GDM)
    • Nesterov Momentum
    • AdaGrad
    • RMSProp
    • Adam(Adaptive Moments)
    • 共轭梯度法(Conjugate Gradient)
    • 遗传算法(Genetic Algorithm)
    • 粒子群算法
      • 基础知识
      • 带惯性权重的粒子群算法
      • 改进的粒子群算法
    • 模拟退火算法(Simulated Annealing,SA)
  • 有约束优化方法
    • 拉格朗日乘子法
      • 拉格朗日乘子法(一):等式约束的拉格朗日乘子法
      • 拉格朗日乘子法(二):不等式约束与KKT条件
  • 参数初始化策略

自然语言处理从入门到应用

自然语言处理从入门到应用》系列从自然语言的基本任务开始由浅入深地讲解到自然语言处理的应用任务,让读者有在学习完《深入理解机器学习》系列和《深入理解深度学习》系列后,有能力将理论知识直接应用于自然语言处理的场景中。值得一提的是,自然语言处理中的一个重要组成部分——预训练模型将在《深入理解深度学习》系列中讲解,这部分的知识不会再在《自然语言处理从入门到应用》系列中重复讲授。

  • 自然语言处理(Natural Language Processing,NLP)基础知识
  • 文本的表示方法
  • 自然语言处理的语言模型(Language Model,LM)
  • 静态词向量
    • 神经网络语言模型(Neural Network Language Model)
    • 全局向量词嵌入GloVe(Global Vectors for Word Representation)
  • 动态词向量(Dynamic Word Embedding)/上下文相关的词向量(Contextualized Word Embedding)
    • 基础知识
    • 双向语言模型
    • ELMo词向量
  • 词向量的评价方法
  • 自然语言处理的基础任务
    • 中文分词和子词切分
    • 词性标注(POS Tagging)和句法分析(Syntactic Parsing)
    • 语义分析(Semantic Analysis)
  • 自然语言处理的应用任务
  • 自然语言处理的基本问题
    • 结构预测问题
    • 文本分类(Text Classification, Text Categorization)
    • 序列到序列(Sequence-to-Sequence,Seq2Seq)问题
  • 评价指标
  • 预训练模型总览
    • 从宏观视角了解预训练模型
    • 词嵌入的两大范式
    • 两大任务类型
    • 预训练模型的拓展
    • 迁移学习与微调
    • 预训练模型存在的问题

大模型从入门到应用

大模型从入门到应用》系列由浅入深的介绍了大模型在各个行业中应用的知识,包括了LangChain、Hugging Face等大模型常用框架的介绍,而涉及到大模型算法基础的部门需要读者参考《深入理解深度学习》系列文章。

  • LangChain
    • 基础知识
    • 快速入门
      • 安装与环境配置
      • 链(Chains)、代理(Agent:)和记忆(Memory)
      • 快速开发聊天模型
    • 模型(Models)
      • 基础知识
      • 大型语言模型(LLMs)
        • 基础知识
        • LLM的异步API、自定义LLM包装器、虚假LLM和人类输入LLM(Human Input LLM)
        • 缓存LLM的调用结果
        • 加载与保存LLM类、流式传输LLM与Chat Model响应和跟踪tokens使用情况
      • 聊天模型(Chat Models)
        • 基础知识
        • 使用少量示例和响应流式传输
      • 文本嵌入模型
        • Aleph Alpha、Amazon Bedrock、Azure OpenAI、Cohere等
        • Embaas、Fake Embeddings、Google Vertex AI PaLM等
    • 提示(Prompts)
      • 基础知识
      • 提示模板
        • 基础知识
        • 连接到特征存储
        • 创建自定义提示模板和含有Few-Shot示例的提示模板
        • 部分填充的提示模板和提示合成
        • 序列化提示信息
      • 示例选择器(Example Selectors)
      • 输出解析器(Output Parsers)
    • 记忆(Memory)
      • 基础知识
      • 记忆的类型
        • 会话缓存记忆、会话缓存窗口记忆和实体记忆
        • 对话知识图谱记忆、对话摘要记忆和会话摘要缓冲记忆
        • 对话令牌缓冲存储器和基于向量存储的记忆
      • 将记忆添加到LangChain组件中
      • 自定义对话记忆与自定义记忆类
      • 聊天消息记录
      • 记忆的存储与应用
    • 索引(Indexes)
      • 基础知识
      • 文档加载器(Document Loaders)
      • 文本分割器(Text Splitters)
      • 向量存储器(Vectorstores)
      • 检索器(Retrievers)
    • 链(Chains)
      • 基础知识
      • 通用功能
        • 自定义Chain和Chain的异步API
        • LLMChain和RouterChain
        • SequentialChain和TransformationChain
        • 链的保存(序列化)与加载(反序列化)
      • 链与索引
        • 文档分析和基于文档的聊天
        • 问答的基础知识
        • 图问答(Graph QA)和带来源的问答(Q&A with Sources)
        • 检索式问答
        • 本摘要(Summarization)、HyDE和向量数据库的文本生成
    • 代理(Agents)
      • 基础知识
      • 代理类型
      • 自定义代理(Custom Agent)
      • 自定义MRKL代理
      • 带有ChatModel的LLM聊天自定义代理和自定义多操作代理(Custom MultiAction Agent)
      • 工具
        • 基础知识
        • 自定义工具(Custom Tools)
        • 多输入工具和工具输入模式
        • 人工确认工具验证和Tools作为OpenAI函数
      • 工具包(Toolkit)
      • 代理执行器(Agent Executor)
        • 结合使用Agent和VectorStore
        • 使用Agents的异步API和创建ChatGPT克隆
        • 处理解析错误、访问中间步骤和限制最大迭代次数
        • 为代理程序设置超时时间和限制最大迭代次数和为代理程序和其工具添加共享内存
      • 计划与执行
    • 回调函数(Callbacks)

知识图谱从入门到应用

知识图谱从入门到应用》系列深入算法实践层面,深入介绍了知识图谱领域的知识,如知识图谱的表示、构建、推理和融合等内容。

  • 知识图谱的基础知识
  • 知识图谱的发展
  • 知识图谱的应用
  • 知识图谱的技术结构
  • 知识图谱的知识表示
    • 基础知识
    • 符号表示方法
    • 向量表示方法
  • 知识图谱的获取与构建
    • 知识工程与知识获取
  • 知识图谱的存储与查询
    • 基于关系数据库的知识图谱存储
    • 基于原生图数据库的知识图谱存储
  • 知识图谱推理
    • 基础知识
    • 基于符号逻辑的知识图谱推理
    • 基于表示学习的知识图谱推理
      • 嵌入学习

深入浅出TensorFlow2函数

深入浅出TensorFlow2函数》系列以模块的函数为粒度介绍了各个函数的使用方法、参数、返回值、实现过程等信息。每篇文章为一个函数,首先会介绍函数的表现形式以及其意义、使用时的注意事项等信息。其次,会给出函数的参数和返回值。最后,会列出函数的实现过程,这一部分的内容有利于读者深入浅出的理解模块的函数。

      • .padded_batch
    • .reduce_sum
  • tf.reduce_sum
    • .get_shape

深入浅出Pytorch函数

深入浅出Pytorch函数》系列以torch模块的函数为粒度介绍了各个函数的使用方法、参数、返回值、实现过程等信息。每篇文章为一个函数,首先会介绍函数的表现形式以及其意义、使用时的注意事项等信息。其次,会给出函数的参数和返回值。最后,会列出函数的实现过程,这一部分的内容有利于读者深入浅出的理解torch模块的函数。

  • torch.as_tensor
  • torch.from_numpy
  • torch.full_like
  • torch.ones_like
  • torch.zeros_like

深入浅出PaddlePaddle函数

深入浅出PaddlePaddle函数》系列以paddle模块的函数为粒度介绍了各个函数的使用方法、参数、返回值、实现过程等信息。每篇文章为一个函数,首先会介绍函数的表现形式以及其意义、使用时的注意事项等信息。其次,会给出函数的参数和返回值。最后,会列出函数的实现过程,这一部分的内容有利于读者深入浅出的理解paddle模块的函数。

  • paddle.full_like
  • paddle.ones_like
  • paddle.to_tensor
  • paddle.zeros_like

算法设计与分析

算法设计与分析》以算法设计为核心,详细系统地介绍了数据结构和算法学的相关理论。在需要代码实践的部分,本系列使用了伪代码或Python代码实现,有兴趣的读者还可以自行选用自己喜爱的语言实现该过程。

  • 算法学基础
    • 算法学基础(一):算法学概述
    • 算法学基础(二):分析算法
    • 算法学基础(三):渐进记号
  • 排序算法
    • 排序算法(一):插入排序
    • 排序算法(二):归并排序
    • 排序算法(三):堆排序
    • 排序算法(四):选择排序
    • 排序算法(五):冒泡排序
    • 排序算法(六):希尔排序
    • 排序算法(七):快速排序
      • ①基础知识
      • ②快速排序的性能
      • ③快速排序的随机化
      • ④快速排序的分析
    • 排序算法(八):计数排序
    • 排序算法(九):基数排序
    • 排序算法(十):桶排序
    • 排序算法:比较排序算法的下界
    • 排序算法:十大排序算法总结
  • 顺序统计量
    • 最大值与最小值
    • 期望为线性时间的选择算法
    • 最坏情况为线性时间的选择算法
  • 分治策略
    • 分治策略(一):基础知识
  • 基础数据结构
    • 栈和队列
    • 链表
      • (一):基础知识
      • 堆(二):维护堆的性质
      • 堆(三):建堆
      • 堆(四):优先队列
    • 散列表[哈希表]
      • 散列表[哈希表](一):基础知识
      • 散列表[哈希表](二):直接寻址表
      • 散列表[哈希表](三):散列表原理
      • 散列表[哈希表](四):散列函数
      • 散列表[哈希表](五):开放寻址法
      • 散列表[哈希表](六):完全散列
    • 二叉搜索树
      • 二叉搜索树(一):基础知识
      • 二叉搜索树(二):查询二叉搜索树
      • 二叉搜索树(三):插入和删除
      • 二叉搜索树(四):随机构建二叉搜索树的期望高度
  • 高级数据结构:
    • 字典树(前缀树、Trie树)
    • 哈夫曼树/赫夫曼树(Huffman Tree)和哈夫曼编码/赫夫曼编码(Huffman Coding)
    • 并查集(Union-find Disjoint Sets)
    • 位图(BitMap)
    • 布隆过滤器(Bloom Filter)
  • 动态规划
    • 动态规划(一):基础知识
    • 动态规划(二):钢条切割
    • 动态规划(三):矩阵链乘法
    • 动态规划(四):动态规划详解
    • 动态规划(五):最长公共子序列
  • 贪心算法
  • 摊还分析
  • 基于图的算法
  • NP理论
  • 非线性方程与牛顿迭代法
  • 优化算法

大数据与数据科学

大数据与数据科学》系列囊括了大数据和数据科学的相关内容。除此之外,还包含了与大数据与数据科学领域相关的商业智能的内容,如维度建模与数据仓库Hive编程的内容。

大数据

  • 大数据概述
  • Hadoop与Spark等大数据框架介绍
  • Hadoop
    • MapReduce
    • HDFS(分布式文件管理系统)
    • YARN
  • Spark

数据科学

  • 数据预处理技术基础

维度建模

  • 维度建模概述

数据仓库Hive编程

  • Hive基础知识
  • 数据类型和文件格式
    • 基本数据类型
    • 集合数据类型
    • 文本文件数据编码
    • 读时模式
  • HiveQL的数据定义
    • Hive中的数据库
    • 修改数据库
    • 创建表
    • 分区表和管理表
    • 删除表
    • 修改表
  • HiveQL的数据操作
    • 向管理表中装载数据

Python爬虫从入门到精通

Python爬虫从入门到精通》系列以一个仅会Python基础的程序员的角度深入讲解了Python爬虫理论及实战。数据作为数据科学领域的基石具有十分重要的意义,而爬虫作为数据获取中一个重要的手段值得各位希望从事数据科学领域的朋友们学习理解。

  • 爬虫基础
    • 爬虫基本原理
    • HTTP基本原理
    • 网页基本原理
    • 会话和Cookies
    • 代理基本原理
  • 请求库的使用
    • Urllib
      • 请求库Urllib的使用(一):发送请求
      • 请求库Urllib的使用(二):处理异常
      • 请求库Urllib的使用(三):解析链接
      • 请求库Urllib的使用(四):Robots协议
    • Requests
      • 请求库requests的使用(一):基本用法
      • 请求库requests的使用(二):高级用法
  • 解析库的使用
    • 解析库re的使用:正则表达式
    • 解析库XPath的使用
    • 解析库Beautiful Soup的使用
    • 解析库pyquery的使用
  • Ajax数据爬取
    • Ajax数据爬取(一):基本原理
    • Ajax数据爬取(二):分析方法
    • Ajax数据爬取(三):结果提取
  • 爬虫实战篇:
    • 爬取猫眼电影排行Top100
    • 爬取新浪微博内容
    • 爬取今日头条图片新闻

系统学习Python

系统学习Python》系列将深入浅出地介绍Python语言的各个特性。无论读者对Python毫无基础还是有几年Python编程经验,本分类的文章都会非常适合各类读者。在本分类下,我还会适当的标出Python高级特性的部分,如果您是初学者,可以跳过该部分的学习。除此之外,我还会介绍Python的一些编程技巧以及Python编程中的一些易错点。

  • 变量
    • 下划线的作用与意义:单下划线与双下划线
  • 字符串(str)
    • 字符串前缀字母‘u’、‘r’、‘b’、‘f’的作用
  • 字典(dict)
    • copy()函数
  • 类(class)
    • 静态方法(staticmethod)和类方法(classmethod)
      • 基础知识
      • 使用静态方法和类方法的原因
      • 初识Python中的静态方法
      • 静态方法备选方案
      • 使用静态方法和类方法
      • 实例
        • 用静态方法计数
        • 用类方法计数
        • 使用类方法统计每个类的实例个数
  • 数据结构
    • 堆:利用heapq模块实现堆
    • 双向队列:利用模块实现双向队列
    • Trie树:实现数据结构字典树(前缀树、Trie树)
  • Python 标准库
    • 容器数据类型collections
      • deque利用模块实现双向队列
    • 堆队列算法heapq利用heapq模块实现堆
    • 伪随机数模块random
      • 随机顺序返回序列
    • 多种操作系统接口模块os
      • walk利用()实现遍历文件夹(及子文件夹)下所有文件
    • 警告信息的控制模块warnings
      • 基础知识
      • 警告类别
      • 警告过滤器
        • 基础知识
        • 警告过滤器的执行过程
        • 默认警告过滤器
      • 暂时禁止警告
      • 测试警告
      • 为新版本的依赖关系更新代码
      • 常用函数
        • warnings.warn_explicit
      • 上下文管理器warnings.catch_warnings
  • Python 第三方库
    • 进度条模块tqdm
    • 科学计算库NumPy
      • 随机数模块
    • 2D绘图库Matplotlib
      • 绘图函数

快速入门Scala

快速入门Scala》系列面向零基础的读者。博主希望零基础的读者能通过阅读该分类下的文章能够快速入门Scala,对Scala语法有一个基本的认识,能读懂代码并上手Scala的小项目。Scala作为Spark的底层语言越发越受到重视,在使用Spark处理大数据时,相比于Java与Python,Scala得天独厚的优势即将显现。

  • 快速入门Scala(一):变量的类型与声明
  • 快速入门Scala(二):条件表达式
  • 快速入门Scala(三):循环
  • 快速入门Scala(四):运算符与运算符重载
  • 快速入门Scala(五):方法与函数
  • 快速入门Scala(六):数组与集合
  • 快速入门Scala(七):类与对象

人工智能与大数据面试指南

人工智能与大数据面试指南》系列汇总了本博客所有涉及的行业与应用场景,如:机器学习、深度学习、大数据、算法与数据结构、自然语言处理、计算机视觉、知识图谱、推荐系统等各领域的内容,为读者总结了相应应用场景下常见的面试问题与其解答。本系列下的内容会持续更新,有需要的读者可以收藏文章,以及时获取文章的最新内容。


本博客主要参考的书籍及资料:
[1] Lecun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015.
[2] Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola. Dive Into Deep Learning[J]. arXiv preprint arXiv:2106.11342, 2021.
[3] James G , D Witten, Hastie T , et al. An Introduction to Statistical Learning: With Applications in R[M]. 2013.
[4] Albert King. AKShare. GitHub, 2019.
[5] , Cormen, Leiserson,等. 算法导论[M]. 机械工业出版社, 2006.
[6] Mark Lutz. Python学习手册[M]. 机械工业出版社, 2018.
[7] 卢西亚诺·拉马略.流畅的Python 第2版(全2册) 编程语言[M].人民邮电出版社,2023.
[8] 周志华. 机器学习[M]. 清华大学出版社, 2016.
[9] 吴茂贵, 王红星. 深入浅出Embedding:原理解析与应用实战[M]. 机械工业出版社, 2021.
[10] 王喆. 深度学习推荐系统[M]. 电子工业出版社, 2020.
[11] 于化龙.类别不平衡学习:理论与算法[M].清华大学出版社, 2017.
[12] Storm, 李鲲程, 边宇明.Python实现Web UI自动化测试实战[M]. 人民邮电出版社, 2021.
[13] 陈华钧.知识图谱导论[M].电子工业出版社, 2021.
[14] 邵浩, 张凯, 李方圆, 张云柯, 戴锡强. 从零构建知识图谱[M].机械工业出版社, 2021.
[15] Thomas H. Cormen 等, 殷建平. 算法导论[M]. 机械工业出版社, 2013.
[16] Pang-NingTan, MichaelSteinbach, VipinKumar. 数据挖掘导论[M]. 人民邮电出版社, 2010.
[17] 车万翔, 崔一鸣, 郭江. 自然语言处理:基于预训练模型的方法[M]. 电子工业出版社, 2021.
[18] 邵浩, 刘一烽. 预训练语言模型[M]. 电子工业出版社, 2021.
[19] 何晗. 自然语言处理入门[M]. 人民邮电出版社, 2019
[20] Sudharsan Ravichandiran. BERT基础教程:Transformer大模型实战[M]. 人民邮电出版社, 2023
[21] 张伟楠, 沈键, 俞勇. 动手学强化学习[M]. 人民邮电出版社, 2022.
[22] Richard S. Sutton, Andrew G. Barto. 强化学习(第2版)[M]. 电子工业出版社, 2019
[23] Maxim Lapan. 深度强化学习实践(原书第2版)[M]. 北京华章图文信息有限公司, 2021
[24] 王琦, 杨毅远, 江季. Easy RL:强化学习教程 [M]. 人民邮电出版社, 2022
[25] LangChain官方网站:/
[26] LangChain ????️???? 中文网,跟着LangChain一起学LLM/GPT开发:/
[27] LangChain中文网 - LangChain 是一个用于开发由语言模型驱动的应用程序的框架:/
[28] 杨强, 刘洋, 程勇, 康焱, 陈天健, 于涵. 联邦学习[M]. 电子工业出版社, 2020
[29] 微众银行, FedAI. 联邦学习白皮书V2.0[EB/OL]. 腾讯研究院等, 2021
[30] 崔庆才. Python 3网络爬虫开发实战(第二版)[M]. 人民邮电出版社, 2021.