You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.0 KiB

# Neural Networks
自己编程实现两层或多层全连接神经网络,可以使用`moons` 或者`circles`数据集来测试、验证算法。
dataset_moons:
![dataset_moons](images/dataset_moon.png)
dataset_circles:
![dataset_circles](images/dataset_circle.png)
加载数据的方式是:
```python
# moon dataset
% matplotlib inline
import numpy as np
from sklearn import datasets
import matplotlib.pyplot as plt
# generate sample data
np.random.seed(0)
X, y = datasets.make_moons(200, noise=0.20)
# plot data
plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Spectral)
plt.show()
```
dataset_circles的数据文件是`dataset_circles.csv`
要求:
1. 自己编程实现多层全连接神经网络的多分类。
2. 先用函数的方式实现网络的正向计算和反向误差传播,权值更新。
3. 构思并实现基于类的神经网络程序。
4. 学习`softmax`和`cross entropy`的方法,并实现类别所属概率的输出。
5. 对比自己实现与sklearn的方法的精度。
6. 如何将分类错误的样本可视化出来?