一. 知识表示
1.基本概念
I.评价知识的两个重要因素:表达能力、计算效率。
符号表示:eg:通常用“柏拉图”指代柏拉图,用关联图表示关系,用“=>”表示两个命题之间蕴含的关系。
数值表示:用标量、向量、该旅分布等数值表示事实与知识。
eg:人的身高可以表达为标量“1.5m”。
II.知识图谱的图表示
- 如果节点u与v邻接,那么u是v的邻居。节点u的所有邻居集合记作N(u),也就是u的邻居数目,被称作u的度数。
2.机器学习
- 机器学习:从观测数据(样本)中寻找规律,并利用规律对未知或无法观测的数据进行预测的方法。
- 特征:每个样本中的观测数据要有合理的表示才能被计算机有效的处理,这种表示叫特征。
- 模型:即预测函数F:X->Y(eg:X:为所有可能的手写数字,Y:为1-9的数字标签集)
传统机器学习缺点:
①样本较好的特征难以捕捉,往往费事费力。
②一般只能用简单的函数形式(eg:线性模型),如果简单的对函数族进行扩张,模型容易产生拟合,泛化能力下降。
- 深度学习的出现弥补了以上不足,从函数角度来看:通过符合多个简单函数来构造复杂函数,模型所需训练参数集由每个简单函数中的参数组成。
- 一个神经网络由输入层-中间层-输出层的结构构成,中间层本质上完成自动特征的提取
- 卷积神经网络(CNN):以卷积层作为网络的基本元素的深度神经网络,常用于处理图像数据。提出的目的:解决多层全连接神经网络模型的缺陷。
全连接神经网络模型弊端:
①参数太多,更容易产生过拟合。(eg:对一个512*512像素点的3道图像来说,仅仅一个全连接层就拥有上百万个参数)
没有使用局部不变性。(eg:一张狗的照片向右平移5个单位,不影响人类判断它是一条狗)
- 循环神经网络(RNN):是一类专门用于处理序列数据的神经网络模型。广泛用于语音、自然语言等可以建模为序列的数据处理中。循环的本质:数据在t时刻的状态取决于其前序状态。
3.自然语言处理
文本的向量化表示:
I.离散表示:
①独热表示:为每个词做一个索引编码,根据索引编码进行表示。
eg:Kai is a boy and Kai is a gay.
那么编码如下:
{“Kai”:1,“is”:2,“a”:3,“boy”:4,“and”:5,“gay”:6}
Kai:[1,0,0,0,0,0]
is:[0,1,0,0,0,0]
…
②词袋表示:常用于文本表示,直接将文中所有单词的独热表示相加,如上例,词袋表示为:
[2,2,2,1,1,1]
II.连续表示
离散表示对于词语的词义表达能力有限。
eg:在独热空间中,任意两个词的向量都是相互正交的,对“猫、狗”等语义及其相近的词而言很不合理。
连续表示可以更好的捕捉词与词之间的关系,其最常用的表示就是分布式表示(将语义或语法的特征分散存储在一个低维、稠密的实数向量中,eg:[0.1332,-0.1335,…,0.3997])