拜读苏神-1-深度学习+文本情感分类

一、闲聊神经网络与深度学习

参考链接:https://www.kexue.fm/archives/3331

分类模型本质上是在做拟合——模型其实就是一个函数(或者一簇函数),里边有一些待定的参数,根据已有的数据,确定损失函数(最常见的损失函数,就是误差平方和,不清楚的读者,可以回忆最小二乘法的过程。),然后优化损失函数到尽可能小,从而求出待定参数值。求出参数值之后,就可以用这个函数去进行一些预测。这便是分类的基本思想了,至于防止过拟合之类的,属于细节问题,在此先不作讨论。
以上思想看上去简单,但是存在两个本质性的、难以解决的问题:1、函数的自变量是什么?2、这个函数是什么?换句话说,我怎么知道哪些东西(特征)对我想要的分类工作有帮助?其次,复杂的非线性的现象无处不在,找到这些特征后,我怎么知道用哪个函数去拟合它?事实上,这两个问题至今没有很好的答案。在深度学习出现以前,模型和特征的选取,基本都是人工选择的。换句话说,机器学习领域发展了几十年,却连两个本质性的问题都没有解决!

所谓自变量便是特征,选取哪些特征作为x,在深度学习之前都是人为设计;所谓函数是什么就是采取哪种算法进行拟合。

没错,神经网络就是通过多重复合函数来拟合的!而且是最简单的函数的符合——一个是线性函数;另外一个是最简单的非线性函数:二元函数θ(x)

换句话说,深度学习的算法是用来发现良好的特征的,而这部分工作,以前通常都只是靠人工来选取,而且选取的效果不一定“良好”。现在,机器能够自动(无监督地)完成这个事情,实现的效果还不比人工选取的差。找到了良好的特征,甚至线性模型都可以有不错的表现。所以,才说深度学习将人工智能领域推进了一大步,称“深度学习”为目前最接近人工智能的算法

目前就是提特征+线性层

其中网络的输入和输出是一样的(都是100维),而中间隐藏层的节点是50维的。自编码器希望通过上述神经网络,训练一个简单的函数x=x
,也就是希望输入跟输出是一样的。可是,在训练过程中,从输入层到隐藏层,维度从100维降低到了50维,意味着信息有所损失了,可是从隐藏层到输出层,维度又恢复为100维,既然信息已经损失,因此,理论上来说这个重构过程是不可能实现的。
然而,我们偏要强迫它这样训练,那么会得到什么结果呢?机器也没办法,只好很勉强地从这50维数据中重构原始数据了,为了使得重构的效果尽可能好,机器只好把输入的一大批数据的共同特征提取出来,作为重构的结果

对于自编码的解释

文本情感分类

看完了传统的建模方式,发现了更有意思的东西,去看看。

你可能感兴趣的:(深度学习,分类,人工智能)