人工智能覆盖范围很广,除了机器学习之外,还包括专家系统、进化计算、等等很多领域。
相关参考
learning map
图中的蓝色部分是数据训练的几种情景(Senario)。包括半监督学习(semi-supervised Learning)、迁移学习(Transfe Learning)、无监督学习(Unsupervised Learning)、强化学习(Reinforcement Learning)。在有数据的情况下,监督学习和半监督学习是最好的。强化学习往往是没数据的情况下迫不得已的行为。因此什么样的情景选择,依据什么样的数据来的。
图中红色部分以及包含在其中的绿色部分代表Task以及面对这些task可以提供的model方案,包括Regression(回归)、classification(分类)、structure Learning(结构学习)。三者分别输出的是scalar、options、structured object。三者各自分别包含【logistics regression、DL regression、linear regression】【linear model、Non-linear Model(DL learning、SVM、Decision tree、KNN)】【random forest tree、xgboost】等。
机器学习任务的三大前提:
1、现象的背后有一个潜在的模式或规律。(色子就不行啊)
2、这个模式或规律很难用数学公式定义。如果有明确的公式或很容易定义特征就没有必要使用机器学习了。比如传统的回归分析算法一般不属于机器学习。
3、有足够多的数据。现在典型情况训练深度学习在数据增强后至少达到万以上。
人工智能两大应用领域
1、计算机视觉
分类、分类定位、
生产对抗网络:超分辨率重构
无人驾驶、人体姿态识别、风格迁移
2、自然语言处理
理解、生成两大块。机器翻译、搜索引擎、聊天机器人等。知识图谱是NLP典型应用场景。TransFormer在机器翻译领域中达到很好的效果。
人工智能的相关术语
数据挖掘(知识发现):从数据中发掘知识的非平凡过程,与数据仓库有密切关系。
机器学习:软件系统通过分析领域数据来自动获得“经验”,提升某方面的技能或者性能。从学习方法上来分,可以分为监督学习(分类问题)、无监督学习(聚类等、关联规则)、半/弱监督学习(部分数据有标签)、集成学习(手动提取特征,与深度学习正好相反)、强化学习和深度学习(Alpha go是使用了强化加深度学习)。
按照目的分类,机器学习涵盖了回归、分类、聚类、异常检测、量纲学习和因果分析等等。
深度学习:
由机器学习的神经网络改造而来。在神经网络结构的基础上,添加大量的隐藏层,对神经网络的连接方法和激活函数等等进行相应的调整。深度神经网络以前就有提出,但是由于没有GPU训练和大数据集,达不到好的训练效果。
重要概念:
Cccam剃刀原理:在所有能解释现象的理论中,应该选择最简单的那个。
深度学习模型过于复杂,数据量又不够的情况下,很容易出现过拟合的现象。而且难以发现。导致训练样本拟合的很好,但是测试样本误差很大。
学习环境搭建:
建议使用Anaconda环境。
Anaconda Prompt : 进行管理和操作。在Prompt里输入conda env list可以查看计算机上的conda环境。带 *的是当前环境。
JupterNotebook :易于展示和调试
没有GPU就不装cuda, 装tensorflow。
CUDA 是NVIDIA专门负责管理分配运算单元的框架
cuDNN是用于深层神经网络的gpu加速库
有GPU,安装cuda 和 tensorflow-gpu:先安装cuda 然后cudnn 再装tensorflow-gpu。版本号一定要匹配。
Pycharm:社区版本就可以了。打开工程后配置编译环境,选择现有的Anancoda env环境
安装pytorch(tensorflow同类的深度学习框架):安装对应版本即可。例如:
Pip install d:\torch-1.5.0+cu101(cuda版本)-cp37(python版本)-cp37m-win_amd64(系统环境).whl
Anaconda 安装和使用:(尽量使用Anaconda3版本,兼容老代码)
Anaconda Prompt里进行环境安装和包配置:
建立名字为py3.7 ,python版本为3.7的新环境:conda create --name py3.7 python=3.7 环境建立的默认位置为当前用户目录中的.\conda\env路径下。查看计算机上的conda环境:conda env list 或者conda info --envs (者俩命令效果一样)带星号的是当前默认环境。激活环境和取消激活命令和查询python版本号的命令如下:
(base) C:\ProgramData\Anaconda3\envs>conda info --envs
# conda environments:
#
base * C:\ProgramData\Anaconda3
py3.7 C:\Users\WangJianqiao\.conda\envs\py3.7
py36 C:\Users\WangJianqiao\.conda\envs\py36
py37 C:\Users\WangJianqiao\.conda\envs\py37
(base) C:\ProgramData\Anaconda3\envs>conda activate py3.7
(py3.7) C:\ProgramData\Anaconda3\envs>conda deactivate
(base) C:\ProgramData\Anaconda3\envs>conda activate py3.7
(py3.7) C:\ProgramData\Anaconda3\envs>python -V
Python 3.7.8
(py3.7) C:\ProgramData\Anaconda3\envs>conda activate py36
(py36) C:\ProgramData\Anaconda3\envs>python -V
Python 3.6.2 :: Continuum Analytics, Inc.
(py36) C:\ProgramData\Anaconda3\envs>