神经学习
1、神经网络精准预测与否?
预测就是一个神经网络
knob_weight = 0.5 #初始化权重参数(预测的标准)
input = 0.5 #输入值
goal_pred = 0.8 #真实情况,f(0.5)=0.8
pred = input * knob_weight #预测值=输入*权重
error = (pred - goal_pred) ** 2 #误差
print(error)#输出误差
输入*权重=预测值(和真是可能有差距)
为什么要用平方呢?
是因为能够让这个值一直保持为正。
训练神经网络的目标是做出正确的预测。这就是你想要的。在最务实的世界里,你希望网络接受你可以轻松计算的输入(今天的股价),并预测难以计算的东西(明天的股价)。这就是神经网络有用的原因
2、为什么要衡量误差?
衡量误差简化了问题,改变旋钮权重以使网络正确预测目标预测比改变旋钮权重以使误差== 0 要稍微复杂一些。用
这种方式来看待这个问题有一些更简洁的东西。最终,这两种说法说的是同一件事,但试图将错误设为 0 似乎更简单。
通过平方误差,小于 1 的数字变小,而大于 1 的 数字变大。这样更大的错误变得非常大,而更小的错误很快变得无关紧要。
通过这种方式测量误差,可以将大的误差优先于小的误差。当有较大的纯误差时(比如说,10),会告诉自己有很大的误差(10 * 2 == 100);相反,当有小的纯误差时(比如说,0.01),会告诉自己有非常小的误差(0.01 * 2 == 0.0001)。
相反,如果取绝对值而不是平方误差,就不会有这种类型的优先级
3、热和冷学习
首先搭建神经元函数:
weight = 0.1
lr = 0.01
def neural_network(input, weight):
prediction = input * weight
return prediction
预测、初始化一个weight:
number_of_toes = [8.5]
win_or_lose_binary