没有合适的资源?快使用搜索试试~ 我知道了~
18302010018-俞哲轩-lab1-part11
需积分: 0 0 下载量 112 浏览量
2022-08-03
21:43:51
上传
评论
收藏 2.09MB PDF 举报
温馨提示
试读
19页
18302010018-俞哲轩-lab1-part11
资源详情
资源评论
资源推荐
12个⼿写汉字分类
代码基本架构
Network
实现神经⽹络类,字段包括⽹络层数、每层神经⽹络,⽅法包括向前传播、向后传播算法以及softmax
public class Network implements Serializable {
int size;
List<Layer> layers;
public Network(int[] structure, boolean classification, double weightLR,
double biasLR)
Layer
实现神经元层类,字段包括神经元的个数、包含的神经元、前⼀神经元层、后⼀神经元层和学习率,⽅
法包括向前传播和向后传播算法
public void forward(double[] input) {
Layer layer = layers.get(0);
Neuron[] neurons = layer.neurons;
for (int i = 0; i < neurons.length; i++) {
neurons[i].output = input[i]; // Input Layer
}
for (int i = 1; i < size; i++) {
layers.get(i).forward();
}
}
public void backward(double[] desired) {
Layer layer = layers.get(size - 1);
Neuron[] neurons = layer.neurons;
for (int i = 0; i < neurons.length; i++) {
neurons[i].delta = desired[i] - neurons[i].output; // Output Layer
}
for (int i = layers.size() - 1; i > 0; i--) {
layers.get(i).backward(); // Output Layer & Hidden Layer
}
}
void softmax() {
Layer layer = layers.get(size - 1);
Neuron[] neurons = layer.neurons;
double totalOutput = 0;
for (Neuron neuron : neurons) {
totalOutput += Math.exp(neuron.output);
}
for (Neuron neuron : neurons) {
neuron.output = Math.exp(neuron.output) / totalOutput;
}
}
}
public class Layer implements Serializable {
//static final double LAMBDA = 0.00001;
//static final double lambdaLR = 0.005;
Random rd = new Random();
int quantity;
Neuron[] neurons;
Layer backLayer;
剩余18页未读,继续阅读
明儿去打球
- 粉丝: 15
- 资源: 327
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0