Neural Networks for Machine Learning by Geoffrey Hinton (4)

一种能够学习家谱关系的简单神经网络

血缘一共同拥有12种关系:

son, daughter, nephew, niece, father, mother, uncle, aunt, brother, sister, husband, wife

有1个英国家庭以及1个意大利家庭,每一个家庭有12个人。

各种家庭关系都是可用三元数组表示。即( Agent / Relation / Patient ) 结构:

  • (colin has-father james)
  • (colin has-mother victoria)
  • (james has-wife victoria) 能够由上述关系推导得到

该网络由5层结构组成,如图1所看到的

图1

  • 网络底层左右两边各有12个神经元。

  • 第1层左側神经元输入 Agent 向量,每次仅仅有一个为1,如000100000000。
  • 第1层右側神经元输入 Relation 向量。每次也仅仅有一个为1。
  • 第2层左側神经元用来序列化 Agent 向量,右側神经元用来序列化 Relation 向量。

  • 第3层用以学习 Agent 与 Relation 的关系,预測出 Patient。
  • 第4层解析出 Patient 向量。
  • 第5层是预測出的实际 Patient。其每次的激活值可能不仅仅一个。

    比如:Andrew has-aunt ? 可能相应多个 aunt。

网络学到了什么?

以序列化输入 Agent 的 6 个神经元为例。如图2.

- 1号神经元对不同国籍的输入非常敏感。能够进行区分。

- 2号神经元对每次输入 Agent 所属的辈分(Generation)非常敏感。

- 6号神经元对每次输入 Agent 所属的家庭非常敏感。

图2

关于 概念(Concepts) 的两种理论

  • 特征理论(The Feature Theory)

    概念是语义特征的集合。

    A concept is a set of semantic features.

因此概念就能够用特征的向量来表示

  • 结构主义理论(The Structuralist Theory)

    概念的意义存在于概念与概念之间的关系。

    The meaning of a concept lies in its relationships to other concepts.

因此概念能够用关系图模型表达

Hinton 觉得 *Both sides are wrong* ,由于

神经网络能够使用语义特征来实现关系图模型

Softmax 输出函数

均方误差有下面缺陷

  • 假设目标是1而如今的实际输出是0.00000001。那么返回给神经元的梯度差点儿为0.
  • 强制指定所属各类概率就会剥夺网络的学习能力。

    Softmax作为逻辑回归的推广,能够非常好解决这些问题。

构造公式

yi=ezi∑j∈groupezi

梯度公式

?yi?zi=yi(1?yi)

代价函数依旧使用相互熵

dC / dy 的陡峭正好抵消了 dy / dz 的平坦。

相互熵

C=?∑jtjlogyj

梯度

?C?zi=∑j?C?yj?yj?zi=yi?ti

Theano相应函数

x,y,b = T.dvectors(‘x‘,‘y‘,‘b‘)
W = T.dmatrix(‘W‘)
y = T.nnet.softmax(T.dot(W,x) + b)
时间: 2024-10-11 07:49:09

Neural Networks for Machine Learning by Geoffrey Hinton (4)的相关文章

Neural Networks for Machine Learning by Geoffrey Hinton (1~2)

机器学习能良好解决的问题 识别模式 识别异常 预測 大脑工作模式 人类有个神经元,每一个包括个权重,带宽要远好于工作站. 神经元的不同类型 Linear (线性)神经元  Binary threshold (二值)神经元  watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="300&quo

Neural Networks for Machine Learning by Geoffrey Hinton (3)

Neural Networks for Machine Learning by Geoffrey Hinton (3) 训练感知机的方法并不能用以训练隐含层 训练感知机的方式是每次直接修正权重,最终得到满足所有凸锥里的权重.可行解的平均一定还是可行解. 对多层神经网络而言,2个可行解的平均并不一定是可行解. They should never have been called multi-layer perceptrons. 为何不解析求解神经网络? 我们希望了解神经网络具体工作方式. 我们需要

Neural Networks Learning----- Stanford Machine Learning(by Andrew NG)Course Notes

本栏目内容来自Andrew NG老师的公开课:https://class.coursera.org/ml/class/index 一般而言, 人工神经网络与经典计算方法相比并非优越, 只有当常规方法解决不了或效果不佳时人工神经网络方法才能显示出其优越性.尤其对问题的机理不甚了解或不能用数学模型表示的系统,如故障诊断.特征提取和预测等问题,人工神经网络往往是最有利的工具.另一方面, 人工神经网络对处理大量原始数据而不能用规则或公式描述的问题, 表现出极大的灵活性和自适应性. 神经网络模型解决问题的

Coursera课程《Machine Learning》学习笔记(week1)

这是Coursera上比较火的一门机器学习课程,主讲教师为Andrew Ng.在自己看神经网络的过程中也的确发现自己有基础不牢.一些基本概念没搞清楚的问题,因此想借这门课程来个查漏补缺.目前的计划是先看到神经网络结束,后面的就不一定看了. 当然,看的过程中还是要做笔记做作业的,否则看了也是走马观花.此笔记只针对我个人,因此不会把已经会了的内容复述一遍,相当于是写给自己的一份笔记吧.如果有兴趣,可以移步<Machine Learning>仔细学习. 接下来是第一周的一些我认为需要格外注意的问题.

Machine Learning——octave的操作(1)——DAY2

1.PS1('>>'); --不显示版本 2.输出: a=pi; format long format short(4位) disp(sprintf('%0.2f',a)) 3.矩阵的输入: A=[1 2;3 4;5 6] A(1,2)--取出第一行第二列的值 A(1,:)--取出第一行所有值 A(:,2)--取出第二列所有值 A([1 3],:)--取出第一行和第三行的所有元素 A(:,2)=[1:65:3231]--把第二列的元素改变 A=[A,[1;2;646]]--在原矩阵的基础上增加

Machine Learning——octave矩阵操作(2)——DAY3

矩阵的数学操作: Assumed: a为一个矩阵,m是一个向量 Log(a)--求每一个元素的对数 Exp(a)--以e为底的指数 1./a--求每个元素的导师 [a,b]=max(m)--m是一个向量,a为m当中最大的元素,b为a在m中的排列序号(已按从小到大排好) m<3--比如m=[1 6 7],会得到[1 0 0](应该能懂) Find(m>3)--比如m=[1 6 7],会得到[2 3],即大于3的元素的下标(应该能懂) Magic(3)--产生一个3*3的矩阵,每行每列加起来相等

Machine Learning — 关于过度拟合(Overfitting)

机器学习是在模型空间中选择最优模型的过程,所谓最优模型,及可以很好地拟合已有数据集,并且正确预测未知数据. 那么如何评价一个模型的优劣的,用代价函数(Cost function)来度量预测错误的程度.代价函数有很多中,在Ng的视频中,Linear Regression用的是平方代价函数: Logistic Regression 用的是对数似然代价函数: 对于给定的含m个样本的数据集,其平均损失称为经验风险. 损失函数越小,模型就越好. 我们来分析那个房价预测问题,假设房价面积A,楼层L,房间数N

学习 Machine Learning Mastery With Python (1)

1 介绍 1.1 机器学习的错误的想法 一定要对python 编程和python语法非常了解 深入学习scikit learn使用的机器学习算法的理论和参数 避免或者不能接触实际项目中的其他部分. 对某些人可能是适用的, 但是对于很多人, 这样会让人觉得望而生畏,经过很长的准备过程学习理论和算法 , 才能开始实际的项目. 很遗憾的是, 这是市面上大部分书籍所采取的办法. 1.2 python 机器学习 这本书主要介绍机器学习的一个子领域叫做预测模型.这个是机器学习在工业界最有用的应用. 本书的组

《Neural networks and deep learning》概览

最近阅读了<Neural networks and deep learning>这本书(online book,还没出版),算是读得比较仔细,前面几章涉及的内容比较简单,我着重看了第三章<Improving the way neural networks learn>,涉及深度神经网络优化和训练的各种技术,对第三章做了详细的笔记(同时参考了其他资料,以后读到其他相关的论文资料也会补充或更改),欢迎有阅读这本书的同学一起交流.以下属个人理解,如有错误请指正. What this bo