1 引言
在之前的文章你告诉我什么是深度学习中,笔者从线性回归中的房价预测、到梯形块儿的面积介绍了输入特征对于模型预测的重要性;接着又从特征提取以及非线性变换的角度介绍了特征提取对于模型的重要性;最后我们从单层神经网络(线性回归模型)顺利的过渡到了多层神经网络,也就是深度学习的概念中。在接下来的这篇文章中,我们再以分类任务为例,再次探索深度学习的理念以及为什么我们需要深度学习。
在前面我们也提到过,机器学习与深度学习最大的不同点在于特征的可解释性。在机器学习中,我们会尽可能的要求每个特征(包括不同特征之间组合得到的新特征)都具有一定的含义。例如鸢尾花和iris数据集中每个特征都有着其实际的信息。因此,在机器学习中基本上不存在所谓“抽象特征”的概念。但是,当我们用机器学习算法来做某一些分类任务时,又不得不用这些不知道什么意思的特征。
2 特征的意义
在上一篇文章中我们介绍了Softmax分类模型,从本质上来说它也算是机器学习模型中的一种。当我们用其对fashion mnist数据集进行分类时,输入模型的特征就是一张图片拉伸后的一个784维的向量,每个维度表示的仅仅只是一个像素值。那现在要是让你说出每个特征(像素值)的具体含义你能说清楚吗?要说清楚这显然是不能的,不过这依然不影响我们最后的分类结果。但这又是为什么呢?你知道吗?
有件事,叫天不知地知,我不知你知,那就是你鞋底有个洞。而对于即使输入给模型我们不知道什么含义的特征,模型依旧能够展现出很好的分类效果这件事情,其原因估计也就是天知地知模型知,恰恰我们不知。但这样解释合理吗?笔者认为这是合理的。想一想,狗狗主要是靠什么来辨识事物的?对,就是味道。但我们人能通过“味道”这个特征来辨识事物吗?类似的还有蝙蝠能够通过声波这个特征来辨识事物等,而这些都是我们人所不能的。那既然是这样,为什么不可以认为模型也具备识别某种我们人所不能识别的特征呢?