今天我们来聊聊 Logistic Nonlinear Classification,以及一种全新的算法 Neural Network。相信大家已经被 AlphaGo 的新闻狂轰乱炸了,没错,AlphaGo 正是运用了强化学习以及深度神经网络的知识来血洗各路高手的。。。
之前处理 Nonlinear Classifier 时,我们一般通过引入特征的多项式。当特征个数较少时,多项式这种做法还可行。但是许多机器学习问题涉及很多特征(如图片识别: n * m pixel(n * m features)),对众多的特征应用二项式甚至多项式时,会产生极多的项数,造成:
- 计算量过大
- 容易过拟合
神经网络在解决复杂的非线性分类问题上被证明是一种好得多的算法 即使特征空间或输入的特征维数n很大也能轻松搞定。
Neural Network
神经网络是模仿人类大脑中的神经元网络的工作原理。神经元(neuron)包含 cell body、input wires(树突,dendrite)、output wires(轴突,axon),信息在多个神经元之间的传递构成了整个通信网络。
神经网络首先分层(Layer),信息从一层经过计算后传递到下一层,直到最终输出层。每一层中的每个元素叫做 unit。
Multi-class Classification
上周提到 Binary Classification(两个输出值的分类器)。当 y = 1 if h(x) > = 0.5, y = 0 if h(x) < 0.5。 在 Multi-class Classification(多类别分类器)问题中,实际上是求解一对多神经网络算法。我们需要对每一种类别训练 classifier。当训练某个单独 classifier 时,将等于当前类别的 y 设置为 1,所有不等于当前类别的全部设置为 0。