背景
这段时间在学习神经网络相关的内容,神经网络的算法里面只要给定它特征值丢进去,算法就会自身跟新权重和误差(偏置)。其实学习机器学习内容的时候,我对这些算法过程是理解的,但是我对细节是模糊的。
所以,我需要写点代码,在电脑里面跑一下,自己才能领会到算法的真正含义。
开始讲解
那么,下面我就列举一个输入为二维的特征值,输出为一维的简单的神经网络模拟。
例如:A有两个特征值,一个特征值是他有棍子,另一个特征值是他会躁动。现在我们有10组样本,每个样本的特征值对应着A是否会和你打架的真实值。
x = [(1,1),(0.9,1.8),(2.3,1),(2.8,1.5),(1.3,4),(6,4.6),(4.2,5.1),(5.1,6.6),(6.2,5.6),(4.6,5.2)]
y = [-1,-1,-1,-1,1,1,1,1,1,1]
例如上面,x
就是特征值,比如第一个样本(1,1)
就是A有棍子的概率为1,A会躁动的概率为1,此时对应y
真实值是-1
,那么表示A不会生气。再比如,最后一个样本(4.6,5.2)
,就是A有棍子的概率为4.6,A会躁动的概率为5.2,此时A对应的真实值为1,那么表示此时A会生气。
上面10组样本就是真实情况下发生的,可以理解我10次惹了A,其中4次A没有生气,6次A生气了。
那么,我现在想弄一个算法出来,当下一次我再惹A时候,我输入A有棍