分享

人工智能所需要学习的技能有哪些?

 流形sbz 2023-10-31 发布于甘肃
2023-10-29 06:22·嵌入式xff

人工智能需要的六大技能

先简述一下,人工智能需要数学基础技能、编程技能、数据工程能力、机器学习基础算法、深度学习算法、开发框架及项目等六大核心技能,聚集此六大技能多半就能站在人工智能最顶尖的一批人了。当然,千万不要对这六大技能感到畏惧,人工智能行业最应该具备的能力就是持续的终身学习的能力。

接下来将对以下技能一一拆解并附上学习资源,入门人工智能行业大概需要1-2年时间的学习,未来的道路很长千万别忘记初心,保持终身学习的能力。

人工智能核心能力图谱

上图详细的说明了人工智能所需要的知识点,但是千万别害怕,入门人工智能并不需要把所有知识点全部学会,只需要记住整体脉络即可,在真实场景遇到的时候再去补相关的知识点,切记保持终身学习的能力!切记!

认识人工智能

人工智能 (AI) 是计算机科学的一个广泛分支,涉及构建能够执行通常需要人类智能的任务的智能机器。虽然人工智能是一门具有多种方法的跨学科科学,但尤其是机器学习和深度学习的进步正在为科技行业的几乎每个领域带来范式转变。

  • 将人工智能称之为机器可以具有人类思维相关认知能力的愿景

  • 目前解决的方式是通过机器学习的方法来逼近人工智能这一个愿景

  • 其中深度学习是机器学习中目前效果较好且最火热的一个技术分支

人工智能关系

数学基础技能

深度学习的第一步或技能是 数学技能。它可以帮助您了解深度学习和机器学习算法的工作原理。当你尝试着去理解一个像机器学习(ML)一样的交叉学科的时候,主要问题是理解这些技术所需要的数学知识的量以及必要的水平。

数学有多重要同学们肯定都十分清楚,尤其是在人工智能(数据科学)领域,不懂数学想必寸步难行。

简单来说,数学能力是决定未来人工智能从业长远的必备条件。但是并不建议从头到尾花大量时间去一步一个脚印学习,这样会让你持续走弯路。

对于数学学习的最佳方式,就是将所有的知识点 学习资源整合,当遇到相关知识点成为拦路虎的时候回过头,利用学习资源重新复习这个知识点

线性代数

线性代数是 21 世纪的数学。在机器学习领域,线性代数无处不在。主成分分析(PCA)、奇异值分解(SVD)、矩阵的特征分解、LU 分解、QR 分解、对称矩阵、正交化和正交归一化、矩阵运算、投影、特征值和特征向量、向量空间和范数(Norms),这些都是理解机器学习中所使用的优化方法所需要的。

  • 由 MIT Courseware 提供的线性代数课程(Gilbert Strang 教授的讲授的课程),备受广大学生的喜欢,精品中的精品,首推、强推。这门课的精彩程度在于它能够让你从空间的角度去考虑问题,而不仅仅是方程。而且书中大量的讲到线性代数的应用

  • 3Blue1Brown出品的这个线性代数的本质系列视频就是开胃菜,总共14个小视频,视频控制在9-18分钟之间,很适合短时间快速温习线性代数知识点,更适合基础不好同学入手。

  • immersivemath这个是最容易理解线性代数和空间关系的一种交互式网站,通过可以活动的图像,你可以观察和理解难懂的数学理论,课程看不懂的时候过来看一看帮助理解

  • 关于教学课程强推清华大学马辉老师出品的线性代数是目前当中最难、品质保证最高,适合对数学有极度兴趣或者准备考研的同学。

  • 《线性代数的艺术》一共只有12页纸,而且一半都是图解,小白也不用担心看不懂,阅读完这本书其实就算是完成线性代数的入门,建议由此入手,在遇到其他问题学习其他课程即可。

PS: 这篇文章耗时一周整理全网最具有代表性的线性代数学习资源,如果觉得有所帮助收藏、点赞、关注三连是对我最大的支持。

概率论与统计学

机器学习需要的一些概率和统计理论分别是:组合、概率规则和公理、贝叶斯定理、随机变量、方差和期望、条件和联合分布、标准分布(伯努利、二项式、多项式、均匀和高斯)、 矩母函数 (Moment Generating Functions)、最大似然估计(MLE)、先验和后验、最大后验估计(MAP)和抽样方法。

微积分

当确立好一个算法模型之后,问题的最终求解往往都会涉及到优化问题。在探寻数据空间极值的过程中,如果没有微分理论和计算方法作为支撑,任何漂亮的模型都无法落地。当然如果不具备基础的微积分知识,在理解机器学习算法的优化上同样困难,

因此,夯实多元微分的基本概念,掌握最优化的实现方法,是通向最终解决方案的必经之路。

凸优化

机器学习中广泛使用的凸优化方法主要分为梯度下降法和拟牛顿法,学习凸优化在机器学习中具有重要的地位,能够帮助我们更有效地训练模型、提高模型的性能,并且提供了坚实的数学基础和工具,用于解决各种优化问题

推荐看看这篇文章理解凸优化

编程技能

Python 是迄今为止最流行、最好的机器学习语言,超过 60% 的机器学习开发人员使用并优先使用它进行开发。 Python 如此有吸引力有几个关键方面。 一方面,它很容易学习,这对于那些想要开始机器学习的人来说至关重要。 它还具有可扩展性和开源性。入门机器学习需要学习一门编程语言,这门编程语言主推python,如果有编程学习经验的同学可以自行学习。

数据工程能力

数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。特征工程很少在机器学习相关的书中阐述,包括很多网络课程当中,这个需要很多实际经验才能得出处理数据的知识。这里推荐几本特征工程的图书,可以自行阅读

数据工程包括数据获取,存储和处理。因此,工程师的主要任务是为数据提供可靠的基础架构。如果我们看一下需求的层次结构,数据工程将进入其中的前2-3个阶段:收集,移动和存储,数据准备。

还需要使用和了解绝大多数大数据存储工具,下面总结了大多数用于存储和处理大量数据的工具:

  • Apache Kafka(Scala)

  • Hadoop,HDFS(Java)

  • Apache Spark(Scala)

  • Apache Cassandra(Java)

  • HBase(Java)

  • Apache Hive(Java)

要了解这些工具的工作方式,您需要了解它们所使用的语言。Scala的函数式编程使您可以有效地解决并行数据处理的问题,在性能方面,python远远比不上Scala。还可以使用Java来对这些工具进行操作,不管怎么样你至少需要学会一种手段来操作这些工具。

机器学习基础算法

按照机器学习算法分类可以将机器学习划分为:

监督学习

非监督学习

按照难度划分,可以通过下面内容详细说明一下不同算法之间的难度和入行需要掌握的程度。

知识点

内容

概述

分类算法

逻辑回归,决策树,支持向量机,集成算法,贝叶斯算法

准备面试的同学们必须掌握

回归算法

线性回归,决策树,集成算法

有些算法既能做分类也能做回归

聚类算法

k-means,dbscan等

无监督是实在没标签的时候才考虑的

降维算法

主成分分析,线性判别分析等

重在理解降维的思想

进阶算法

GBDT提升算法,lightgbm,,EM算法,隐马尔科夫模型

进阶算法有时间精力的同学们可以挑战

监督学习

监督学习是指在给定的训练集中“学习”出一个函数(模型参数),当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求包括输入和输出,即特征值和目标值(标签),训练集中数据的目标值(标签)是由人工事先进行标注的,下面给出监督学习算法的发展时间线。

监督学习发展历史

监督学习再次划分下去也包括两个类别,分别是分类和回归

分类方法可预测离散响应 - 例如,电子邮件是真正邮件还是垃圾邮件,肿瘤是恶性还是良性的。分类模型将输入数据划分成不同类别。典型的应用包括医学成像、语音识别和信用评分。

如果您的数据能进行标记、分类或分为特定的组或类,则使用分类。例如,笔迹识别应用会使用分类来识别字母和数字。在图像处理和计算机视觉方面,无监督模式识别方法被用于目标检测和图像分割。

回归方法可用于预测连续响应,例如电池荷电状态等难以测量的物理量,电网的电力负荷或金融资产价格。典型的应用包括虚拟传感、电力负荷预测和算法交易。

2.无监督学习

无监督学习算法利用未标记的数据自行从数据中发现模式。该系统能够从提供的输入数据中识别隐藏的特征。一旦数据更具可读性,模式和相似性就会变得更加明显。

无监督学习的一些示例包括 k 均值聚类、层次聚类和异常检测,下面详细介绍了无监督学习的类别和应用

算法名称

类型

特点

应用

K-means

基于划分方法的聚类

将数据分为K组,随机选取K个对象作为初始的聚类中心,计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心

客户分析与分类、图形分割

Birch

基于层次的聚类

通过扫描数据库,建立一个聚类特征树,对聚类特征树的叶节点进行聚类

图片检索、网页聚类

Dbscan

基于密度的聚类

将密度大的区域划分为族,在具有噪声的空间数据库中发现任意形状的簇,并将簇定义为密度相连的点的最大集合

社交网络聚类、电商用户聚类

Sting

基于网格的聚类

将空间区域划分为矩形单元,对于不同级别的分辨率,存在多个矩形单元,高层单元被划分为多个低层单元,计算和存储每个网格单元属性的统计信息

语音识别、字符识别

主成分分析(PCA)

线性降维

通过正交变换将一组可能存在相关性的变量数据转换为组线性不相关的变量,转换后的变量被称为主成分

数据挖掘、图像处理

线性判别分析(LDA)

线性降维

将高维空间中的数据投影到低维空间中,投影后各个类别的类内方差小,而类间均值差别大

人脸识别、舰艇识别

局部线性嵌入(LLE)

非线性降维

在保持原始数据性质不变的情况下,将高维空间的信号映射到低维空间,从而进行特征值的二次提取

图像识别、高维数据可视化

拉普拉斯映射(LE)

非线性降维

从局部近似的角度构建数据之间的关系,对要降维的数据构建图,图中的每个节点和距离它最近的K个节点建立边关系

故障检测

深度学习算法

深度学习基础知识

算法名称

内容概述

神经网络

神经网络是最基础的,为后方网络的学习打下基础

本质神经网络

大家听起来很熟悉吧,深度学习中的大哥大!计算机视觉的核心网络

神经网络

北乔峰,南慕容,这就是自然语言处理中的大哥大了!

对抗生成网络

现在比较火的模型,玩起来很有趣,可以进行各种图像融合

序列网络模型

NLP中常用架构,机器学习翻译模型,应用点比较多

两大经典网络架构

刚才说的CNN和RNN都是比较基础的网络模型,在其基础上还有很多拓展需要大家掌握

如果想要实战深度学习建议参考这本书 《动手学深度学习》, ⾯向希望了解深度学习,特别是对实际使⽤深度学习感兴趣的⼤学⽣、⼯程师和研究⼈员。

深度学习论文

如果你是深度学习领域的新手,你可能会遇到的第一个问题是“我应该从哪篇论文开始阅读?”下面是一个深入学习论文的阅读路线图!

这份深度学习论文阅读路线分为三大块:

Deep Learning History and Basics

Deep Learning Method

Applications

开发框架及项目

开发框架

Sklearn:

scikit-learn 库是日常机器学习和数据科学最受欢迎的平台之一。原因是它是基于 Python 构建的,这是一种功能齐全的编程语言。这边有一个经典的Sklearn学习资源

PyTorch:

PyTorch中文官方文档其中讲述了很多有用的知识点。阅读英文文档比较困难的同学也不要紧,PyTorch相关的中文文档也很丰富,中文文档非常详细的介绍了各个函数,可作为一份PyTorch的速查宝典。

TensorFlow:

这是 YouTube 视频的 TensorFlow 教程,非常生动有趣。有视频讲解,文字教程,还有代码供你学习和练习。

tensorflow_cookbook:GitHub 5200 Star这是一本 TensorFlow 英文书的代码,你在网上可以搜到这本书来看看,也可以在这直接使用这些代码进行学习。一共十一章,讲解十分详细

tensorflow2_tutorials_chinese:GitHub 2900 Star

中文课程,详解讲解了tensorflow的使用教程。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多