预测的过程其实只是based on 一个简单的逻辑回归logistic regression公式
z = dot(w,x) + b = (x1 * w1 + x2 * w2 + x3 * w3) + b
dot(a,b): 向量a和向量b的点积(内积)运算。
点积是两个向量的对应分量相乘,并将结果相加得到的标量值。
具体计算公式如下:
dot(a,b) = a1 * b1 + a2 * b2 + … + an * bn
其中,a1, a2, …, an为向量a的分量,b1, b2, …, bn为向量b的分量。
假设只有3个特征,那么x就可以用(x1,x2,x3)来表示。
它对应于每个输入特征,代表了每个特征的重要程度
用来影响预测结果
假设周末即将到来,你听说在你的城市将会有一个音乐节
To predict 你是否会决定去参加
3个因素 means 3个输入特征
3个重视程度就是3个权重
如果你觉得地铁远近无所谓,并且已经精力衰竭不太想搞事情了,而且你很喜欢蓝天白云
那么, predict 会去音乐节。
假设:
大于0的话就表示会去,小于0表示不去
最后一个是1,它代表了好天气
最后一个是7表示你很喜欢好天气
那么:
z
= (x1 * w1 + x2 * w2 + x3 * w3) + b
= (0 * 2 + 0 * 2 + 1 * 7) + (-5)
= 2
预测结果z是2
2 > 0
所以预测会去音乐节。
在实际的神经网络中,不能直接用逻辑回归, 必须要在逻辑回归外面再套上一个激活函数。
横坐标是z,纵坐标用y’表示
y’就代表了最终的预测结果。
从图像可以看出: z越大那么y’就越靠近1,z越小那么y’就越靠近0
那为什么要把预测结果映射到[0,1]之间呢?
因为
这样不仅便于神经网络进行计算,也便于我们人类进行理解。
例如:
在预测是否有猫的例子中,如果y’是0.8,就说明有80%的概率是有猫的。
Extension
其实在逻辑回归公式中,w其实应该写成w.T,因为实际运算中我们需要w的转置矩阵。
未完待续……