一.非线性假设相关:
例:训练一个模型实现视觉对象的识别(例如识别图片上是否是一辆汽车),一种方法是利用很多汽车和非汽车图片,利用图片上的一个个像素值作为特征。
假如我们只选用灰度图片,每个像素则只有一个值,我们可以选取图片上的两个不同位置上的两个像素,然后训练一个逻辑回归算法利用这两个像素的值来判断图片上是否是汽车。
说明:即使采用50*50像素的小图片,并且将所有的像素是为特征,那么会有2500个特征,如果我们要进一步将两两特征组合构成一个多项式模型,则会有约接近 3 百万个特征。普通的逻辑回归模型,不能有效地处理这么多的特征,这时候我们
需要神经网络。
二.模型表示(1):
神经网络模型建立在很多神经元之上,每一个神经元又是一个个学习模型。这些神经元
(也叫激活单元,activation unit)采纳一些特征作为输出,并且根据本身的模型提供一个输
出。下图是一个以逻辑回归模型作为自身学习模型的神经元示例,在神经网络中,参数又可
被成为权重(weight)。
神经网络模型:
说明:
上述模型,激活单元和输出分别为:
当然,上述例子中只是把特征矩阵中的一行(即一个训练实例)给了神经网络,我们需要将整个训练集的训练实例给到神经网络算法来进行模型学习。
我们可以知道,对于上述算法中第二层的激活单元中的a组成的矩阵而言,可以表示为a = X * theta.T(这种从左到右的算法成为前向传播算法( FORWARD PROPAGATION ))
三.模型表示2:
向量化计算:
四.例子与直观理解1:
附:
逻辑运算 | 运算规则 |
---|---|
XOR(异或) | a xor b–>如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。 |
OR(或) | a or b–>如果a、b两个值全为0,结果为0。否则结果为1。 |
AND(与) | a and b–>a,b均为1时结果为1,否则结果为0 |
NOT(非) | NOT a–>a为1时输出为0,a为0时输出为1 |
XNOR(同或) | a XNOR b–>相同为1不同为0 |
非线性分类举例:
此时对应的输出和输入的关系表为:(令’x’表示输出为1,令’o’表示输出为0)
输入(x1) | 输入(x2) | 输出 |
---|---|---|
0 | 0 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
此时表现为:异或(XOR)的逻辑运算特征。异或表现为:a xor b–>如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
逻辑运算的神经网络表述:
举例为AND运算:
此时,最终的输出h(x) = g(-30 + 20x1 + 20x2)近似表述了AND运算的特点,即此时,ℎ() ≈ x1AND x2
举例OR函数:
OR函数对应的近似输出化的神经网络模型输出为:h(x) = g(-10 + 20x1 + 20x2),即此时,ℎ() ≈ x1OR x2
五.例子与直观理解2:
举例NOT函数:
NOT函数对应的近似输出化的神经网络输出函数为:h(x) = g(-10 + 20 * x1),即ℎ() ≈ x1 NOT x2
举例XNOR函数:
x1 XNOR x2 = (x1 AND x2) OR ((NOT x1) AND (NOT x2))
步骤:
(1)首先构建一个可以表达(NOT x1) AND (NOT x2)的神经元: