个人网站设计模板,棋牌app开发价格表,wordpress实现语言,网站的域名☁️主页 Nowl
#x1f525;专栏《机器学习实战》 《机器学习》
#x1f4d1;君子坐而论道#xff0c;少年起而行之 文章目录
感知机模型介绍
神经网络搭建感知机
结构
准备训练数据
感知机的损失函数与优化方法
测试结果
完整代码
多层感知机
结语 感知机模…
☁️主页 Nowl
专栏《机器学习实战》 《机器学习》
君子坐而论道少年起而行之 文章目录
感知机模型介绍
神经网络搭建感知机
结构
准备训练数据
感知机的损失函数与优化方法
测试结果
完整代码
多层感知机
结语 感知机模型介绍 感知机是一种很简单的二分类模型给它一组特征它输出是或者否
神经网络搭建感知机
在这一节中我们使用Keras来搭建神经网络Keras是一个python的深度学习框架
本节我们创建一个简单的判断输入是正数还是负数的感知机模型
结构
在神经网络中感知机就是一个只有一个输入层一个输出层的神经网络我们使用Keras库来定义它 from keras.models import Sequential
from keras.layers import Densemodel Sequential([Dense(1, activationsigmoid)
]) 可以看到非常简单
准备训练数据
因为任务非常简单所以我们只用一小部分数据进行训练 # 创建随机输入数据和目标数据
input_data np.array([[1], [-5], [-3], [2], [7], [-2], [5], [-2], [-111], [234], [21], [-24]])
target_data np.array([[1], [0], [0], [1], [1], [0], [1], [0], [0], [1], [1], [0]]) 将输入数据转化为array这是Keras支持的输入格式不然可能会报错
损失函数与优化方法
我们定义损失函数为mse优化方法为随机梯度下降并训练模型1000个轮次 # 编译模型
model.compile(lossmse, optimizersgd)
# 训练模型
model.fit(input_data, target_data, epochs1000) 测试结果 data np.array([[1], [98], [-17]])prediction model(data)
for i in range(3):print(str(data[i][0])是, end)if prediction.numpy()[i][0] 0.5:print(正数)else:print(负数) 在这个代码中我们输入三个数据198和-17之后是对输出结果进行处理如果模型输出的数据大于0.5那就判断为正数否则判断为负数我们看看运行结果
完整代码
我们再来回顾完整代码这个代码用一个感知机模型完成了判断数字正负的任务
先导入所需要的库再定义一个感知机神经网络接着准备训练数据选择模型的损失函数与优化器最后训练模型并进行效果检测 from keras.models import Sequential
from keras.layers import Dense
import numpy as np# 定义模型
model Sequential([Dense(1, activationsigmoid)
])# 创建随机输入数据和目标数据
input_data np.array([[1], [-5], [-3], [2], [7], [-2], [5], [-2], [-111], [234], [21], [-24]])
target_data np.array([[1], [0], [0], [1], [1], [0], [1], [0], [0], [1], [1], [0]])# 编译模型
model.compile(lossmse, optimizersgd)
# 训练模型
model.fit(input_data, target_data, epochs1000)# 效果检测
data np.array([[1], [98], [-17]])prediction model(data)
for i in range(3):print(str(data[i][0])是, end)if prediction.numpy()[i][0] 0.5:print(正数)else:print(负数)多层感知机 多层感知机是在感知机的基础上多了一个或多个隐藏层同时加入了一些激活函数隐藏层与激活函数使得多层感知机能够处理更加复杂的问题非线性分类多分类等 结语 以我的理解单层感知机和多层感知机都只是形式化了的模型的某种结构在具体任务中我们的模型架构将是灵活多变的我们主要应该了解的是模型的某一部分的作用以便我们在遇到问题时能搭建出对应的模型跟着本专栏继续学习下去吧 感谢阅读觉得有用的话就订阅下本专栏吧有错误也欢迎指出