八、神经网络:表述
8.1 非线性假设
~~~~~~
对于特征数很多的逻辑回归,其特征空间会膨胀,因为hθ(x)中会含有很多多次项,比如x12,x1x2,…;
如果包含二次项的话,那么估计一共会有O(n2)项,考虑三次项则会有O(n3)项;
这是一种包含很多个特征的复杂的非线性假设问题;
Q:为什么提出神经网络?
~~~~~~
只是包括平方项或者立方项特征,简单的logistic回归算法并不能在n很大时学习复杂的非线性假设,因此引入神经网络,它在学习复杂的非线性假设上被证明是一种好的多的算法,即使输入的特征有很多个;
8.2 神经元和大脑
~~~~~~
大脑是个神奇的东西,把任何传感器移入大脑,大脑的自学习算法就能学会如何使用它,找出数据的方法,并学会处理它;
神经元模型:逻辑回归单元
神经网络:多个神经元连接在一起的集合;
前向传播 Forward propagation
其它神经网络架构
但都是后一层将前一层的输出当作输入进行处理,然后传给下一层;中间的隐藏层因为既有输入也有输出,所以它并不是单一的输入输出层;
上面都太抽象了,很懵;
8.3 神经网络举例
异或取反操作:
XOR表示异或操作;XNOR 和 NOT (x1XORx2)表示同或(异或取反),二者相同时才为真;
或操作:
至于权重(系数)怎么来的,这就是神经网络要解决的问题了,它通过调整权重来实现这些运算,好像是后面要学的反向传播;
取反操作:
用神经网络来将 三者转换成同或:
8.4 多元分类问题
一个输入,多个输出:
就是独热编码 one hot;
独热编码即 One-Hot 编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候,其中只有一位有效。
例如:
自然状态码为:000,001,010,011,100,101
独热编码为:000001,000010,000100,001000,010000,100000
可以这样理解,对于每一个特征,如果它有m个可能值,那么经过独热编码后,就变成了m个二元特征(如成绩这个特征有好,中,差变成one-hot就是100, 010, 001)。并且,这些特征互斥,每次只有一个激活。因此,数据会变成稀疏的。
这样做的好处主要有:
- 解决了分类器不好处理属性数据的问题,将类别变量转换成新增的虚拟变量/指示变量;
- 在一定程度上也起到了扩充特征的作用;
缺点就是: - 特征量将会变得很多,数据经过独热编码可能会变得过于稀疏;