在机器学习中,描述实体的数字的组合就是这个实体的特征向量
特征向量是神经网络的输入 神经网络是分层的结构,第一层为输入层,代表特征向量中每一个特征的取值。同一层的节点不会相互连接,每一层只和下一层连接,直到最后一层作为输出层得到计算的结果。如果是二分类问题,输出层则通常只有一个节点,该节点输出一个实数,通过这个值和一个预先设置的阈值,就可以获得最后的分类结果。
使用神经网络解决问题:
1、提取问题中实体的特征向量作为神经网络的输入
2、定义神经网络的结构和如何得到输入输出(前向传播算法)
3、通过训练来调整神经网络中参数的取值
4、使用训练好的神经网络来预测未知的数据
反向传播算法:
实现了一个迭代的过程,在每次迭代的开始,选取一部分训练数据()作为一个batch,这个batch会通过前向传播算法得到神经网络模型的预测结果,因为训练数据都有正确答案标注,可以计算出当前神经网络模型的预测结果和正确答案之间的差距。最后,通过这个预测值和真实值之间的差距,反向传播算法会相应更新神经网络参数的取值,使得这个batch上神经网络模型的预测结果和真实答案更加接近。
损失函数
刻画当前的预测值和真实答案之间的差距 常用:交叉熵
交叉熵
交叉熵 给定两个概率分布,交叉熵刻画的是不同事件发生的概率。
H(p,q) = - sum(p(x)log(q(x))
交叉熵函数不是对称的(H(p,q)!=H(q,p)),它刻画的是通过概率分布q来表达概率分布p的困难程度。p代表正确答案,q代表预测值。因为交叉熵刻画的是两个概率分布的距离 交叉熵越小,两个概率分布越接近。
优化器
反向传播的优化方法 例如梯度下降优化器
训练神经网络:
1、定义神经网络的结构和前向传播的输出结果
2、定义损失函数和选择反向传播优化的算法
3、生成会话并在训练数据上反复运行反向传播优化算法