[关闭]
@helen- 2019-04-29T06:53:44.000000Z 字数 1053 阅读 1229

机器学习4 神经网络NN算法

研究生学习 机器学习 监督学习


多层向前神经网络

backpropagation BP算法

1 输入层 隐藏层 输出层
2 每层由单元(units)组成,经过连接点的权重(weight)传入下一层,这一层的输出是下一层的输入.隐藏层的个数可以任意.输入输出各只有一层
3 输入层不算层数
4 每层加权求和,然后根据非线性方程转化输出

设计神经网络

1 想确定神经网络层数 ,单元个数
2 特征向量需要被标准化 (映射到0--1)
3 对于离散型变量可以被编码成每一个输入单元对应一个特征值可能赋的值
4 神经网络既可以做分类,也可以做回归问题
5 二分类只需要一个输出单元,多分类设置相同类数量的输出单元.
6 交叉验证方法 K-fold cross validation
- 用其中1份的验证集,剩下的k-1份作为训练集

Backpropagation 算法

1 迭代处理训练集中的实例
2 预测值与真实值的差距
3 反方向最小化误差来更新每个连接的weight和bias

4 算法详细
- 输入 D数据集, 学习率(step rate),神经网络
- 输出 一个训练好的神经网络

4.1 初始化权重和偏向,分别随机初始化(-1,1)和(-0.5,0.5)之间
4.2 相乘求和之后使用激活函数 --> 非线性转换 作为输出
4.3 根据误差反向传送
- 更新权重
- 更新偏向
4.4 终止条件:权重更新低于阈值;错误率低于阈值;达到预设的循环次数


激活函数
sigmoid 函数是一个S形函数 在(0,1)之间
两种 : 双曲函数(tanh) / 逻辑函数(logistic)

tanh 一阶导 : 1-tanh(x)tanh(x)
logistic 一阶导 : logi(x)
(1-logi(x))

衡量模型好坏的指标:
1. 正确率 = 提取出的正确信息条数 / 提取出的信息条数
2. 召回率 = 提取出的正确信息条数 / 样本中的信息条数
3. F值 = 正确率 * 召回率 * 2 / (正确率 + 召回率)(F值即为正确率和召回率的调和平均值)

precision: 正确率是评估捕获的成果中目标成果所占得比例;
recall: 就是从关注领域中,召回目标类别的比例;
F-measure: 综合这二者指标的评估指标,用于综合反映整体的指标


TP-将正类预测为正类

FN-将正类预测为负类

FP-将负类预测为正类

TN-将负类预测为负类

准确率(正确率)=所有预测正确的样本/总的样本 (TP+TN)/总

精确率= 将正类预测为正类 / 所有预测为正类 TP/(TP+FP)

召回率 = 将正类预测为正类 / 所有真正的正类 TP/(TP+FN)

F值 = 正确率 * 召回率 * 2 / (正确率 + 召回率) (F 值即为正确率和召回率的调和平均值)

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注