人工神经网络初解

人工神经网络算法基本原理

人工神经网络算法原理示意图

在这里插入图片描述

人工神经网络算法原理说明

1、人工神经网络整体分为输入层、隐藏层、输出层,另外除了输出层外,其余各层皆存在一个偏置项(可以理解为截距)。
2、其中最底层为输入层,输入层向隐藏层第一层各个神经元提供入参,并且每个入参都有各自的权重(上图终端Wi-j-k)。
3、隐藏层的每一个小的单元结构成为神经元,包含STEP1求和、STEP2激活函数,激活函数的结果用于计算为下层输入的入参。
4、不断向下一层输入,直至输出层,输出层即为目标结果
5、结果到达输出层后,将输出结果与训练集目标进行比较,并根据存在的误差(损失函数),进行反向调优(反向传播),不断逐级更新各层的权重Wi-j-k
6、循环迭代以上过程,输出最终的模型

人工神经网络代码demo

1、导入相关包

import numpy as np
from sklearn.linear_model import Perceptron
import tensorflow as tf
from tensorflow import keras

2、准备数据(训练集、验证集、测试集),这里用内置的fashion_mnist数据集

fashion_mnist=keras.datasets.fashion_mnist
(X_train_full,y_train_full),(X_test,y_test)=fashion_mnist.load_data()
#设置验证集
x_valid,X_train=X_train_full[:5000]/255.0,X_train_full[5000:]/255.0
y_valid,y_train=y_train_full[:5000]/2,y_train_full[5000:]/2
class_names=["T-shirt","Trouser","Pullover","Dress","Coat","sandal","shirt","Sneaker","bag","abkel boot"]#这里class_names用于与目标标签对应,例如2对应Pullover,0对应T-shirt

3、创建神经网络模型,并设置相关的参数(因为我们是对不同的穿戴物品做分类,且各类物品互斥,所以我们可以用softmax函数作为最后一层的激活函数,从而输出结果为各分类可能的概率,且和为1)

model=keras.models.Sequential()
model.add(keras.layers.Flatten(input_shape=[28,28]))#输入shape为28*28矩阵
model.add(keras.layers.Dense(300,activation="relu"))#activation即为激活函数
model.add(keras.layers.Dense(100,activation="relu"))
model.add(keras.layers.Dense(10,activation="softmax"))
#最后一层Dense层即为输出层

4、指定损失函数及优化器

model.compile(loss="sparse_categorical_crossentropy",optimizer=keras.optimizers.SGD(learning_rate=0.005),metrics=["accuracy"])

5、模型训练

history=model.fit(X_train,y_train,epochs=30,validation_data=(x_valid,y_valid))

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值