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

 

☁️主页 Nowl

🔥专栏《机器学习实战》 《机器学习》

📑君子坐而论道,少年起而行之 

文章目录

感知机模型介绍

神经网络搭建感知机

结构

准备训练数据

感知机的损失函数与优化方法

测试结果

完整代码

多层感知机

结语


感知机模型介绍

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

神经网络搭建感知机

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

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

结构

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

from keras.models import Sequential
from keras.layers import Densemodel = 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("负数")

多层感知机

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

结语

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/190032.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

优彩云采集器最新版免费下载,优彩云采集器免费

随着网络时代的发展,SEO(Search Engine Optimization,搜索引擎优化)已经成为网站推广和营销的关键一环。在SEO的世界里,原创内容的重要性愈发凸显。想要做到每天更新大量原创文章,并不是一件轻松的事情。优…

mybatis源码(五)springboot pagehelper实现查询分页

1、背景 springboot的pagehelper插件能够实现对mybatis查询的分页管理,而且在使用时只需要提前声明即可,不需要修改已有的查询语句。使用如下: 之前对这个功能一直很感兴趣,但是一直没完整看过,今天准备详细梳理下。按…

大数据湖项目建设方案:文档全文101页,附下载

关键词:大数据解决方案,数据湖解决方案,数据治理解决方案,数据中台解决方案 一、大数据湖建设思路 1、明确目标和定位:明确大数据湖的目标和定位是整个项目的基础,这可以帮助我们确定项目的内容、规模、所…

华为云SDK的全部Maven参考

文档原始地址:https://console.huaweicloud.com/apiexplorer/#/sdkcenter?OBS= 弹性云服务器 3.1.70 源码仓库包仓库 <dependency> <groupId>com.huaweicloud.sdk</groupId> <artifactId>huaweicloud-sdk-ecs</artifactId> <version>3…

C语言--每日选择题--Day32

如果大家对读研究生和就业不知道如何抉择&#xff0c;我的建议是看大家的经济基础&#xff0c;如果家里不是很需要你们工作&#xff0c;就读研提升自己的学历&#xff0c;反之就就业&#xff1b;毕竟经济基础决定上层建筑&#xff1b; 第一题 1. 下面代码的结果是&#xff1a;…

springsecurity的NullPointerException产生

springsecurity的NullPointerException产生 01 异常发生场景 当我使用springsecurity请求后端数据时 以下是报错代码 02 问题的产生原因 发生空指针异常&#xff0c;无非就几种 类对象没有初始化&#xff0c;地址默认为null指向的数据为空查找到的数据为空与数据类型冲突 …

最长连续递增序列

最长连续递增序列 描述 : 给定一个未经排序的整数数组&#xff0c;找到最长且 连续递增的子序列&#xff0c;并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r&#xff08;l < r&#xff09;确定&#xff0c;如果对于每个 l < i < r&#xff0c;都有 …

92基于matlab的引力搜索算法优化支持向量机(GSA-SVM)分类模型

基于matlab的引力搜索算法优化支持向量机&#xff08;GSA-SVM&#xff09;分类模型&#xff0c;以分类精度为优化目标优化SVM算法的参数c和g&#xff0c;输出分类可视化结果及适应度变化曲线。数据可更换自己的&#xff0c;程序已调通&#xff0c;可直接运行。 92 引力搜索算法…

《论文阅读》DualGATs:用于对话中情绪识别的双图注意力网络

《论文阅读》DualGATs:用于会话中情感识别的双图注意力网络 前言摘要模型架构DisGAT图构建图关系类型图节点更新SpkGAT图构建图关系类型图节点更新交互模块情绪预测损失函数问题前言 今天为大家带来的是《DualGATs: Dual Graph Attention Networks

数据结构 / 队列 / 循环队列 / 概念

1. 定义 为充分利用向量空间&#xff0c;克服假溢出现象的方法是&#xff1a;将向量空间想象为一个首尾相接的圆环&#xff0c;并称这种向量为循环向量。存储在其中的队列称为循环队列&#xff08;Circular Queue&#xff09;。循环队列是把顺序队列首尾相连&#xff0c;把存储…

如何下载IEEE出版社的Journal/Conference/Magazine的LaTeX/Word模板

当你准备撰写一篇学术论文或会议论文时&#xff0c;使用IEEE&#xff08;电气和电子工程师协会&#xff09;的LaTeX或Word模板是一种非常有效的方式&#xff0c;它可以帮助你确保你的文稿符合IEEE出版的要求。无论你是一名研究生生或一名资深学者&#xff0c;本教程将向你介绍如…

4.13 十进制/二进制转化器(C语言实现)

【题目描述】编写一个程序&#xff0c;将输入的十进制数转化为二进制表示。例如&#xff1a;输入十进制数64&#xff0c;输出二进制数1000000. 【代码实现】 // 十进制/二进制转化器 # include <stdio.h> int main() {int num;printf("Please input a number:"…

OpenTelemetry系列 - 第3篇 OpenTelemetry Collector

目录 一、介绍Collector二、安装Collector2.1 Docker方式2.2 Windows系统安装 三、配置Collector四、exporter配置4.1 导出到Skywalking4.1.1 导出metrics、logs4.1.2 通过zipkin导出traces到Skywalking 4.2 导出到Jaeger4.3 导出到zipkin4.4 导出到Prometheus4.4.1 Prometheus…

《LeetCode力扣练习》代码随想录——哈希表(四数相加II---Java)

《LeetCode力扣练习》代码随想录——哈希表&#xff08;四数相加II—Java&#xff09; 刷题思路来源于 代码随想录 454. 四数相加 II Map哈希表 class Solution {public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {if(nums1.length1&&num…

【报名】2023产业区块链生态日暨 FISCO BCOS 开源六周年生态大会

作为2023深圳国际金融科技节系列活动之一&#xff0c;由深圳市地方金融监督管理局指导&#xff0c;微众银行、金链盟主办的“2023产业区块链生态日暨FISCO BCOS开源六周年生态大会”将于12月15日下午14:00在深圳举办。 今年的盛会将进一步升级&#xff0c;以“FISCO BCOS和TA的…

20231202将RK3399的挖掘机开发板在Andorid12系统下编译ENG模式

20231202将RK3399的挖掘机开发板在Andorid12系统下编译ENG模式 2023/12/2 10:21 百度搜索&#xff1a;RK3399 编译 ENG版本 RK3399 lunch ENG Z:\rk_android12_220722\device\rockchip\rk3399\AndroidProducts.mk # # Copyright 2014 The Android Open-Source Project # # Lice…

Django的模板标签相关知识累

01-for标签 在Django模板中&#xff0c;for标签是一个用于循环迭代的重要标签。它的语法类似于Python中的for循环&#xff0c;但在Django模板中有一些特殊的用法。下面是关于Django模板标签for的详细介绍&#xff1a; 基本语法 {% for item in items %}{# 循环体 #}{{ item …

如何打绩效考核的大锅饭现象

大多企业都存在绩效考核的“大锅饭”现象。如何打破绩效考核的大锅饭现象&#xff1f;这个问题一直是人力资源管理者的难题。职能部门的工作任务繁杂&#xff0c;大多是事务性工作&#xff0c;没有明确的业务指标&#xff0c;工作业绩难以用数字来衡量&#xff0c;这些特点导致…

LuatOS-SOC接口文档(air780E)--rtos - RTOS底层操作库

rtos.receive(timeout) 接受并处理底层消息队列. 参数 传入值类型 解释 int 超时时长,通常是-1,永久等待 返回值 返回值类型 解释 msgid 如果是定时器消息,会返回定时器消息id及附加信息, 其他消息由底层决定,不向lua层进行任何保证. 例子 无 rtos.timer_start(id…

【Python-第三方库-OpenCV】随笔

随笔 理论 【1】 说明 image.shape释义&#xff1b;获取图像的属性&#xff08;信息&#xff09;&#xff1b;图像的属性包括&#xff1a;行&#xff0c;列&#xff0c;通道&#xff0c;图像数据类型&#xff0c;像素数目等&#xff1b; 正文A 在图像处理中&#xff0c;i…