目录
一、神经网络表示
1.1 非线性模型
当有两个特征时,逻辑回归模型表现得很好,很多特征呢?
假设有100个特征,那么
1. 任意两两特征组合,约有5000个,O()
2. 任意三个特征组合,约有170000个, O()
当特征非常多时,有两个弊端:
- 模型复杂且容易过拟合
- 计算量大
普通的逻辑回归模型不适合解决非常多特征问题,需要神经网络。
1.2 神经元与大脑
接下来,看两个神经重接实验:
如果人体有同一块脑组织可以处理光、声或触觉信号,那么也许存在一种学习算法,可以同时处理视觉、听觉和触觉,而不是需要运行上千个不同的程 序,或者上千个不同的算法来做这些大脑所完成的成千上万的美好事情。
也许我们需要做的就是找出一些近似的或实际的大脑学习算法,然后实现它大脑通过自学掌握如何处理这些不同类型的数据。
1.3 模型表示1
简而言之,神经元是一个计算单元,从树突接收信息,计算处理后,由轴突输出给下一个神经元。
单个神经元模型:
神经网络模型是许多神经元(逻辑单元)按照不同层级组织起来的网络,每一层的输出变量都是下 一层的输入变量。
接下来,看下神经网络的具体计算过程:
所以第一层的参数矩阵是3行4列。
1.4 模型表示2
其实神经网络就像是 logistic regression,只不过我们把 logistic regression 中的输入向量,转换成了中间层
我们可以把?0, ?1, ?2, ?3看成更为高级的特征值,也就是?0, ?1, ?2, ?3的进化体
所以,神经网络最大的优势是可以自动提取新特征(如隐藏层中的)
1.5 特征和直观解释1
从本质上讲,神经网络能够通过学习得出其自身的一系列特征。
在普通的逻辑回归中, 我们被限制为使用数据中的原始特征?1, ?2, . . . , ??,我们虽然可以使用一些二项式项来组合这些特征,但是我们仍然受到这些原始特征的限制。
在神经网络中,原始特征只是输入层, 在我们上面三层的神经网络例子中,第三层也就是输出层做出的预测利用的是第二层的特 征,而非输入层中的原始特征,我们可以认为第二层中的特征是神经网络通过学习后自己得出的一系列用于预测输出变量的新特征。
下面用单层神经元来表示逻辑运算:
1.6 样本和直观解释2
下面举例用简单逻辑运算组合成复杂的逻辑:
已知:
求解:XNOR,
XNOR = (x1 AND x2) OR((NOT x1)AND(NOT x2))
首先构造一个能表达(NOT x1)AND(NOT x2)部分的神经元
再组合神经元得到:
按这种方法我们可以逐渐构造出越来越复杂的函数,也能得到更加厉害的特征值。