写在前面的一些话
这篇博客开始是我在深度学习的学习中的一些小小的笔记,每天看一点视频,
写一点笔记,不能说写的如何,但重在坚持,一天写一点,积少成多,希望在今年
11月前能够把我们的项目顺利结项,也希望自己能够真正学到一些有用的东西。
第一周学习目录
一.绪论-人工智能和机器学习概述
(一)人工智能概述
1.人工智能发展的标志性事件
2.人工智能发展阶段
3.人工智能的三个层面
(二)机器学习绪论
1.深度学习、机器学习和人工智能之间的关系
2.主流学派和代表方法
3.知识工程/专家系统和机器学习的区别
(三)机器学习概论
1.机器学习的定义
2.机器学习适用的问题类型
3.解决机器学习问题的步骤
4.模型分类
(1)数据标记
(2)数据分布
(3)建模对象
(四)深度学习概论
1.传统机器学习vs深度学习
(1)传统机器学习
(2)传统机器学习vs深度学习过程比较
(3)深度学习不同时期的学习过程
2.神经网络结构的发展
3.流行机器学习模型的演变
4.神经网络的三起三落
二.神经网络基础
(一)浅层神经网络基础
1.M-P神经元
2.感知器
3.神经网络每一层的作用
4.深度和宽度对神经网络的影响
5.神经网络参数学习:误差反向传播
6.深度神经网络的问题:梯度消失
一.绪论-人工智能和机器学习概述
(一)人工智能概述
1.人工智能发展的标志性事件
2.人工智能发展阶段
3.人工智能的三个层面
第一个层面:计算智能——能存能算,代表:“深蓝”(Deeper Blue),核心:暴力穷举;
第二个层面:感知智能——能听会说、能认会看,类似于人的听觉、视觉、触觉等感知能力;
第三个层面:认知智能——能理解、思考、决策,表现:概念、意识、观念,外在:推理逻辑、知识理解、决策思考等。
(二)机器学习绪论
1.深度学习、机器学习和人工智能之间的关系
2.主流学派和代表方法
3.知识工程/专家系统和机器学习的区别
(1)知识工程/专家系统:根据专家定义的知识和经验,进行推理和判断,从而模拟人类专家的决策过程来解决问题。
- 基于手工设计规则建立专家系统(~80年代末期)
- 结果容易解释
- 系统构建费时费力
- 依赖专家主观经验,难以保证一致性和准确性
- 定义的规则数量有限
(2)机器学习
- 基于数据自动学习(90年代中期~)
- 减少人工繁杂工作,但结果可能不易解释
- 提高信息处理的效率,且准确率较高
- 来源于真实数据,减少人工规则主观性,可信度高
(3)面对具体问题时选择的解决方法
= = = = = = = = = = = = = =第一天学习结束= = = = = = = = = = = = = = =
(三)机器学习概论
1.机器学习的定义
- 最常用定义:“计算机系统能够利用经验提高自身的性能”
- 可操作定义:“机器学习本质是一个基于经验数据的函数估计问题”
- 统计学定义:“提取重要模式、趋势,并理解数据,即从数据中学习”
- 总结:从数据中提取知识
2.机器学习适用的问题类型
- 问题规模大——不适用人工解决
- 问题复杂——不适用知识工程
- 有大量数据——不需要额外采集数据
- 问题有解析解
3.解决机器学习问题的步骤
- 模型:问题建模,确定假设空间——对要学习问题映射的假设
- 策略:确定目标函数——从假设空间中学习/选择最优模型的准则
- 算法:求解模型参数——根据目标函数求解最优模型的具体计算方法
4.模型分类
- 数据标记:监督模型、半监督模型、无监督模型和强化学习模型
- 数据分布:参数模型、非参数模型
- 建模对象:判别模型、生成模型
= = = = = = = = = = = = = 第二天学习结束= = = = = = = = = = = = = = =
(1)数据标记
- 监督模型:样本具有标记(输出目标);从数据中学习标记分界面(输入-输出的映射函数,目的在于学习输入);适用于预测数据标记
- 无监督模型:样本没有标记;从数据中学习模式(目的在于发现数据
中模式/有意义信息);适用于描述数据
- 半监督模型:部分数据标记已知;出发点:标记样本难以获取,无标记样本相对廉价;思路: 假设未标记样本与标记样本独立同分布->包含关于数据分布的重要信息(聚类假设 & 流形假设)
- 强化学习:数据标记未知,但知道与输出目标相关的反馈;适用决策类问题
补:机器学习模型树状图
(2)数据分布
- 参数模型:对数据分布进行假设,待求解的数据模式/映射可以用一组有限且固定数目的参数进行刻画(有些时候数据没有提供足够信息来事先假设分布、或者问题本身没有明显的分布特性)(线性回归、逻辑回归、感知机、K均值聚类)
- 非参数模型:不对数据分布进行假设,数据的所有统计特性都来源于数据本身(K近邻、SVM、决策树、随机森林)
注意:非参≠无参- “参数”指数据分布的参数,而不是模型的参数;非参数模型的时空复杂度一般比参数模型大得多
- 参数模型的#模型参数固定,非参数模型是自适应数据的,#模型参数随样本变化而变化
- 参数模型与非参数模型的优缺点比较
(3)建模对象
- 生成模型:对输入𝑋和输出𝑌的联合分布𝑃(𝑋, 𝑌)建模(朴素贝叶斯、隐马尔可夫、马尔科夫随机场)
- 先从数据中学习联合概率分布𝑃(𝑋,𝑌)
- 然后利用贝叶斯公式求
- 判别模型:对已知输入𝑋条件下输出Y的条件分布𝑃(𝑌|𝑋) 建模(SVM、逻辑回归、条件随机场、决策树)
- 直接学习𝑃(𝑌|𝑋)
- 输入特征X,直接预测出最可能的Y
- 判别模型和生成模型的优缺点
= = = = = = = = = = = = = 第三天学习结束 = = = = = = = = = = = = = = =
(四)深度学习概论
1.传统机器学习vs深度学习
(1)传统机器学习:人工设计特征(在实际应用中,特征往往比分类器更重要)
- 预处理:经过数据的预处理。如去除噪声等,比如在文本分类中去 除停用词;
- 特征提取:从原始数据中提取一些有效的特征。比如在图像分类中,提取边缘、尺度不变特征变换特征等;
- 特征转换:对特征进行一定的加工,比如降维和升维。降维包括
- 特征抽取(Feature Extraction)∶ PCA、LDA
- 特征选择(Feature Selection)∶互信息、TF-IDF
(2)传统机器学习vs深度学习过程比较
(3)深度学习不同时期的学习过程
- 前深度学习时代:目标数据+专家知识驱动的特征设计+专家选择的分类器
- 深度学习时代:海量目标数据+专家选择深度模型+机器优化深度模型
- 后深度学习时代:少量目标数据+机器选择和优化模型
2.神经网络结构的发展
3.流行机器学习模型的演变
4.神经网络的三起两落
= = = = = = = = = = = = = = 第四天学习结束 = = = = = = = = = = = = = = = =
二.神经网络基础
(一)浅层神经网络基础
1.M-P神经元
- 多输入信号进行累加∑Xi
- 权值Wi正负模拟兴奋/抑制,大小模拟强度
- 输入和超过阈值θ,神经元被激活
- 激活函数:神经元继续传递信息、产生新连接的概率(超过阈值被激活,但不一定传递)
- 没有激活函数相当于矩阵相乘,只能拟合线性函数
- 激活函数举例:线性函数(kx+c)/斜面函数/阈值函数/符号函数/S性函数/双极阈值函数/ReLU修正线性单元(max(0,z))/Leaky ReLU(max(0.01z,z))
2.感知器
- 单层感知器
- 首个可以自我学习的人工神经网络
- 可以解决最简单的逻辑与、或、非
- 多层感知器:可实现同或门
- 万有逼近定理
- 如果一个隐层包含足够多的神经元,三层前馈神经网络(输入-隐层
-输出)能以任意精度逼近任意预定的连续函数。 - 双隐层感知器逼近非连续函数:当隐层足够宽时,双隐层感知器(输入-隐层1-隐层2-输出)可以逼近任意非连续函数:可以解决任何复杂的分类问题。
- 如果一个隐层包含足够多的神经元,三层前馈神经网络(输入-隐层
3.神经网络每一层的作用
- 每一层数学公式用来完成输入->输出空间变换
- 神经网络学习如何利用矩阵的线性变换加激活函数的非线性变换,将原始输入空间投影到线性可分的空间去分类/回归。
- 增加节点数:增加维度,即增加线性转换能力。
- 增加层数:增加激活函数的次数,即增加非线性转换次数
= = = = = = = = = = = = = = 第五天学习结束 = = = = = = = = = = = = = =
4.深度和宽度对神经网络的影响
- 在神经元总数相当的情况下,增加网络深度可以比增加宽度带来更强的网络表示能力:产生更多的线性区域
- 深度和宽度对函数复杂度的贡献是不同的,深度的贡献是指数增长的,而宽度的贡献是线性的
5.神经网络的参数学习:误差反向传播
- 多层神经网络可看成是一个复合的非线性多元函数 F(⋅):X→Y
给定训练数据 {Xi, Yi}(i=1:N),希望损失∑𝑙𝑜𝑠𝑠(𝐹(X𝑖), Y𝑖)尽可能小
6.深度神经网络的问题:梯度消失
- 增加深度会造成梯度消失(gradient vanishing),误差无法传播——三层神经网络是主流;
- 多层网络容易陷入局部极值,难以训练——预训练、新激活函数使深度成为可能
- 训练困难(梯度消失、局部极值)/参数多,计算力不够/数据不够——神经网络第二次衰落,被支持向量机(全局最优解(凸二次规划)/无需调参/基于支持向量,小样本训练)代替