博客目录与概览

从即日起,我将开始开始着手写作《深入理解机器学习》分类下的文章。《深入理解机器学习》不仅仅把目光局限机器学习算法的推导与实现,更多的会将目光聚焦于从数学、统计学以及统计学习的角度来深入理解机器学习算法,除此之外,我还会讨论各个机器学习算法局限与瓶颈,纵横向比较各种机器学习算法的优劣等。在详细介绍机器学习算法的同时,我还会通过Python和Scala给出相关项目的实战代码。所以,想深入学习机器学习的…………………………

本博客主要聚焦于人工智能(Artificial Intelligence)领域,包括机器学习(Machine Learning)和深度学习(Deep Learning)以及其在具体项目中的实现,如:计算机视觉(Computer Vision, CV)、自然语言处理(Natural Language Processing, NLP)、知识图谱(Knowledge Graph, KG)、推荐系统(Recommender System)等。除此之外,本博客还兼顾算法学(Algorithmics)、大数据(Big Data)与数据科学(Data Science)等方向的知识,冀希读者能能通过阅读本博客的文章,构建完整的知识体系与框架。

人工智能(Artificial Intelligence)领域:

深入理解机器学习》系列和《深入理解深度学习》系列主要介绍了机器学习算法和深度学习算法的推导过程与实现方法,而《机器学习中的数学》系列详细介绍了在机器学习和深度学习理论中所必要的数学知识,如线性代数、概率论、信息论、数理统计、解析几何、最优化理论等。而《知识图谱从入门到应用》系列则深入业务实践层面,深入介绍了知识图谱领域的知识与上述各类算法在知识图谱领域的应用。另外在代码实现层面,《机器学习项目实战》基于Python3的scikit-learnxgboostlightgbmapyori等模块和公开的真实数据集介绍了真实项目的构建步骤。《TensorFlow2代码入门到项目实战》则以Google最新的TensorFlow2.X模块讲解了当今业界在深度学习各项目中的实践方法。另外,《深入浅出TensorFlow2函数》则以TensorFlow2.X模块的函数为粒度介绍了各个函数的使用方法、参数、返回值、实现过程等信息。

算法学(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)
    • 基于树的模型(一):分类树与回归树
    • 基于树的模型(二):集成学习之Bagging和Random Forest
    • 基于树的模型(三):集成学习之GBDT和XGBoost
    • 基于树的模型(四):随机森林的延伸——深度森林(gcForest)
    • 基于树的模型(五):从零开始用Python实现ID3决策树
    • 基于树的模型(六):Python实现CART决策树并利用Tkinter构建GUI对决策树进行调优
  • 朴素贝叶斯(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)
  • 类别不平衡学习(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条件
  • 参数初始化策略

知识图谱从入门到应用

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


深入浅出TensorFlow2函数

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

  • tf.data
    • tf.data.Dataset
      • tf.data.Dataset.shuffle
      • tf.data.Dataset.batch
      • tf.data.Dataset.padded_batch
  • tf.keras
    • tf.keras.layers
      • tf.keras.layers.Embedding

算法设计与分析

《算法设计与分析》以算法设计为核心,详细系统地介绍了数据结构和算法学的相关理论。在需要代码实践的部分,本系列使用了伪代码或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()函数
  • Python 标准库
    • 堆队列算法heapq:利用heapq模块实现堆
    • 容器数据类型collections
      • deque:利用collections.deque模块实现双向队列
  • Python 其它库
    • 进度条模块:tqdm
  • 数据结构
    • 堆:利用heapq模块实现堆
    • 双向队列:利用collections.deque模块实现双向队列
    • Trie树:实现数据结构字典树(前缀树、Trie树)

快速入门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] ThomasH.Cormen, Cormen, Leiserson,等. 算法导论[M]. 机械工业出版社, 2006.
[6] Mark Lutz. Python学习手册[M]. 机械工业出版社, 2018.
[7] 周志华. 机器学习[M]. 清华大学出版社, 2016.
[8] 崔庆才. Python 3网络爬虫开发实战(第二版)[M]. 人民邮电出版社, 2021.
[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.

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/4048.html

(0)
上一篇 2022-11-23 13:47
下一篇 2022-11-23 13:47

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信