计算机的神经网络类似于生物的大脑, 生物的大脑是由神经元构成的, 神经元包括细胞体,轴突突触和树突, 信息由轴突的突触传递到下一个神经元的树突。 那么计算机的神经网络如何去仿真这个操作呢?
逻辑回归问题。最简单的模型公式y = wx + b , weight , bias。神经网络训练就是给确定输入值x,和期望值y,求解参数权重w 和偏置b,如果是两个未知数,那么就需要两组x,y。比如x=1, y=4, x=2,y=7, 求解方程组可得 y = 3x + 1,
所以推理的时候输入任何x就可以得到期望y值了。
这个公式在二维的坐标系中画出一条直线, 假设一个场景预测房价Y,X是房子距离市中心的位置。 因为输入的值你是确定的,所以看输出的值是什么就可以确定什么价格。 这就是最基本的神经网络,单个神经元。
在现实生活中,房价影响因素众多,地理位置x1,面积大小x2,物业情况x3等等,影响因素,每种因素影响的权重
W=[w1, w2, w3…]
X=[x1, x2, x3 ….]
y = Wt * X + b (Wt 表示W的转置T)
根据已有的数据可以在二维坐标系中画出来一条线,具体怎么求解这条线方法很多,例如最小二乘法或是最短距离法这里不细说, 有了这条直线以后,只要我们知道地理位置面积大小和物业情况就可以计算它的房价。 这就是典型的逻辑回归问题。
二分类问题其实就是区分0和1,假如说 贷款问题,银行对贷款问题只有两种可以借贷不可以借贷他是根据借款人的征信w1,个人资产w2,负资产w3和月工资w4来决定他是否可以借贷的。
我们假设y = Wt * X + B 的数学模型, 然后根据一堆人的数据情况求解得出
W值和B值, 但是y始终是一个具体的值, 所以得用一个激活函数,把Y总变为零或一的一个二分类。
一个神经元有很多轴突和树突, 意味着一个神经元,它有多个输入,每个输入有不同的权重思考一下,他是如何整合这些输入,然后把整合的信息传递给下一个神经元的, 这个整合信息我们可以用一个单位阶跃函数来表达。当表达式小于等于零的时候,整体的输出是零当表达式大于0的时候整体的输出为1。这就是单位阶跃函数。
现实中,常见的神经网络的整合函数是sigmoid函数。 这是因为我们要引入一种非线性的函数, 且输出值是零到一之间,并且可导,便于传递信息给下一个神经元。一个神经网络完整的信息传递过程,我们称之为正向传播。