龙骑士 的blog

机器学习中的误差减少策略

测试误差

我们在拿到样本后进行机器学习,通常可以将样本分为两部分,比如前70%用来机器学习得到Θ,后30%用来对数据进行检验。

如何进行检验?

之前我们知道,逻辑回归代价函数JΘ的计算法方法,那么此处同理,我们可以得到对测试数据的JtestΘ的表达式
机器学习中的误差减少策略
然后,我们利用剩下的测试数据统计0 / 1错分率,(或称误分类率)error(hΘ(x),y)
机器学习中的误差减少策略
,得到test error = ∑error(hΘ(x),y)/m_test【 i from 1 to m】。

对假设函数模型的选择

什么是机器视觉?

机器视觉是人工智能正在快速发展的一个分支。简单说来,机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是通过机器视觉产品(即图像摄取装置,分CMOS和CCD两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,得到被摄目标的形态信息,根据像素分布和亮度、颜色等信息,转变成数字化信号;图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。

机器视觉系统的组成

“机器视觉”,从表面意思可以看出是机器看东西而不是人看东西。

人是复杂的动物,内部处理事务的过程也是非常复杂的,机器视觉系统也同样是复杂的,也是由很多相关的部件组成的,一个典型工业机器视觉系统有以下部分:

(1)光源:可以理解为人类世界的外部光照(太阳、日光灯、火烛)

(2)镜头(定焦镜头、变倍镜头、远心镜头、显微镜头):瞳孔是光圈(大小由虹膜的扩大或缩小控制),角膜和晶状体像镜头;

(3)相机(包括CCD 相机和COMS相机):视网膜

(4)图像处理单元(或图像捕获卡):视网膜神经系统

(5)图像处理软件:大脑

(6)通讯 / 输入输出单元:四肢五官

用一张图简单示意

基于神经网络的实体识别和关系抽取联合学习

联合学习(Joint Learning)一词并不是一个最近才出现的术语,在自然语言处理领域,很早就有研究者使用基于传统机器学习的联合模型(Joint Model)来对一些有着密切联系的自然语言处理任务进行联合学习。例如实体识别和实体标准化联合学习,分词和词性标注联合学习等等。最近,研究者们在基于神经网络方法上进行实体识别和关系抽取联合学习,我阅读了一些相关工作,在此和大家一起分享学习。(本文中引用了一些论文作者Suncong Zheng的PPT报告)

1、引言

本文关注的任务是从无结构的文本中抽取实体以及实体之间的关系(实体1-关系-实体2,三元组),这里的关系是我们预定义好的关系类型。例如下图,

基于神经网络的实体识别和关系抽取联合学习

现代深度学习理论:为什么它如此好用?

作者|Dmytrii S.
译者|Erica Yi
转自: AI前线

虽然深度学习已经被用于各种不同的应用上,但是由于缺乏能够完整解释其成功背后的基础理论,所以经常面对着各种质疑。就在最近,Test-of-time 奖项的获得者在 Neural Information Processing (NIPS) 会议上将深度学习比作为炼金术。

虽然用于解释深度学习为何有如此强的泛化能力的泛化理论(Generalization Theory)仍是一个开放性的问题,但是在本文中,我们将会对近期试图解释这个问题的理论和经验(empirical)上所取得的进步展开讨论。

深度学习的悖论

一个“明显的悖论”是尽管深度学习有容量大(large capacity)、数值不稳定性(numerical instability)、尖锐极小值 (sharp minima) 和缺乏鲁棒性(又称为健壮性,robustness)等特点,但是仍在实践中仍然有强的泛化能力。

卷积神经网络(CNN)模型结构

在DNN大类中,卷积神经网络(Convolutional Neural Networks,以下简称CNN)是最为成功的DNN特例之一。CNN广泛的应用于图像识别,当然现在也应用于NLP等其他领域,本文我们就对CNN的模型结构做一个总结。

1. CNN的基本结构

首先我们来看看CNN的基本结构。一个常见的CNN例子如下图:

卷积神经网络(CNN)模型结构

图中是一个图形识别的CNN模型。可以看出最左边的船的图像就是我们的输入层,计算机理解为输入若干个矩阵,这点和DNN基本相同。

深度学习网络调参技巧

好的实验环境是成功的一半

由于深度学习实验超参众多,代码风格良好的实验环境,可以让你的人工或者自动调参更加省力,有以下几点可能需要注意:

• 将各个参数的设置部分集中在一起。如果参数的设置分布在代码的各个地方,那么修改的过程想必会非常痛苦。

• 可以输出模型的损失函数值以及训练集和验证集上的准确率。

• 可以考虑设计一个子程序,可以根据给定的参数,启动训练并监控和周期性保存评估结果。再由一个主程序,分配参数以及并行启动一系列子程序。

画图

画图是一个很好的习惯,一般是训练数据遍历一轮以后,就输出一下训练集和验证集准确率。同时画到一张图上。这样训练一段时间以后,如果模型一直没有收敛,那么就可以停止训练,尝试其他参数了,以节省时间。

如果训练到最后,训练集,测试集准确率都很低,那么说明模型有可能欠拟合。那么后续调节参数方向,就是增强模型的拟合能力。例如增加网络层数,增加节点数,减少dropout值,减少L2正则值等等。

如果训练集准确率较高,测试集准确率比较低,那么模型有可能过拟合,这个时候就需要向提高模型泛化能力的方向,调节参数。

从粗到细分阶段调参

神经网络从原理到实现

1.简单介绍

在机器学习和认知科学领域,人工神经网络(artificial neural network,缩写ANN),简称神经网络(neural network,缩写NN)或类神经网络,是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。神经网络由大量的人工神经元联结进行计算。大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自适应系统。现代神经网络是一种非线性统计性数据建模工具。

典型的神经网络具有以下三个部分:

• 结构 (Architecture) 结构指定了网络中的变量和它们的拓扑关系。例如,神经网络中的变量可以是神经元连接的权重(weights)和神经元的激励值(activities of the neurons)。

• 激励函数(Activity Rule) 大部分神经网络模型具有一个短时间尺度的动力学规则,来定义神经元如何根据其他神经元的活动来改变自己的激励值。一般激励函数依赖于网络中的权重(即该网络的参数)。

你所不能不知道的CNN

作者:许铁

说起CNN,最初人们想到的都是某电视台,但等过几年,人们想起的多半是深度学习了。

应该说, CNN是这两年深度学习风暴的罪魁祸首, 自2012年, 正是它让打入冷宫的神经网络重见天日并且建立起自己在人工智能王国的霸主地位。

如过你认为深度学习是只能用来理解图像的,你就大错特错了, 因为它的用途太广了,上至文字,中有图像, 下至音频, 从手写数字识别到大名鼎鼎的GAN对抗学习, 都离不开它。

不过要了解CNN,还是拿图像做例子比较恰当。一句话来说CNN图像处理的本质,就是信息抽取, 巨大的网络可以抽取一步步得到最关键的图像特征, 我们有时也叫自动的特征工程。

CNN的建造灵感来自于人类对视觉信息的识别过程。 人脑对物体的识别的第一个问题是: 对应某一类对象的图像千千万, 比如一个苹果, 就有各种状态的成千上万状态, 我们识别物体的类别,事实上是给这成千上万不同的图片都打上同一个标签。

机器学习方法:从线性模型到神经网络

发现模式

一个模型实际上都是一个从输入到输出的函数,我们希望用这些模型发现数据中的模式,发现数据中存在的函数依赖,当然前提是数据中本身就存在这样的函数依赖。数据集有很多种类型,可能是有结构的,比如关系数据库中的表,也可能是无结构的,比如文本。我们现在考虑的是一种典型的数据集,这种数据集是一张关系表,每一条记录都代表了一个实体,比如说一朵花,关系表共有很多个字段,但是只有一个字段是标签。表中前n-1个字段是实体的各种特征,最后一个字段是实体的标签,标签是一些离散的值,比如如果一条记录代表一朵梅花,那么它的标签0,如果是一朵兰花,那么它的标签就是1,当然也可以是其他的值。我们用 x 来表示每条记录的前n-1个字段,用 y 来表示每条记录的标签。

现在我们的目标就是希望发现一种模式,也就是从特征到标签的函数依赖关系f,尽可能使得对每条记录有:
机器学习方法:从线性模型到神经网络

机器学习中的基本数学知识

线性代数(linear algebra)

第一公式

机器学习中的基本数学知识

这是在机器学习中,最常见的公式。我把这个称为机器学习的第一公式,实际上就是线性分类函数(linear classifier)。
训练分类器的目标就是求出(w,b)。
其中:
x 是一个一行矩阵[[x1,x2,...,xn]]。
w 是一个一行矩阵[[w1,w2,...,wn]]。
x 和 w 的维度相同。
b 是一个数。

同步内容
--电子创新网--
粤ICP备12070055号