AI学习

2020-01-09  本文已影响0人  Java及SpringBoot

机器学习与深度学习入门

人工智能概述

智能设备、聊天机器人、无人驾驶、机器人......

什么是人工智能?

人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它试图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。

人工智能是对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样的思考,甚至超过人的智能。

弱人工智能、强人工智能、超人工智能

图灵测试

人工智能的历史

1548305802833.png

机器是否具有真正的智能

目前只能实现感知智能,尚无法实现推理智能

学习方法

准备工作

人工智能中的数学基础

数学分析

1548307406417.png

泰勒展开式
f(𝑥)=𝑓(𝑥0)+(f′(𝑥0))/1!(𝑥−𝑥0)+(f′′(𝑥0))/2!(𝑥−𝑥0)^2+...+(f′(𝑥0))/𝑛!(𝑥−𝑥0)𝑛+𝑂𝑛(𝑥)

常用函数的泰勒展开
e^x " = 1"+x+x^2/2!+x^3/3!+"..."+x^n/"n!" "+O" n

在某邻域内,存在一阶近似、二阶近似、....逼近非线性函数求解
"sin"(x)" = x−" x^3/3!+x^5/5! "−..." (("−1" )^(("k−1" )) "∗" "x" ^(("2k−1" )))/(("2k−1" )!) "+O" n(x) (−∞"<x<" ∞)

线性代数

非常重要且广泛的应用包括:

控制系统

推荐系统

文本相似度处理

图像压缩

行列式
𝐷=∑▒〖(−1)^𝑘 𝑎1𝑘1𝑎2𝑘2...〗 𝑎𝑛𝑘𝑛

|𝐵 ⃗ |=𝑏1∗𝑏3−𝑏2∗𝑏4

|𝐶 ⃗ |=c"11" c"22" c"33"+c"12" c"23" c"31"+c"13" c"21" c"32"�"−c13" c"22" c"31−c11" c"23" c"32−c12" c"21" c"33"

行列式的本质:线性变换的缩放因子,变换是否降维(秩)

矩阵 <==> 线性变换

特征值 <==> 缩放强度

行列式 <==> 缩放强度

概率论

概率与直观

抛掷一枚硬币,抛掷趋于无穷次时,正反面频率一致,根据大数定理

概率的计算
𝑃(𝐴)=1−𝑃(𝐴 ̄)
已知A、B独立时
𝑃(𝐴∩𝐵)=𝑃(𝐴)∗𝑃(𝐵)

𝑃(𝐴∪𝐵)=𝑃(𝐴)+𝑃(𝐵)−𝑃(𝐴)∗𝑃(𝐵)

条件概率
𝑃(𝐴,𝐵)=𝑃(𝐴|𝐵)∗𝑃(𝐵)
全概率公式
𝑃(𝐴)=∑_𝑖▒〖𝑃(𝐴|𝐵𝑖)∗𝑃(𝐵𝑖)〗
贝叶斯公式
𝑃(𝐵𝑖|𝐴)=(𝑃(𝐴|𝐵𝑖)∗𝑃(𝐵𝑖))/(∑_𝑗▒〖𝑃(𝐴|𝐵𝑗)𝑃(𝐵𝑗)〗)
小明有8支步枪,其中有5支校准过。校准过的枪支击准靶心的概率为0.8,没有校准过的枪支击准靶心的概率为0.3,现小明随机的选一支枪,结果中靶,问该枪已被校准的概率。

根据贝叶斯公式
𝑃(𝐺0)=3/8, 𝑃(𝐺1)=5/8�𝑃(𝐴0|𝐺0)=0.7, 𝑃(𝐴1|𝐺0)=0.3�𝑃(𝐴0|𝐺1)=0.2, 𝑃(𝐴1|𝐺1)=0.8�𝑃(𝐺1|𝐴1)=?

𝑃(𝐺1|𝐴1)=(𝑃(𝐴1|𝐺1)∗𝑃(𝐺1))/(∑_𝑗▒〖𝑃(𝐴1|𝐺𝑗)𝑃(𝐺𝑗)〗)=(0.8∗5/8)/(0.8∗5/8+0.3∗3/8)=0.8163

重温贝叶斯公式
∵∑_j▒〖𝑃(𝐴|𝐵𝑗)𝑃〗(𝐵𝑗)=𝑃(𝐴)

∴𝑃(𝐵|𝐴)=(𝑃(𝐴|𝐵)∗𝑃(𝐵))/(𝑃(𝐴))

强调:这是一个非常重要的公式。

期望与方差
𝐸(𝑥)=∑_𝑖▒𝑝𝑖𝑥𝑖

𝐸(𝑥)=∫1_(−∞)^∞▒〖𝑝(𝑥)𝑓(𝑥)𝑑𝑥〗

𝐷(𝑥)=𝐸(x^2)−𝐸^2 (𝑥)

E(x)表征了数据的加权平均值,D(x)表征了数据的波动程度

变量的分布

有一类试验,比如抛掷硬币得到正面还是反面,项目成功或失败,产品是否有缺陷,只有两个可能结果。记这两个可能的结果为0和1,该分布就称为伯努利分布。
𝐸(𝑋)=1𝑝+0𝑞=𝑝�𝐷(𝑋)=𝐸(𝑋^2)−(𝐸(𝑋))^2�=1^2 𝑝+0^2 (1−𝑝)−𝑝^2=𝑝𝑞
伯努利分布重复N次,就构成了二项分布。
p{𝑋=𝑘}=𝐶_𝑛^𝑘 𝑝^𝑘 (1−𝑝)^(𝑛−𝑘),𝑘=0,1,..𝑛

𝐸(𝑋)=∑_𝑖▒〖𝐸(𝑋𝑖)=𝑛𝑝〗

𝐷(𝑋)=∑_𝑖▒〖𝐷(𝑋𝑖)=𝑛𝑝(1−𝑝)〗

袋子中有五个标号的小球,每次从中抽取一个,抽取三次,得到的排列方式有多少种呢?
𝐴_5^3=5∗4∗3" " 𝐴_𝑚^𝑛=𝑚!/((𝑚−𝑛)!)
袋子中有五个标号的小球,每次抽取一个,抽取三次,不考虑球之间的顺序,得到的编号组合有多少种呢?
𝐶_5^3=(5∗4∗3)/(3∗2∗1) " " 𝐶_𝑚^𝑛=𝑚!/((𝑚−𝑛)!𝑛!)
高斯分布服从中心极限定律是非常重要的分布。
f(𝑥)=1/(√2𝜋 𝜎) 𝑒^(−((𝑥−𝑢)^2)/(2𝜎^2 )),𝜎>0,−∞<𝑥<+∞

世界杯比赛有32支球队参加,最少用多少bit信息表示出最后获胜的队伍?
𝑆=−𝑝(𝑥)ln⁡𝑝 (𝑥)

机器学习实践

机器学习基础理论和概念

机器学习主要是研究如何使计算机从给定数据中学习规律,并利用学习到的规律(模型)来对未知或无法观测的数据进行预测。

1548317040116.png

机器学习基本方法

项目实战分析

回归与分类

线性回归

基本概念

目标函数、优化方法推导

不可能有一个理想的线性函数经过所有训练集的数据点,这个问题怎么处理呢?

高斯:“把偏移都看做误差”

这又是一个假设,但是机器学习的套路就是这样的
p(𝜁^((𝑖)))=1/√2𝜋𝜎 exp⁡(−((𝜁^((𝑖)) )^2)/(2𝜎^2 ))

p(𝜁^((𝑖)) |𝜃)=1/√2𝜋𝜎 exp⁡(−((𝑦^((𝑖))−𝜃^𝑇 𝑥^((𝑖)) )^2)/(2𝜎^2 ))

𝐿(𝜃)=∏_𝑖▒〖p(𝜁^((𝑖)) |𝜃)〗=∏_𝑖▒〖1/√2𝜋𝜎 exp⁡(−((𝑦^((𝑖))−𝜃^𝑇 𝑥^((𝑖)) )^2)/(2𝜎^2 ))〗

使用求极值方法求解目标函数
J(𝜃)="ln" 𝐿(𝜃)=ln⁡∏_𝑖▒〖p(𝜁^((𝑖)) |𝜃)〗=ln⁡∏_𝑖▒〖1/√2𝜋𝜎 exp⁡(−((𝑦^((𝑖))−𝜃^𝑇 𝑥^((𝑖)) )^2)/(2𝜎^2 ))〗

J(𝜃)=1/2 ∑_𝑖▒〖(𝑦^((𝑖))−𝜃^𝑇 𝑥^((𝑖)) )^2 〗

(𝜕𝐽(𝜃))/𝜕𝜃=(𝜕(1/2(𝑌−𝑋𝜃)^𝑇 (𝑌−𝑋𝜃)))/𝜕𝜃=(𝜕(1/2(𝑌^𝑇−𝜃^𝑇 𝑋^𝑇)(𝑌−𝑋𝜃)))/𝜕𝜃

(𝜕𝐽(𝜃))/𝜕𝜃=(𝜕(1/2(𝑌^𝑇 𝑌−𝜃^𝑇 𝑋^𝑇 𝑌−𝑌^𝑇 𝑋𝜃+𝜃^𝑇 𝑋^𝑇 𝑋𝜃)))/𝜕𝜃

(𝜕𝐽(𝜃))/𝜕𝜃=(𝜕(1/2(𝑌^𝑇 𝑌−𝜃^𝑇 𝑋^𝑇 𝑌−𝑌^𝑇 𝑋𝜃+𝜃^𝑇 𝑋^𝑇 𝑋𝜃)))/𝜕𝜃

(𝜕𝐽(𝜃))/𝜕𝜃=1/2(−𝑋^𝑇 𝑌−(𝑌^𝑇 𝑋)^𝑇+2𝑋^𝑇 𝑋𝜃)=𝑋^𝑇 𝑋𝜃−𝑋^𝑇 𝑌

求驻点=>𝑋^𝑇 𝑋𝜃−𝑋^𝑇 𝑌=0�𝜃=(𝑋^𝑇 𝑋)^(−1) 𝑋^𝑇 𝑌

直接采用极值方法求解,有什么缺点?

如果不是拿到所有样本点再求解,仅仅只看

眼前的梯度逐渐求解呢?

使用梯度下降法求解目标函数
J(𝜃)="ln" 𝐿(𝜃)=ln⁡∏_𝑖▒〖p(𝜁^((𝑖)) |𝜃)〗=ln⁡∏_𝑖▒〖1/√2𝜋𝜎 exp⁡(−((𝑦^((𝑖))−𝜃^𝑇 𝑥^((𝑖)) )^2)/(2𝜎^2 ))〗

J(𝜃)=1/2 ∑_𝑖▒〖(𝑦^((𝑖))−𝜃^𝑇 𝑥^((𝑖)) )^2 〗

(𝜕𝐽(𝜃))/𝜕𝜃𝑗=−(𝑦^((𝑖))−𝜃^𝑇 𝑥^((𝑖)))(𝜕(𝑦^((𝑖))−𝜃^𝑇 𝑥^((𝑖))))/𝜕𝜃𝑗

(𝜕𝐽(𝜃))/𝜕𝜃𝑗=−(𝑦^((𝑖))−𝜃^𝑇 𝑥^((𝑖)))𝑥𝑗^((𝑖))

𝜃𝑗:=𝜃𝑗+(𝑦^((𝑖))−𝜃^𝑇 𝑥^((𝑖)))𝑥𝑗^((𝑖))

进一步分析

可以对样本是非线性的,对系数是线性的,polynomial方法

能否使用线性回归解决分类问题呢?

Logistic 回归

logistic回归是最基础的分类算法

回顾伯努利分布,一次实验的结果只有0、1两种选择

根据贝叶斯公式,如果只考虑P(A|B),则称为极大似然估计
∴𝑃(𝐵|𝐴)=(𝑃(𝐴|𝐵)∗𝑃(𝐵))/(𝑃(𝐴))
以硬币实验为例,现投掷10次,出现正面6次,反面4次

假设硬币正反概率出现的先验分布P(B)均匀,且上述证据P(A)已成定局,则求P(B|A)就是求P(A|B)即似然函数的最大值
𝐿(𝜃)=𝑝(𝐴|𝐵)=𝑝^6 (1−𝑝)^4

𝑙(𝜃)=ln⁡( 𝑝(𝐴|𝐵))=6 ln⁡𝑝+4 ln⁡( 1−𝑝)

𝑙′(𝜃)=6 ln⁡𝑝+4 ln⁡( 1−𝑝)

𝑝=0.6

logistic回归推导

根据极大似然估计,假设事件发生的概率是p,则最大似然函数为:
𝐿(𝜃)=∏_𝑖▒〖𝑝^𝑦𝑖 (1−𝑝)^((1−𝑦𝑖)) 〗

𝑙(𝜃)=∑_𝑖▒〖(𝑦^𝑖 ln⁡𝑝+(1−𝑦^𝑖)ln⁡( 1−𝑝)〗)

𝑙′(𝜃)=∑_𝑖▒〖(𝑦^𝑖/𝑝−((1−𝑦^𝑖))/((1−𝑝))〗)=0

引入sigmoid假设:
𝑝=1/(1+𝑒^(−𝜃^𝑇 𝑥) )
广义线性模型假设
𝑙(𝜃)=∑_𝑖▒〖(𝑦^𝑖 ln⁡𝑝+(1−𝑦^𝑖)ln⁡( 1−𝑝)〗)=∑_𝑖▒〖(𝑦^𝑖 ln⁡〖𝑝/(1−𝑝)〗+ln⁡( 1−𝑝)〗)�设 𝑝/(1−𝑝)=𝜃^𝑇 𝑥,变换得到𝑠𝑖𝑔𝑚𝑜𝑖𝑑函数

𝐿(𝜃)=∏_𝑖▒〖𝑝^𝑦𝑖 (1−𝑝)^((1−𝑦𝑖)) 〗

𝑙(𝜃)=∑_𝑖▒〖(𝑦^𝑖 ln⁡𝑝+(1−𝑦^𝑖)ln⁡( 1−𝑝)〗)

𝑙′(𝜃)=∑_𝑖▒〖(𝑦^𝑖/(g(𝜃^𝑇 𝑥^𝑖))−((1−𝑦^𝑖))/((1−𝑔(𝜃^𝑇 𝑥^𝑖)))〗)𝑔(𝜃^𝑇 𝑥^𝑖)(1−𝑔(𝜃^𝑇 𝑥^𝑖))𝑥𝑗

𝑙′(𝜃)=∑_𝑖▒〖(𝑦^𝑖−𝑔(𝜃^𝑇 𝑥^𝑖))〗 𝑥𝑗

强调:虽然logistic回归是最基本的分类模型,但它的使用极为广泛,尤其在金融、推荐、商业化等场景中。

核(kernel)方法,是一种非线性分类器,可以自行查阅svm、kernel相关资料。

决策树

𝑆=−𝑝(𝑥)ln⁡𝑝 (𝑥)

表征了信息不确定性的程度,分类属性应当以最高熵减为标准进行

随机森林

​ (1)、bootstrap采样

​ (2)、随机选择特征,选择最佳属性建立决策树

​ (3)、形成随机森林,通过投票得到结果

提升

强调:GBDT基于的决策树,是一种回归树。同时既不是以ID3、C4.5为方式划分的,也不是以CART方式划分的。它的分割方式是穷举每一个特征分割点,使LSL最小。

xgboost利用了二阶导,并加入了正则化处理
𝐽(𝑓𝑡)=∑_𝑖▒〖𝐿(𝑦𝑖,𝑦𝑖〗^((𝑡−1))+𝑓𝑡(𝑥𝑖))+Ω(𝑓𝑡)+𝐶

令𝑔𝑖=(𝜕𝐿(𝑦𝑖,𝑦𝑖^((𝑡−1))))/(𝜕𝑦𝑖^((𝑡−1)) ),ℎ𝑖=(𝜕^2 𝐿(𝑦𝑖,𝑦𝑖^((𝑡−1))))/(𝜕𝑦𝑖^((𝑡−1)) )

得𝐽(𝑓𝑡)=∑_𝑖▒〖(𝐿(𝑦𝑖,𝑦𝑖〗^((𝑡−1)))+𝑔𝑖𝑓𝑡(𝑥𝑖))+1/2 ℎ𝑖𝑓𝑡^2 (𝑥𝑖))+Ω(𝑓𝑡)+𝐶

𝐽(𝑓𝑡)=∑_𝑖▒〖(𝐿(𝑦𝑖,𝑦𝑖〗^((𝑡−1)))+𝑔𝑖𝑓𝑡(𝑥𝑖))+1/2 ℎ𝑖𝑓𝑡^2 (𝑥𝑖))+Ω(𝑓𝑡)+𝐶

=∑_𝑖▒( 𝑔𝑖𝑓𝑡(𝑥𝑖)+1/2 ℎ𝑖𝑓𝑡^2 (𝑥𝑖))+Ω(𝑓𝑡)+𝐶�=∑_𝑖▒( 𝑔𝑖𝑤𝑞(𝑥𝑖)+1/2 ℎ𝑖𝑤^2 𝑞(𝑥𝑖))+𝜆 1/2 ∑_(𝑗=1)^𝑇▒〖𝑤^2 𝑗〗+𝐶�=∑_𝑗▒( (∑_(𝑖−>𝑗)▒𝑔𝑖)𝑤j+1/2 (∑_(𝑖−>𝑗)▒〖ℎ𝑖+𝜆〗) 𝑤^2 𝑗)+𝐶

对𝑤𝑗求偏导,w𝑗=−𝐺𝑗/(𝐻𝑗+𝜆),回代,得到:𝐽(𝑓𝑡)=−1/2 ∑_𝑗▒𝐺𝑗/(𝐻𝑗+𝜆)

朴素贝叶斯

切词是自然语言处理中最基础、最重要的工作。切词是否准确,直接影响到文本处理的精确度。由于中文的特殊性,切词精度问题在很长一段时期内无法得到较好的改善。

交集型歧义:结婚的和尚未结婚的

​ 他说的确实在理

组合型歧义:学生会宣传部

​ 把手抬起来

假设有正常/垃圾两类文本的训练数据,上述公式的意思也可以这样表达:
p(A是垃圾文本)=(p(垃圾文本)"∗p" (垃圾文本中出现A))/(p(所有文本中出现A))
朴素贝叶斯是最基础的文本分类模型,它对文本做了马尔科夫假设
𝑝(𝑠)=𝑝(𝑤1,𝑤2,𝑤3,..,𝑤𝑛)�𝑝(𝑠)=𝑝(𝑤1)𝑝(𝑤2|𝑤1)𝑝(𝑤3|𝑤1,𝑤2)𝑝(𝑤4|𝑤1,𝑤2,𝑤3)...�假设𝑤1,𝑤2,𝑤3...互相独立,�𝑝(𝑠)=𝑝(𝑤1)𝑝(𝑤2)𝑝(𝑤3)𝑝(𝑤4)...
使用朴素贝叶斯对垃圾文本分类

深度学习简介

传统机器学习通过数据样本采集和人工特征工程,辅之以相对简单的数学模型(如线性回归/logistic回归/决策树/朴素贝叶斯等),实现对数据分布规律的学习或客观世界规律的建模。

感知机

对生物神经细胞的简单数学模拟,是最简单的人工神经网络,只有一个神经元。感知机也可以看做是线性分类器的一个经典学习算法。

前馈神经网络发展

语音识别的发展

图像领域的发展

nlp领域的发展

强化学习相结合

深度学习框架讲解

TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。

涉及的概念:tensor、graph、

constant、variable、operator、

session、initializer、optimizer、

placeholder、device

tf.nn、tf.train、tf.summary

计算机视觉 卷积神经网络

卷积神经网络是一种前馈神经网络。卷积神经网络是受到生物学启发而产生的,它涉及感受野、神经元激活等机制,具有平移、缩放和扭曲不变性,在计算机视觉比赛中达到了超越人类表现的水准。

卷积神经网络组件

​ • cnn 卷积神经网络实现手写数字识别

​ 词是自然语言处理的基础,虽然将自然语言看做是字符序列也能够解决大部分问题,但研究表明,融合了词信息的语言理解准确度更高。

语义理解 循环神经网络

循环神经网络背后的思想是利用顺序信息。在传统的神经网络中,我们假设所有输入都是相互独立的,因此得到MLP、CNN等网络。RNN假定输入是循环的,因此相当于有了记忆功能,在处理序列问题上非常有效。

​ lstm是一种特殊的RNN。lstm单元如下图所示,需要注意的是,实际上单层lstm只有一个lstm单元,展开是虚拟的,每一个时间步参数是共享的。不像RNN,lstm有两个隐状态。

​ lstm在常见的资料中都非常难以理解,实际上以矩阵的思路去看它并不难。

上一篇 下一篇

猜你喜欢

热点阅读