深度学习第4天:感知机模型

简介: 深度学习第4天:感知机模型



感知机模型介绍

感知机是一种很简单的二分类模型,给它一组特征,它输出是或者否

神经网络搭建感知机

在这一节中,我们使用Keras来搭建神经网络,Keras是一个python的深度学习框架

本节我们创建一个简单的判断输入是正数还是负数的感知机模型

结构

在神经网络中,感知机就是一个只有一个输入层,一个输出层的神经网络,我们使用Keras库来定义它

from keras.models import Sequential
from keras.layers import Dense
 
 
model = Sequential([
    Dense(1, activation='sigmoid')
])

可以看到非常简单

准备训练数据

因为任务非常简单,所以我们只用一小部分数据进行训练

# 创建随机输入数据和目标数据
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(loss='mse', optimizer='sgd')
# 训练模型
model.fit(input_data, target_data, epochs=1000)

测试结果

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("负数")

在这个代码中,我们输入三个数据,1,98和-17,之后是对输出结果进行处理:如果模型输出的数据大于0.5,那就判断为正数,否则判断为负数,我们看看运行结果

完整代码

我们再来回顾完整代码,这个代码用一个感知机模型完成了判断数字正负的任务

  • 先导入所需要的库
  • 再定义一个感知机神经网络
  • 接着准备训练数据
  • 选择模型的损失函数与优化器
  • 最后训练模型并进行效果检测
from keras.models import Sequential
from keras.layers import Dense
import numpy as np
 
 
# 定义模型
model = Sequential([
    Dense(1, activation='sigmoid')
])
 
# 创建随机输入数据和目标数据
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(loss='mse', optimizer='sgd')
# 训练模型
model.fit(input_data, target_data, epochs=1000)
 
# 效果检测
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("负数")

多层感知机

多层感知机是在感知机的基础上多了一个或多个隐藏层,同时加入了一些激活函数,隐藏层与激活函数使得多层感知机能够处理更加复杂的问题,非线性分类,多分类等

结语

以我的理解,单层感知机和多层感知机都只是形式化了的模型的某种结构,在具体任务中,我们的模型架构将是灵活多变的,我们主要应该了解的是模型的某一部分的作用,以便我们在遇到问题时能搭建出对应的模型,跟着本专栏继续学习下去吧

感谢阅读,觉得有用的话就订阅下本专栏吧,有错误也欢迎指出

相关文章
|
8天前
|
机器学习/深度学习 算法框架/工具 数据库
使用Python实现深度学习模型:智能城市噪音监测与控制
使用Python实现深度学习模型:智能城市噪音监测与控制
25 1
|
18天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用Python实现深度学习模型:智能质量检测与控制
使用Python实现深度学习模型:智能质量检测与控制 【10月更文挑战第8天】
128 62
使用Python实现深度学习模型:智能质量检测与控制
|
4天前
|
机器学习/深度学习 数据采集 传感器
使用Python实现深度学习模型:智能土壤质量监测与管理
使用Python实现深度学习模型:智能土壤质量监测与管理
110 69
|
6天前
|
机器学习/深度学习 数据采集 存储
智能废水处理与监测的深度学习模型
智能废水处理与监测的深度学习模型
21 7
智能废水处理与监测的深度学习模型
|
15天前
|
机器学习/深度学习 TensorFlow 调度
使用Python实现深度学习模型:智能能源消耗预测与管理
使用Python实现深度学习模型:智能能源消耗预测与管理
115 30
|
3天前
|
机器学习/深度学习 数据采集 算法框架/工具
使用Python实现智能生态系统监测与保护的深度学习模型
使用Python实现智能生态系统监测与保护的深度学习模型
19 4
|
3天前
|
机器学习/深度学习 数据采集 人工智能
从零构建:深度学习模型的新手指南###
【10月更文挑战第21天】 本文将深入浅出地解析深度学习的核心概念,为初学者提供一条清晰的学习路径,涵盖从理论基础到实践应用的全过程。通过比喻和实例,让复杂概念变得易于理解,旨在帮助读者搭建起深度学习的知识框架,为进一步探索人工智能领域奠定坚实基础。 ###
14 3
|
3天前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
11 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
8天前
|
机器学习/深度学习 数据采集 传感器
使用Python实现深度学习模型:智能极端天气事件预测
使用Python实现深度学习模型:智能极端天气事件预测
37 3
|
8天前
|
机器学习/深度学习 数据采集 自然语言处理
如何使用深度学习模型来提高命名实体识别的准确率?
如何使用深度学习模型来提高命名实体识别的准确率?

热门文章

最新文章