课程目标:
理解人工智能原理脉络,了解可实现的思惟架构。html
课程地址:
人工智能:模型与算法 https://www.icourse163.org/course/ZJU-1003377027)算法
又称:有信息搜索。安全
表明算法:贪婪最佳优先搜索(Greedy best-first search)、A*搜索。网络
辅助信息 | 任何一个节点与目的地的距离 | |
评价函数 | f(n): evvaluation function | 从当前节点n出发,评价选择后续节点 |
启发函数 | h(n): heuristic function | 计算从当前节点n到目标节点、路径的最小代价值,这个最小代价称为启发函数 |
评价函数f(n) = 启发函数h(n)
基本。每次节点均指向代价最小,这个代价最小这一目标,可能会进入死循环。架构
评价函数f(n) = 当前最小开销代价g(n) + 后续最小开销代价h(n)
改进,总体思惟。每次把以前、至后开销之和,计入当前启发开销,指向不大于启发(可容性)的更小的目标(单调性)。app
max(min(),min(),min...) ==> 行进过程当中:(total max)a.单调增, (partical min)b单调减less
又称:博弈搜索,一方利益最大化、则另外一方利益最小化。机器学习
基本。穷举ide
改进,减除无用。
若是有比当前目标a更小的值,忽略此组,直到有更大的时,以a为准:逐一检出、是最小且大于a则替换之,一样存在比a小的跳过,即(-~上探,+~下行) ==> (a, b:current.min_>a_ok, [b.i<a,break and next])。函数
改变,采样不穷举。
蒙特卡罗方法思想
:表示采样越多,越近似最优解。
蒙特卡罗方法解题过程的三个主要步骤:(1)构造或描述几率过程,(2)实现从已知几率分布抽样,随机数是咱们实现蒙特卡罗模拟的基本工具(3)创建各类估计量。
蒙特卡洛树搜索算法(Upper Confidence Bounds on Trees: UCT)
上限置信区间
(Upper Confidence Bound:UCB算法):
下一次的选择得分权重,倾向于以往的平均值,加上 c平衡因子/权衡参数 乘以 置信权重(N是实验/仿真总次数、n是几点验证次数[全部节点的验证次数和等于N])。
伪代码图解
S 状态集 A(s) 在状态s能采起的有效行动的集合 s(v) 节点v的状态 a(v) 到达v采起的行动 f: S x A → S 状态转移函数 N(v) 节点v被访问的次数 Q(v) 节点v得到的奖赏值(目前、平均) Δ(v,p) 玩家p选择节点v所获得的的奖赏值
与(and) 𝑝⋀𝑞 命题合取(conjunction),即“𝑝且𝑞” 或(or) 𝑝⋁𝑞 命题析取(disjunction),即“ 𝑝或 𝑞 ” 非(not) ¬𝑝 命题否认(negation),即“非𝑝” 条件(conditional) 𝑝 → 𝑞 命题蕴含(implication),即“若是𝑝 则 𝑞” 双向条件(bi-conditional) 𝑝 ↔ 𝑞 命题双向蕴含(bi-implication),即“𝑝 当且仅当 𝑞”
逻辑真值表,逻辑等价≡,命题: {,多个命题并行成立} => {成立吗}?
𝛼⋀𝛽 ≡ 𝛽⋀𝛼 (⋀的交互律) (𝛼⇒𝛽) ≡ ¬α∨β (蕴涵消除) 𝛼∨𝛽 ≡ 𝛽∨𝛼 (∨的交互律) (𝛼⟺𝛽) ≡ (𝛼⇒𝛽)∧(𝛽⇒𝛼)(双向消除) (𝛼∧𝛽)∧𝛾 ≡ 𝛼∧(𝛽∧𝛾) (∧的结合律) ¬𝛼∧𝛽 ≡ (¬𝛼∨¬𝛽) (De Morgan)德·摩根定律 (𝛼∨𝛽)∨𝛾 ≡ 𝛼∨(𝛽∨𝛾) (∨的结合律) ¬𝛼∨𝛽 ≡ (¬𝛼∧¬𝛽) (De Morgan) ¬¬𝛼 ≡ 𝛼 (双重否认) (𝛼∧𝛽∨𝛾) ≡ (𝛼∧𝛽)∨(𝛼∧𝛾) (∧对∨的分配律) (𝛼⇒𝛽) ≡ ¬𝛽⇒¬𝛼(逆否命题) (𝛼∨𝛽∧𝛾) ≡ (𝛼∨𝛽)∧(𝛼∨𝛾) (∨对∧的分配律)
{α⇒β, α} => β 假言推理: 若是α成立则β成立、α成立⇒β成立 {𝛼1∧𝛼2∧⋯∧𝛼n} 与消解: 𝛼𝑖(1≤𝑖≤𝑛) {𝛼1,𝛼2,…,𝛼𝑛} 与导入: 𝛼1∧𝛼2∧⋯∧𝛼n
基础:个体、谓词、量词(∀、∃)
∀x┐P(x) ≡ ┐∃xP(x) //任意|总体 使得不成立,不存在个体使得成立 ┐∀xP(x) ≡ ∃x┐P(x) //不是 任意|总体 使得成立,即存在使得不成立 ∀xP(x) ≡ ┐∃x┐P(x) //任意|总体 使得成立,不存在使得不成立 ∃xP(x) ≡ ┐∀x┐P(x) //存在个体使得成立,不是 任意|全体 使得不成立
天然语言的形式化:前提 => 结论 形式化
;
专家系统:数据 => 知识 => 服务
ontology本体|存在;
predicate谓词;
entity实体;
inductive概括的;
Convolutional卷积的;
1) 层次化关系(ontology): 如:工程 → 水利工程 与Wordnet等早期本体知识构建不一样,现有方法多在传统分类法(Taxonomy)中结合大众分类(Folksonomy)和机器学习来构建语义网络分类体系 2) 例子或实体(instance/entity) 通常经过分类识别等手段实现 3) 概念或实体的属性 概念或实体的属性描述和关系表达通常经过三元组来表示 (entity, relation, entity)或 (subject, predicate, object )
• 概念:层次化组织 • 实体:概念的示例化描述 • 属性:对概念或实体的描述信息 • 关系:概念或实体之间的关联 • 推理规则:可产生语义网络中上述新的元素
概括逻辑程序设计 (inductive logic programming,ILP)算法;
序贯覆盖(sequential covering):序贯结构是一种卷积神经网络,由多个卷积层堆叠而成,下一层以上一层的输出做为输入。序贯结构只有单个输入和输出;
序贯覆盖:在训练集上学到每一条规则,就将改规则覆盖的样例去除;而后以剩下的样例组成训练集重复上述过程(分治策略) 五大常见算法策略 1> 分治策略:分而治之 2> 动态规划:与分治法相似,分治,下一个子阶段的求解是创建在上一个子阶段的解的基础上,进行进一步的求解 3> 贪心算法:老是作出在当前看来是最好的选择 4> 回溯策略:一个相似枚举的搜索尝试过程,不满返回重试,回溯法深度优先搜索队列 5> 分支限界法:相似于回溯法,分支限界法广度优先搜索队列
卷积神经网(Convolutional Neural Networks, CNN):是一类包含卷积计算且具备深度结构的前馈神经网络;
前馈神经网络:是一种最简单的神经网络,各神经元分层排列。每一个神经元只与前一层的神经元相连。接收前一层的输出,并输出给下一层.各层间没有反馈。
FOIL(First Order Inductive Learner一阶概括型学习者)经过序贯覆盖实现规则推理。推理思路:从通常到特殊,逐步给目标谓词添加前提约束谓词,直到所构成的推理规则不覆盖任何反例。
//前提约束谓词(学习获得) (∀𝑥)(∀𝑦)(∀𝑧) 𝑀𝑜𝑡ℎ𝑒𝑟(𝑧, 𝑦) ∧ 𝐶𝑜𝑢𝑝𝑙𝑒(𝑥, 𝑧) → 𝐹𝑎𝑡ℎ𝑒𝑟(𝑥, 𝑦) //目标谓词(已知)
其中,𝑚 +和𝑚 −是增长前提约束谓词后所得新推理规则覆盖的正例和反例的数量,𝑚+和𝑚−是原推理规则所覆盖的正例和反例数量。
a) 原始数据中提取特征; b) 学习映射函数𝑓; c) 经过映射函数𝑓将原始数据映射到语义空间,即寻找数据和任务目标之间的关系;
a) 半监督学习(semi-supervised learning) 监督学习(supervised learning) 数据有标签、通常为回归或分类等任务 无监督学习(un-supervised learning) 数据无标签、通常为聚类或若干降维任务 b) 强化学习(reinforcement learning) 序列数据决策学习,通常为与从环境交互中学习
重要元素:标注数据、学习模型、损失函数,训练数据与测试数据、经验风险与指望风险、过学习(over-fitting)与欠学习(under-fitting)、结构风险最小。
判别模型关心在给定输入数据下,预测该数据的输出是什么。 典型判别模型包括回归模型、神经网络、支持向量机和Ada boosting等。
生成模型的典型方法为贝叶斯方法、隐马尔可夫链,授之于鱼、不如授之于“渔”,联合分布几率𝑃(𝑋, 𝑌)或似然几率𝑃(𝑋|𝑌)求取很困难。
这种分析不一样变量之间存在关系的研究叫回归分析,刻画不一样变量之间关系的模型被称为回归模型。若是这个模型是线性的,则称为线性回归模型。
1) 概念相关
Boosting (adaptive boosting, 自适应提高):能用众力,则无敌于天下矣;能用众智,则无畏于圣人矣。
计算学习理论 ( Computational Learning Theory):可计算、可学习。
霍夫丁不等式(Hoeffding’s inequality):抽样数逼近实际几率的统计算式
几率近似正确 (probably approximately correct, PAC):“强可学习模型”和“弱可学习模型”
2) 算法
## Ada Boosting:思路描述 Ada Boosting算法中两个核心问题: 1> 在每一个弱分类器学习过程当中,如何改变训练数据的权重:提升在上一轮中分类错误样本的权重。 2> 如何将一系列弱分类器组合成强分类器:经过加权多数表决方法来提升分类偏差小的弱分类器的权重,让其在最终分类中起到更大做用。同时减小分类偏差大的弱分类器的权重,让其在最终分类中仅起到较小做用。 1-m: ## Ada Boosting:算法描述---数据样本权重初始化 初始化每一个训练样本的权重 算法描述---第𝒎个弱分类器训练 算法描述---弱分类器组合成强分类器 第𝒎个在训练数据集上产生的分类偏差,权重 m+1: 在开始训练第𝒎+𝟏个弱分类器以前对训练数据集中数据权重进行调整 若是某个样本没法被第𝒎个弱分类器𝑮𝒎 𝒙 分类成功,则须要增大该样本权重,不然减小该样本权重。这样,被错误分类样本会在训练第m+1个弱分类器时会被“重点关注” 。 在每一轮学习过程当中,Ada Boosting算法均在划重点 弱分类器构造强分类器 在第𝑚次迭代中,Ada Boosting老是趋向于将具备最小偏差的学习模型选作本轮生成的 弱分类器,使得累积偏差快速降低
数据特征 | 图像中颜色、纹理或形状等特征 | 听觉信息中旋律和音高等特征 | 文本中单词出现频率等特征 |
类似度函数 | 定义一个类似度计算函数,基于所提取的特征来计算数据之间的类似性 |
1) 算法描述:
𝑛个𝑚-维数据:两个𝑚维数据之间的欧氏距离,𝑑(xi,xj)值越小,表示𝑥𝑖和𝑥𝑗越类似
𝑛个𝑚-维数据,分别聚类到𝑘个集合,使得每一个数据仅属于一个聚类集合。算法:
第一步:初始化,初始化𝑘个聚类质心;
第二步:对数据进行聚类,将每一个待聚类数据放入惟一一个聚类集合中;
第三步:更新聚类质心,根据聚类结果、更新聚类质心;
第四步:继续迭代,在新聚类质心基础上,算法循环迭代,直到知足条件。
//聚类迭代知足以下任意一个条件,则聚类中止: a) 已经达到了迭代次数上限 b) 先后两次迭代中,聚类质心基本保持不变
2) 应用
图像分类、文本分类。
欧氏距离与方差量纲相同,K均值聚类算法的另外一个视角:最小化每一个类簇的方差。算法的不足:
a) 须要事先肯定聚类数目,不少时候咱们并不知道数据应被聚类的数目 b) 须要初始化聚类质心,初始化聚类中心对聚类结果有较大的影响 c) 算法是迭代执行,时间开销很是大 d) 欧氏距离假设数据每一个维度之间的重要性是同样的
1) 概念思惟
主成分分析是一种特征降维方法,人类在认知过程当中会主动“化繁为简”。
降维后的结果要保持原始数据固有结构
//原始数据中的结构 图像数据中结构:视觉对象区域构成的空间分布 文本数据中结构:单词之间的(共现)类似或不类似
假设有𝒏个两维变量数据:
皮尔逊相关系数,上面是协方差:
算法动机:保证样本投影后方差最大。
//相关性(correlation)与独立性(independence) a) 若是𝑿和𝒀的线性不相关,则 𝑐𝑜𝑟𝑟 𝑋, 𝑌 = 0 b) 若是𝑿和𝒀的彼此独立,则必定 𝑐𝑜𝑟𝑟 𝑋, 𝑌 = 0,且𝑿和𝒀不存在任何线性或非线性关系 c) “不相关”是一个比“独立”要弱的概念,即独立必定不相关,可是不相关不必定相互 独立(可能存在其余复杂的关联关系)。独立指两个变量彼此之间不相互影响。 //主成分分析: 算法动机 在数理统计中,方差被常常用来度量数据和其数学指望(即均值)之间偏离程度,这个偏离程度反映了数据分布结构。 在许多实际问题中,研究数据和其均值之间的偏离程度有着很重要的意义。 在降维之中,须要尽量将数据向方差最大方向进行投影,使得数据所蕴含信息没有丢失,彰显个性。如左下图所示,向𝑦方向投影(使得二维数据映射为一维)就比向𝑥方向投影结果在降维这个意义上而言要好;右下图则是黄线方向投影要好。 主成分分析思想是将𝑛维特征数据映射到𝑙维空间(𝑛 ≫ 𝑙),去除原始数据之间的冗余性(经过去除相关性手段达到这一目的)。 将原始数据向这些数据方差最大的方向进行投影。一旦发现了方差最大的投影方向,则继续寻找保持方差第二的方向且进行投影。 将每一个数据从𝑛维高维空间映射到𝑙维低维空间,每一个数据所获得最好的𝑘维特征就是使得每一维上样本方差都尽量大。
在降维之中,须要尽量将数据向方差最大方向进行投影,使得数据所蕴含信息没有丢失,彰显个性。
`
Y = X W 降维 原始 映射 结果 数据 矩阵 输入: 𝑛个𝑑维样本数据所构成的矩阵𝐗,降维后的维数𝑙 输出:映射矩阵𝐖 = {𝒘𝟏, 𝒘𝟐, … , 𝒘𝒍} 算法步骤: 1:对于每一个样本数据𝒙𝑖进行中心化处理: 𝒙𝑖=𝒙𝑖-𝜇, 𝜇 =1/𝑛𝚺[j=1,n]𝑥𝑗; 2: 计算原始样本数据的协方差矩阵:𝚺=1/𝑛−1 𝐗[𝐓]𝑿; 3: 对协方差矩阵𝚺进行特征值分解,对所得特征根按其值大到小排序𝜆1≥𝜆2≥⋯≥𝜆𝑙; 4: 取前𝑙个最大特征根所对应特征向量𝒘𝟏, 𝒘𝟐, … , 𝒘𝒍组成映射矩阵𝐖; 5:将每一个样本数据𝒙𝑖按照以下方法降维: (𝒙𝑖)1×𝑑(𝐖)𝑑×𝑙=1×𝑙提纲。
1) 概念思惟
特征人脸方法是一种应用主成份分析来实现人脸图像降维的方法,本质是用一种称为“特征人脸(eigenface)”的特征向量按照线性组合形式来表达每一张原始人脸图像,进而实现人脸识别。因而可知,这一方法的关键之处在于如何获得特征人脸。
2) 算法描述:特征人脸(基于特征人脸基准映射矩阵的降维)
将每幅人脸图像转换成列向量,如将一幅32 × 32的人脸图像转成1024 × 1的列向量。
输入: 𝑛个1024维人脸样本数据所构成的矩阵𝐗,降维后的维数l 输出:映射矩阵𝐖 = {𝒘𝟏, 𝒘𝟐, … , 𝒘𝒍}(其中每一个𝒘𝒋(1 ≤ j ≤ 𝑙)是一个特征人脸) 算法步骤: 1:对于每一个样本数据𝒙𝑖进行中心化处理: 𝒙𝑖=𝒙𝑖-𝜇, 𝜇 =1/𝑛𝚺[j=1,n]𝑥𝑗; 2: 计算原始样本数据的协方差矩阵:𝚺=1/𝑛−1 𝐗[𝐓]𝑿; 3: 对协方差矩阵𝚺进行特征值分解,对所得特征根按其值大到小排序𝜆1≥𝜆2≥⋯≥𝜆d; 4: 取前𝑙个最大特征根所对应特征向量𝒘𝟏, 𝒘𝟐, … , 𝒘l组成映射矩阵𝐖; 5:将每一个样本数据𝒙𝑖按照以下方法降维: (𝒙𝑖)1×𝑑(𝐖)𝑑×𝑙=1×𝑙提纲
每一个人脸特征向量𝐰𝑖与原始人脸数据𝒙𝑖的维数是同样的,均为1024。可将每一个特征向量还原为32 × 32的人脸图像,称之为特征人脸,所以可获得𝑙个特征人脸。
因为每幅人脸是全部特征人脸的线性组合,所以就实现人脸从“像素点表达”到“特征人脸表达”的转变。每幅人脸从1024维约减到𝑙维。
人脸表达的方法对比:聚类、主成份分析、非负矩阵分解。非负矩阵人脸分解方法表示:经过若干个特征人脸的线性组合来表达原始人脸数据 𝒙𝑖 ,体现了“部分组成总体”。
回归与分类的区别
在回归分析中,学习获得一个函数将输入变量映射到连续输出空间,如价格和温度等,即值域是连续空间。
在分类模型中,学习获得一个函数将输入变量映射到离散输出空间,如人脸和汽车等,即值域是离散空间。
回归分析:从线性到非线性
非线性回归分析模型:逻辑斯蒂回归(logistic regression)就是在回归模型中引入 sigmoid函数(Logistic函数)的一种非线性回归模型。
[经常使用数学符号读法大全](http://www.fhdq.net/sx/14.html) 大写 小写 英文注音 国际音标注音 中文注音 Α α alpha alfa 阿耳法 Β β beta beta 贝塔 Γ γ gamma gamma 伽马 Δ δ deta delta 德耳塔 Ε ε epsilon epsilon 艾普西隆 Ζ ζ zeta zeta 截塔 Η η eta eta 艾塔 Θ θ theta θita 西塔 Ι ι iota iota 约塔 Κ κ kappa kappa 卡帕 ∧ λ lambda lambda 兰姆达 Μ μ mu miu 缪 Ν ν nu niu 纽 Ξ ξ xi ksi 可塞 Ο ο omicron omikron 奥密可戎 ∏ π pi pai 派 Ρ ρ rho rou 柔 ∑ σ sigma sigma 西格马 Τ τ tau tau 套 Υ υ upsilon jupsilon 衣普西隆 Φ φ phi fai 斐 Χ χ chi khai 喜 Ψ ψ psi psai 普西 Ω ω omega omiga 欧米伽
对于线性回归模型而言,可使用最小二乘法,但对于逻辑斯蒂回归而言使用传统最小二乘法求解是不合适的,须要考虑使用迭代算法进行优化求解,常见的就是“梯度降低法(gradient descent )”。
logistic回归只能用于解决二分类问题,将它进行推广为多项逻辑斯蒂回归模型(multi-nominal logistic model,也即softmax函数),用于处理多类分类问题,能够获得处理多类分类问题的softmax回归。从回归到分类(softmax分类):从两类分类到多类分类。
潜在语义分析(Latent Semantic Analysis, LSA或者Latent Semantic Indexing, LSI)是一种从海量文本数据中学习单词-单词、单词-文档以及文档-文档之间隐性关系,进而获得文档和单词表达特征的方法。
该方法的基本思想是综合考虑某些单词在哪些文档中同时出现,以此来决定该词语的含义与其余的词语的类似度。潜在语义分析先构建一个单词-文档(term-document)矩阵A,进而寻找该矩阵的低秩逼近(low rank approximation),来挖掘单词-单词、单词-文档以及文档-文档之间的关联关系。
单词-文档矩阵A:
1) 从9篇论文标题中,筛选有实际意义且至少出如今两篇文章标题中的10个单词,分别是nonconvex,regression, optimization, network, analysis, minimization, gene, syndrome, editing, human,这样,十个单词和九篇文章就能够造成一个10 × 9大小的单词-文档矩阵A。每一行表示某个单词在不一样文档标题中所出现次数。
当用户输入“optimization”这一检索请求,因为文档a3标题中不包含这一单词,则文档a3被认为是不相关文档,但实际上文档a3所涉及“minimization”内容与优化问题相关。出现这一问题是由于单词-文档矩阵只是刻画了单词是否在文档中出现与否这一现象,而没法对单词-单词、单词-文档以及文档-文档之间语义关系进行建模。
若是用户检索“eat an apple”,则文档“Apple is a great company”会被检索出来,而实际上该文档中单词“Apple”所指苹果公司、而非水果,形成这一结果的缘由是一些单词具备“一词多义”。
所以须要一种方法可以建模单词-单词、单词-文档以及文档-文档之间语义关系,解决包括“异词同义”和“一词多义”在内的诸多挑战。
2) 歧义值分解(Singular Value Decomposition, SVD)将一个矩阵分解为两个正交矩阵与一个对角矩阵的乘积。
A=QR 【QR分解】
A=UΣVT 【奇异值分解】
其中U和V均为单位正交阵,即有UUT=I和VVT=I,U称为左奇异矩阵,V称为右奇异矩阵,Σ仅在主对角线上有值,咱们称它为奇异值,其它元素均为0。
3) 选取(E中主对角线上数排序,奇异值)最大的前两个特征根及其对应的特征向量对矩阵A进行重建。
因为𝐴2是从最大两个特征根及其对应特征向量重建获得,所以𝐴2与𝐴不是彻底同样的,二者存在必定的偏差。
𝐴2捕得到到了原始单词-文档矩阵𝐴中所蕴含的单词与单词之间的关联关系
若是两个单词在原始单词-文档矩阵𝐴中分布一致,则其在重建矩阵𝐴2中分布也可能一致的,如editing和syndrome。
对于归属于同一类别文档的单词,能够发现它们之间的值彼此接近,而与不是归属于同一个类别中的单词不类似, 如minimization在机器学习类别文档中均为正数、其在基因编辑类别文档中几乎为负数。
将每一个单词映射到维度为𝑹的隐性空间、将每一个文档映射到维度为𝑹的隐性空间:统一空间,隐性空间可视为“主题空间(topic)”。
线性区别分析(linear discriminant analysis, LDA)是一种基于监督学习的降维方法,也称为Fisher线性区别分析(Fisher's Discriminant analysis,FDA)。
对于一组具备标签信息的高维数据样本,LDA利用其类别信息,将其线性投影到一个低维空间上,在低维空间中同一类别样本尽量靠近,不一样类别样本尽量彼此远离。
主成分分析(PCA)是一种无监督学习的降维方法(无需样本类别标签),线性区别分析(LDA)是一种监督学习的降维方法(须要样本类别标签。PCA和LDA均是优化寻找必定特征向量𝐰来实现降维,其中PCA寻找投影后数据之间方差最大的投影方向、LDA寻找“类内方差小、类间距离大”投影方向。
PCA对高维数据降维后的维数是与原始数据特征维度相关(与数据类别标签无关)。假设原始数据维度为 d,那么PCA所得数据的降维维度能够为小于d的任意维度。LDA降维后所获得维度是与数据样本的类别个数K有关(与数据自己维度无关)。假设原始数据一共有K个类别,那么LDA所得数据的降维维度小于或等于K − 1。
neural 神经的
feedforward 前馈,正反馈
鲁棒性:Robustness 健壮性,耐操性
深度学习所得模型可视为一个复杂函数,非线性变换与映射的过程:像素点→语义。
神经元是深度学习模型中基本单位,能够以下刻画神经元功能: 1. 对相邻前向神经元输入信息进行加权累加:𝐼𝑛 = 𝑤𝑖 ∗ 𝑎𝑖 𝑛𝑖=1 2. 对累加结果进行非线性变换(经过激活函数):𝑔 𝑥 3. 神经元的输出:𝑂𝑢𝑡 = 𝑔(𝐼𝑛) 神经元越多、非线性映射越复杂
对输入信息进行非线性变换
各个神经元接受前一级的输入,并输出到下一级,模型中没有反馈;层与层之间经过“全链接”进行连接,即两个相邻层之间的神经元彻底成对链接,但层内的神经元不相互链接【前1-->后all】。
是一种特殊的前馈神经网络:无隐藏层,只有输入层/输出层;没法拟合复杂的数据。
从标注数据出发,优化模型参数 1. 标注数据:(𝑥𝑖, 𝑦𝑖)(1 ≤ 𝑖 ≤ 𝑁) 2. 评分函数(scoring function) 将输入数据映射为类别置信度大小:s=𝑓(𝑥)= 𝑊𝜑(𝑥) 3. 损失函数来估量模型预测值与真实值之间的差距。损失函数给出的差距越小,则模型健壮性就越好。 经常使用的损失函数有softmax或者SVM。
使得损失函数最小化的方法:梯度降低 ( Gradient Descent)算法;
输出层偏差反向传播给隐藏层进行参数更新的方法:偏差反向传播 (error back propagation, BP),计算过程:
前向传播【正向】 反向传播:梯度计算 反向传播:参数更新 参数初始化 前向传播 反向传播【修正】 梯度计算 参数更新
有一张32*3*3(RGB)的图像,使用5*5*3的卷积核
𝑊1,步长为1对其进行卷积操做。卷积核𝑊1在原始图像上从左到右、从上到下进行计算,改变5*5子块区域中的中心像素点值,获得28*28的特征图𝑚1;使用另外一个5*5*3的卷积核𝑊2与原始图像作卷积操做,获得特征图𝑚2; 使用6个5*5*3的卷积核与原始图像作卷积操做,则获得6个28*28的特征图。注意: 6个5*5*3的卷积核均是数据驱动学习获得,其刻画了不一样的视觉模式。
卷积+激活函数(非线性映射):在对原始图像作卷积操做后,可以使用ReLu激活函数对卷积后结果进行处理
原始图像 32*32 6个 5*5*3卷积核 6个 28*28特征图 10个 5*5*6卷积核 10个 24*24特征图
对输入的特征图进行下采样,以得到最主要信息,经常使用的池化操做有:最大池化(在输入特征图中每个区域寻找最大值)、平均池化(对输入特征图的每个区域的值求平均值、取整)。
卷积神经网络基本架构
[图像]输入 卷积 Relu 卷积 Relu 池化 卷积 Relu 卷积 Relu 池化 卷积 Relu 卷积 Relu 池化 全链接层[特征图转换成向量] 分类层[输出识别分类的置信度值] 所需学习参数:卷积核、全链接层权重、激活函数参数 体现了数据、模型和算力的结合
One-hot向量:在基于规则和统计的天然语言传统方法中,将单词视为独立符号;在向量空间中,一个单词按照其在文档中出现的有无,被表示为以下向量(按照字典序):[0, 0, 0, 1, 0, 0, … , 0, 0, 0, 0]。单词之间的关联丢失。
经过深度学习方法,将单词表征为K维实数值向量(distribution representation)。这样,把对文本内容分析简化为 K 维向量空间中的向量运算,而向量空间上的类似度能够用来表示文本语义上的类似。用深度学习算法生成每一个单词的向量表达全部单词的向量表达组成了一个“词向量空间”。单词表达为词向量后,不少 NLP 相关工做(如聚类、同义词计算、主题挖掘等)能够顺利开展。
词向量(通常为100-200维)。词向量模型的训练,关键词:对数似然函数;Continue Bag-of-Words (CBoW): 根据某个单词的上下文单词来预测该单词,Skip-gram:利用某个单词来分别预测该单词的上下文单词。词向量模型的基本思想
:
词向量模型由一层输入层,一层隐藏层,一层输出层构成:实现了每一个单词𝑁维向量的表达。
对一个包含10000个单词的语料库,每一个单词的词向量设为200维,则须要200*10000(2000000)和10000*200(2000000)异常庞大的权重矩阵 在如此大神经网络上进行梯度降低耗时 为了解决这个不足,后续出现了以下改进手段: • Hierarchical Softmax (引入霍夫曼树) • Negative Sampling 基于词向量的操做:单词类比,𝑘𝑖𝑛𝑔 − 𝑚𝑎𝑛 + 𝑤𝑜𝑚𝑎𝑛 = 𝑞𝑢𝑒𝑒
卷积神经网络应用:图像分类与定位
浅层模型 深层模型 Language model Neural language model Bayesian Learning Bayesian deep learning Turing Machine Neural Turing Machine Reinforcement Learning Deep Reinforcement Learning Generative Model Deep Generative Model X Deep or Neural + X
机器学习的不一样类型
有监督学习:分类问题,从数据𝑋和标签𝑦中学习映射𝑓: 𝑋 ↦ y
无监督学习:聚类问题,寻找数据𝑋中存在的结构和模式
强化学习的应用:机器人运动: learning to learn;天然语言理解;
马尔可夫链(Markov Chain):知足马尔可夫性(Markov Property 在给定如今状态时,它与过去状态(即该过程的历史路径)是条件独立的)的离散随机过程(变量随机、时间离散),也被称为离散马尔科夫过程。
引入奖励:先苦后甜,先甜后苦,折扣系数/衰退系数𝛾小于1时,越是遥远的将来对累加反馈的贡献越少。
引入动做。
1. 随机变量序列 𝑆𝑡 𝑡=0,1,2,⋯:𝑆𝑡表示机器人第𝑡步所在位置(即状态),每一个随机变量𝑆𝑡的取值范围为𝑆 = {𝑠1, 𝑠2, ⋯ , 𝑠9, 𝑠𝑑} 2. 动做集合:𝐴 = {上,右} 3. 状态转移几率𝑃𝑟(𝑆𝑡+1|𝑆𝑡, 𝑎𝑡):知足马尔可夫性,其中𝑎𝑡 ∈ 𝐴。 4. 奖励函数:𝑅(𝑆𝑡, 𝑎𝑡, 𝑆𝑡+1) 5. 衰退系数:𝛾 ∈ [0, 1] 马尔科夫决策刻画: 𝑀𝐷𝑃 = {𝑆, 𝐴, 𝑃𝑟, 𝑅, 𝛾}
在机器人移动问题中:状态、行为、衰退系数、起始/终止状态、反馈、状态转移几率矩阵
策略学习,价值函数与动做-价值函数的关系:对策略进行评估;贝尔曼方程(Bellman Equation):刻画了价值函数和行动-价值函数自身以及二者相互之间的递推关系,利用贝尔曼方程进行策略评估,进而进行策略优化。
强化学习的求解方法 • 基于价值(Value-based)的方法 对价值函数进行建模和估计,以此为依据制订策略 • 基于策略(Policy-based)的方法 对策略函数直接进行建模和估计,优化策略函数使反馈最大化 • 基于模型(Model-based)的方法 对环境的运做机制建模,而后进行规划(planning)等
第一部分:策略优化(Policy Improvement),第二部分:策略评估(Policy Evaluation)
如基于动态规划的价值函数更新:使用迭代的方法求解贝尔曼方程组。
经过迭代计算贝尔曼方程进行策略评估 • 动态规划, 缺点:1) 智能主体须要事先知道状态转移几率;2) 没法处理状态集合大小无限的状况。 • 蒙特卡洛采样 优势:1) 智能主体没必要知道状态转移几率;2) 容易扩展到无限状态集合的问题中。 缺点:1) 状态集合比较大时,一个状态在轨迹可能很是稀疏,不利于估计指望;2) 在实际问题中,最终反馈须要在终止状态才能知晓,致使反馈周期较长。 • 时序差分(Temporal Difference)
第一部分和第二部分结合:策略优化与策略评估结合,基于时序差分的方法 – Q学习(Q-Learning)[ Q: quality ]
基于价值的方法 – Q学习
策略学习中探索(exploration)与利用(exploitation)的平衡
探索与利用之间如何取得平衡 • 只利用而不探索 • 只探索而不利用(则训练过程彻底没有意义 ) • 大致上利用,偶尔探索
将动做采样从“肯定地选取最优动做”改成“按照𝜖贪心策略选取动做”;更新时仍保持用max操做选取最佳策略。像这样更新时的目标策略与采样策略不一样的方法,叫作离策略(off-policy)方法。
用神经网络拟合(行动)价值函数
若是用深度神经网络来拟合𝑞函数,则算法称为深度Q学习:
两个不稳定因素 1. 相邻的样原本自同一条轨迹,样本之间相关性太强,集中优化相关性强的样本可能致使神经网络在其余样本上效果降低。 2. 在损失函数中,𝑞函数的值既用来估计目标值,又用来计算当前值。如今这两处的𝑞函数经过𝜃有所关联,可能致使优化时不稳定。
经验重现(Experience Replay)
相邻的样原本自同一条轨迹,样本之间相关性太强,集中优化相关性强的样本可能 致使神经网络在其余样本上效果降低。 将过去的经验存储下来,每次将新的样本加入到存储中去,并从存储中采样一批样本进行优化 • 解决了样本相关性强的问题 • 重用经验,提升了信息利用的效率
目标网络(Target Network)
损失函数的两个𝑞函数使用不一样的参数计算 • 用于计算估计值的𝑞使用参数𝜃−计算,这个网络叫作目标网络 • 用于计算当前值的𝑞使用参数𝜃计算 • 保持𝜃−的值相对稳定,例如𝜃每更新屡次后才同步二者的值 𝜃− ← 𝜃
田忌赛马;
研究范式:两害相权取其轻,两利相权取其重;
要素:玩家(player),策略(strategy),收益(payoff),规则(rule)
囚徒困境:在囚徒困境中,最优解为两人同时沉默,可是两人实际倾向于选择同时认罪(均衡解)
博弈的分类:合做博弈与非合做博弈,静态博弈与动态博弈,彻底信息博弈与不彻底信息博弈
博弈的稳定局势即为纳什均衡
遗憾最小化算法
是一种根据过去博弈中的遗憾程度来决定未来动做选择的方法;若是不能遍历计算全部节点的遗憾值,那么能够采用虚拟遗憾最小化算法
来进行模拟计算。
博弈规则的设计
问题描述 • 假设博弈的参与者都是足够理性的 • 如何设计一个博弈规则能确保公正性或者达到设计者的最大利益 挑战 • 规则复杂 • 计算量大 应用领域 • 拍卖竞价:互联网广告投放、车牌竞价 • 供需匹配:污染权、学校录取 • 公正选举:选举制度、表决制度、议席分配
1) 加密技术:有安全哈希算法(Secure Hash Algorithm, SHA)和高级加密标准(Advanced Encryption Standard, AES)。
2) 使用神经网络的加密算法:2016年谷歌大脑的研究团队提出了使用对抗生成网络生成的一个加密算法,其使用了三个神经网络分别完成加密、解密和攻击的工做,以保证通讯双方信息的无损传输以及第三方没法破译通讯内容。
3) 数字水印:将特定信息(版权信息等)嵌入在数字信号中
近年来经过神经网络来添加水印和提取水印信息的成为学术研究热点。
4) 数据安全与模型安全:对模型的攻击(对抗样本)、白盒攻击(图片识别:女性样本改参数识别为男性,应对:生成对抗网络
),黑盒攻击(无针对攻击 Non-Targeted Attack、有针对攻击 Targeted Attack)
高维欧氏距离小【K均值聚类】 ==形容==> 数据的特征与目标模型的关联度紧密
多样本映射偏离性最大【主成分分析】 ==形容==> 映射矩阵下,保留最多特征
特征根
就是提取到的全部标化后原始变量的变异(方差)的总和,
理解1:线性递推数列:能够经过的通项公式来理解,多阶即多个通项变量;
理解2:高阶常系数线性微分方程:因变状况是通项变量的高阶导数存在,即有通项变量参照求导阶数是指数级变量,特征方程是通变量的线性约束条件;
理解3:方阵Ann的特征向量、特征根:~一维方向-长度映射 Avi=λivi,对称阵、实矩阵v两两正交;
歧义值分解(SVD)、QR分解(QQt=I、Q是标准正交矩阵,R右上三角矩阵)
SVD(奇异值分解)Python实现
A=UΣVT (m*n: m*m.m*n.n*n) AAT=UΣVT VΣTUT=U(ΣΣT)UT = U(Σ2)UT //矩阵AAT特征值分解,获得的特征矩阵即为U,ΣΣT(对角线的特征值开方,能够获得全部的奇异值) ATA=VΣTUT UΣVT=V(ΣTΣ)VT = V(Σ2)VT //矩阵AAT特征值分解,V,ΣTΣ 其中U和V均为单位正交阵,即有UUT=I和VVT=I,Σ仅在主对角线上有值(m*n)
降维的过程就是舍弃不重要的特征向量的过程
重建以后与原图对比:均方偏差MSE随奇异值的增长(从大到小排序,其他取0)而减小
卷积层:功能是对输入数据进行特征提取,使用卷积核|模板(卷积核大小、步长和填充),与原图像数据作了点积操做,两个向量相应位置相乘而后求和。点积的物理意义是两个向量之间的类似度。若是卷积结果越大,说明图像中的某位置和卷积模板相似,若是卷积结果小,说明图像中某位置和卷积模板的类似度很小。ReLU:一般使用线性整流函数(Rectified Linear Unit, ReLU),使得输出(输入为线性函数,一级多项式,线性函数的组合解决的问题太有限了)更加复杂,提升表达能力。池化:即取区域平均或最大,特征维数减小,训练参数减小,泛化能力增强,进而防止过拟合。