一、神经网络和深度学习
1.1 什么是神经网络
常用深度学习来指训练神经网络的过程,以房价预测为例:
假设你有一个数据集,它包含了六栋房子的信息。所以,你知道房屋的面积是多少平方英尺或者平方米,并且知道房屋价格。这时,你想要拟合一个根据房屋面积预测房价的函数;
若选择了线性回归,那么不难画出一个函数:
作为一个神经网络,这几乎可能是最简单的神经网络:
们把房屋的面积作为神经网络的输入(我们称之为𝑥),通过一个节点(一个小圆圈),最终输出了价格(我们用𝑦表示),其实这个小圆圈就是一个单独的神经元(neuron)
- ReLU 激活函数:在神经网络中经常会看到上面图中的那个函数,从趋近于零开始,然后变成一条直线;
如果这是一个单神经元网络,不管规模大小,它正是通过 把这些单个神经元叠加在一起来形成 。
若考虑其他因素,那么这个神经网络也会变得复杂起来:
上图的每一个圈都可为ReLU的一部分,称为隐藏单元,即修正线性单元/其它稍微非线性的函数。
想要实现一个高精度的神经网络,就需要足够多的x和y
1.2 神经网络的监督学习
- 对于房地产和在线广告,常用标准NN
- 对于图像应用,常用卷积神经网络CNN;
- 对于序列数据、音频以及语言等,常用递归神经网络RNN;
- 对于雷达信息等,需要应用更加复杂的混合型神经网络;
普通神经网络、CNN和RNN:
- 结构化数据:数据的基本数据库,就是长得像dataframe。例如在房价预测中,你可能有一个数据库,有专门的几列数据告诉你卧室的大小和数量;
- 非结构化数据:指比如音频,原始音频或者你想要识别的图像或文本中的内容。这里的特征可能是图像中的像素值或文本中的单个单词;
与结构化数据比较,让计算机理解非结构化数据很难。但是人就很擅长这方面的事情,而神经网络就可以让机器更好的解释非结构化数据