深度学习:欠拟合问题的几种解决方案

我最近做深度学习在连续中文语音识别方向的应用的时候,根据一些论文和网上一些公开代码和模型结构,设计了一个神经网络的模型。但是在训练的时候,就首先遇到了很让人头疼的欠拟合问题。神经网络欠拟合的特征是,训练了很长时间,但是在训练集上,loss值仍然很大甚至与初始值没有太大区别,而且精确度也很低,几乎接近于0,在测试集上亦如此。且先不管模型结构配置的优劣,就欠拟合问题来说,需要从如下方面来着手。

继续阅读“深度学习:欠拟合问题的几种解决方案”

谷歌开发者机器学习词汇表:纵览机器学习基本词汇与概念

选自Google Developers

机器之心编译
机器之心曾开放过人工智能术语集 ,该术语库项目目前收集了人工智能领域 700 多个专业术语,但仍需要与各位读者共同完善与修正。本文编译自谷歌开发者机器学习术语表项目,介绍了该项目所有的术语与基本解释。之后,我们也将表内术语更新到了机器之心 GitHub 项目中。本文由浙江大学博士生杨海宏推荐,他的研究方向为知识图谱问答。
机器之心人工智能术语项目:https://github.com/jiqizhixin/Artificial-Intelligence-Terminology

继续阅读“谷歌开发者机器学习词汇表:纵览机器学习基本词汇与概念”

机器学习入门教程分享

经常会在一些社区类网站看到有人问如何入门和学习机器学习,于是,我在这里分享一些我学习机器学习这一段时间以来收集的各类比较好的教程。

我过滤掉了一些没什么用的教程和资料,因为那些确实没有用,而且看起来太多太繁琐,人的精力有限,只要能把这些资料看完,就已经可以变得很厉害了。
继续阅读“机器学习入门教程分享”

统计语言模型:从中文拼音到文本

前言:

自然语言是信息的载体,记录和传播着信息,信息论之父香农对信息的定义是“信息是用于消除随机不确定性的东西”。信息通过编码,经过一定的信道传输,然后传递到接收者,再解码成对应的可被人理解感知的东西,就完成了一次信息的传递。原始人的通信方式就是说话,而说话是先将信息编码为对应的语言信号,可以是文本,可以是声音,也可以就是中文拼音,然后接收者再将收到的信号进行解码。而我们人类对自然语言的处理经历了从基于规则的算法到基于统计的算法,显然基于统计的方法比规则更有效,下面我将介绍一种基于统计的语言模型,可以实现从拼音转为文本。

继续阅读“统计语言模型:从中文拼音到文本”

机器学习:神经网络模型样例

神经网络有着强大的函数表示能力,只要它具有合适的层数。神经网络可以拟合任何线性或者非线性的函数,而且可以通过学习或者自身一系列所需的参数。我们都知道,神经网络的输入层输入的是数据的原始特征,经过中间隐藏层一系列的近似于“黑盒”的计算,其中每一层都是利用前一层的特征进行计算得到新的特征,最终我们在输出层可以得到对应的结果。我们可以用几个简单例子来更好的理解神经网络的一些工作原理。

继续阅读“机器学习:神经网络模型样例”

机器学习:神经网络模型

不论是线性回归还是对数几率回归,都有一个缺点,那就是,当特征太多的时候,计算量会变得非常的大。假如我们有100个特征,如果仅仅考虑多项式函数中两两组合的二次交叉项的时候,那么我们会得到组合数C2100 的数量,即4950个二次交叉项,这对于一般的统计回归来说徐要计算的特征数太多了。我们需要一种既简单又强大的模型,神经网络(Neutral Network)就是这样。神经网络是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型,用于对函数进行估计或近似[参考资料1]。其实,简单来说,神经网络就是一个分层的有向图,每一层的节点称为一个神经元。

继续阅读“机器学习:神经网络模型”

机器学习:过拟合与欠拟合问题

过拟合(overfitting)与欠拟合(underfitting)是统计学中的一组现象。过拟合是在统计模型中,由于使用的参数过多而导致模型对观测数据(训练数据)过度拟合,以至于用该模型来预测其他测试样本输出的时候与实际输出或者期望值相差很大的现象,。欠拟合则刚好相反,是由于统计模型使用的参数过少,以至于得到的模型难以拟合观测数据(训练数据)的现象。

继续阅读“机器学习:过拟合与欠拟合问题”

在数据为王的人工智能时代如何收集机器学习数据

我最近因为学习机器学习并且想要做一些实践项目而打算收集一些数据来做机器学习,但是发现,数据不是你想找,想找就能找的。在机器学习方面,用于训练的数据对于整个机器学习进程的重要意义自然不言而喻,而数据问题涉及到收集、存储、表示以及规模和错误率等多个方面。关于数据,我想谈一谈数据的收集问题。

继续阅读“在数据为王的人工智能时代如何收集机器学习数据”