【机器学习】——卷积与循环的交响曲:神经网络模型在现代科技中的协奏
🎼个人主页:【Y小夜】
😎作者简介:一位双非学校的大二学生,编程爱好者,
专注于基础和实战分享,欢迎私信咨询!
🎆入门专栏:🎇【MySQL,Java基础,Rust】
🎈热门专栏:🎊【Python,Javaweb,Vue框架】
感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️
学习推荐:
人工智能是一个涉及数学、计算机科学、数据科学、机器学习、神经网络等多个领域的交叉学科,其学习曲线相对陡峭,对初学者来说可能会有一定的挑战性。幸运的是,随着互联网教育资源的丰富,现在有大量优秀的在线平台和网站提供了丰富的人工智能学习材料,包括视频教程、互动课程、实战项目等,这些资源无疑为学习者打开了一扇通往人工智能世界的大门。
前些天发现了一个巨牛的人工智能学习网站:前言 – 人工智能教程通俗易懂,风趣幽默,忍不住分享一下给大家。
目录
🎯本文概述
🎯认识relu和tanh激活函数
💻可视化出relu和tanh函数,记住这两个函数的输出值范围
🎈代码解析
🎈运行结果
🎯掌握神经网络中的参数调节
💻创建多层感知机分类器模型
🎈代码解析
💻模型参数调节
🎈分别调整隐藏层节点数和层数并进行可视化,观察模型的变化,并输出模型评分
🎈调整激活函数为tanh函数并进行可视化,观察模型变化,并输出模型评分
🎈调整模型复杂度 调整alpha参数的值并进行可视化,观察模型变化,并输出模型评分
🎯本文概述
(一)理解神经网络算法的基本原理
(二)能够使用sklearn库进行神经网络模型的训练和预测
(三)理解激活函数的作用
(四)理解并学会调整hidden_layer_sizes、alpha、activation等参数
🎯认识relu和tanh激活函数
💻可视化出relu和tanh函数,记住这两个函数的输出值范围
🎈代码解析
import numpy as np
import matplotlib .pyplot as plt
line=np.linspace(-2,2,100)
plt.plot(line,np.maximum(line,0),label='relu',linestyle="-.")
plt.plot(line,np.tanh(line),label='tanh',linestyle="--")
plt.legend(loc='best')
plt.xlabel('x')
plt.ylabel('tanh(x) and relu(x)')
plt.show()
这段代码使用numpy和matplotlib库绘制了ReLU和tanh函数的图像。首先生成了一个从-2到2的等差数列line,然后分别计算了ReLU和tanh函数在line上的值,并使用plt.plot()函数将它们绘制在同一张图上。最后添加了图例、坐标轴标签和标题,并使用plt.show()函数显示图像。
🎈运行结果
🎯掌握神经网络中的参数调节
💻创建多层感知机分类器模型
利用skearn载入鸢尾花数据集,并进行训练集和测试集的划分,创建一个多层感知机MLPClassifier分类器,查看并了解该模型的各个参数,尤其是hidden_layer_sizes、alpha、activation、solver参数的作用。并对该模型进行可视化。
🎈代码解析
from sklearn.neural_network import MLPClassifier
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
iris=load_iris()
x=iris.data[:,:2]
y=iris.target
x_train,x_test,y_train,y_test=train_test_split(x,y,random_state=42)
mlp=MLPClassifier(solver='lbfgs')
mlp.fit(x_train,y_train)
这段代码使用sklearn库中的MLPClassifier类实现了一个多层感知机分类器,用于对鸢尾花数据集进行分类。首先导入了MLPClassifier、pandas和load_iris等模块,然后加载了鸢尾花数据集,并从中提取出前两个特征作为输入x和目标y。接着将数据集划分为训练集和测试集,并创建了一个MLPClassifier对象mlp,指定了求解器为'lbfgs'。最后使用fit()方法对训练集进行拟合。
#导入画图工具
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap
#以下绘图代码不要求读者掌握,暂不详细注释
cmap_light =ListedColormap(['#FFAFAA','#AAFFDA', '#FAAAFF'])
cmap_bold =ListedColormap(['#FF0OAA','#00FFOF', '#OFAOFF'])
x_min,x_max =x_train[:,0].min()-1,x_train[:,0].max()+1
y_min,y_max =x_train[:,1].min()-1,x_train[:,1].max()+1
xx,yy =np.meshgrid(np.arange(x_min,x_max,.02),
np.arange(y_min,y_max, .02))
Z=mlp.predict(np.c_[xx.ravel(),yy.ravel()])
Z =Z.reshape(xx.shape)
plt.figure()
plt.pcolormesh(xx,yy,Z,cmap=cmap_light)
#将数据特征用散点图表示出来
plt.scatter(x[:, 0],x[:,1], c=y,edgecolor='k',s=60)plt.xlim(xx.min(),xx.max())
plt.ylim(yy.min(),yy.max())
#设定图题
plt.title("MLPClassifier:solver=lbfgs")
#显示图形
plt.show()
这段代码是用于绘制一个多层感知机(MLP)分类器的决策边界。首先导入了绘图所需的库,然后定义了两种颜色映射。接着计算数据的最小值和最大值,生成网格点,并使用MLP分类器对网格点进行预测。最后,使用散点图表示数据特征,并显示图形。
🎈运行结果
💻模型参数调节
🎈分别调整隐藏层节点数和层数并进行可视化,观察模型的变化,并输出模型评分
#隐藏层节点数为20个
mlp_20=MLPClassifier(solver='lbfgs',hidden_layer_sizes=[20])
mlp_20.fit(x_train,y_train)
Z1=mlp_20.predict(np.c_[xx.ravel(),yy.ravel()])
Z1=Z1.reshape(xx.shape)
plt.figure()
plt.pcolormesh(xx,yy,Z1,cmap=cmap_light)
#使用散点图画出x
plt.scatter(x[:,0],x[:,1],c=y,edgecolor='k',s=60)
plt.xlim(xx.min(),xx.max())
plt.ylim(yy.min(),yy.max())
#设置图题
plt.title("MLPClassifier:nodes=10")
#显示图形
plt.show()
print('MLPClassifier:nodes=20 得分: {:.2f}8'.format(mlp_20.score(x_train,y_train)*100))
#两层,隐藏层节点数为20个mlp_2L=MLPClassifier(solver='lbfgs',hidden_layer_sizes=[20,20])
mlp_2L.fit(x_train,y_train)
Z1=mlp_2L.predict(np.c_[xx.ravel(),yy.ravel()])
Z1 =Z1.reshape(xx.shape)
plt.figure()
plt.pcolormesh(xx,yy,Z1,cmap=cmap_light)
#用散点图画出x
plt.scatter(x[:,0],x[:,1],c=y,edgecolor='k',s=60)
plt.xlim(xx.min(),xx.max())
plt.ylim(yy.min(),yy.max())
#设定图题
plt.title("MLPClassifier:2layers")
#显示图形
plt.show()
print('MLPClassifier:2layers 得分: {:.2f}%'.format(mlp_2L.score(x_train,y_train)*100))
🎈调整激活函数为tanh函数并进行可视化,观察模型变化,并输出模型评分
#设置激活函数为tanh
mlp_tanh=MLPClassifier(solver='lbfgs',hidden_layer_sizes=[20,20], activation= 'tanh')
mlp_tanh.fit(x_train,y_train)
#重新画图
Z2=mlp_tanh.predict(np.c_[xx.ravel(),yy.ravel()])
Z2 =Z2.reshape(xx.shape)
plt.figure()
plt.pcolormesh(xx,yy,Z2,cmap=cmap_light)
#散点图画出x
plt.scatter(x[:, 0],x[:,1],c=y,edgecolor='k', s=60)
plt.xlim(xx.min(),xx.max())
plt.ylim(yy.min(),yy.max())
#设置图题
plt.title("MLPClassifier:2layers with tanh")
#显示图形
plt.show()
print('MLPClassifier:2layers with tanh得分:{:.2f}%'.format(mlp_tanh.score(x_train,y_train)*100))
🎈调整模型复杂度 调整alpha参数的值并进行可视化,观察模型变化,并输出模型评分
#修改模型的alpha 参数
mlp_alpha=MLPClassifier(solver='lbfgs',hidden_layer_sizes=[20,20], activation='tanh',alpha=1)
mlp_alpha.fit(x_train,y_train)
#重新绘制图形
Z3=mlp_alpha.predict(np.c_[xx.ravel(),yy.ravel()])
Z3=Z3.reshape(xx.shape)
plt.figure()
plt.pcolormesh(xx,yy,Z3,cmap=cmap_light)
#散点图画出x
plt.scatter(x[:,0],x[:,1],c=y,edgecolor='k',s=60)
plt.xlim(xx.min(),xx.max())
plt.ylim(yy.min(),yy.max())
#设定图题
plt.title("MLPClassifier:alpha=1")
#显示图形
plt.show()
print('MLPClassifier:alpha=1 得分:{:.2f}%'.format(mlp_alpha.score(x_train,y_train)*100))
相关文章:

【机器学习】——卷积与循环的交响曲:神经网络模型在现代科技中的协奏
🎼个人主页:【Y小夜】 😎作者简介:一位双非学校的大二学生,编程爱好者, 专注于基础和实战分享,欢迎私信咨询! 🎆入门专栏:🎇【MySQL࿰…...

android studio引用so库
在工程中编译好的so库文件将在原始编译工程对应目录下:build/intermediates/cxx/Debug/xxxxxx/obj/ 其目录结构如上所示,包含生成的四个版本,每个文件夹下均包含c/c源码编译成的Android版本的libnavi.so库和提供应用接口的libnavi-lib.so库。…...

2024年信号处理与神经网络应用(SPNNA 2024)
会议官网:www.spnna.org 会议时间:2024年12月13-15日 会议地点:中国武汉...

wxWidgets-ImageView
wxWidgets实现图片浏览、放大缩小、另存为新的图片格式等 #include "wx/wxprec.h"#ifndef WX_PRECOMP#include "wx/wx.h" #endif#include "wx/filename.h" #include "wx/zstream.h"#include "imageviewctrl.h"class MyFrame…...

第1章-JVM和Java体系架构
虚拟机 虚拟机概念 所谓虚拟机(Virtual Machine),就是一台虚拟的计算机。它是一款软件,用来执行一系列虚拟计算机指令。大体上,虚拟机可以分为系统虚拟机和程序虚拟机。 大名鼎鼎的Virtual Box,VMware就属…...
windows 服务器角色
windows 服务器角色 Active Directory Rights Management Services Active Directory RightsManagement Services (AD RS)帮助保护信息,防止未授权使用。AD RMS 将建立用户标识,并为授权用户提供受保护信息的许可证。 ServicesActive Directory 联合身…...

[OpenHarmony5.0][Docker][环境]OpenHarmony5.0 Docker编译环境镜像下载以及使用方式
T. 已测试目录 主机类型主机版本Docker镜像版本结果WSL2Ubuntu22.04Ubuntu20.04PASSWSL2Ubuntu22.04Ubuntu18.04PASS R. 软硬件要求: 编译硬件需求:做多系统测试,磁盘500GB起步(固态)(机械会卡死),内存3…...

C#中判断两个 List<T> 的内容是否相等
ET实现游戏中邮件系统逻辑思路(服务端)_游戏邮件系统设计-CSDN博客 场景:今天遇到一个BUG,在服务器重启的时候(体验服),玩家之前接收的邮件又重新接收了一次,但是两封邮件的ID是不同…...
Linux环境下配置neo4j图数据库
1.下载安装包 openjdk-11.0.1_linux-x64_bin.tar.gz neo4j-community-4.2.19-unix.tar.gz 2.之前配置好的配置文件 neo4j.conf 3.安装 3.1-jdk11的安装(jdk1.8不够用) 解压缩 tar -zxvf openjdk-11.0.1_linux-x64_bin.tar.gz修改系统环境变量 打开pro…...
Windows 11 搭建 Docker 桌面版详细教程
在当今的软件开发与部署领域,Docker 已成为一项极为重要的容器化技术。它能够让开发者轻松地打包应用及其依赖项,实现跨环境的一致性运行,大大提高了开发效率与部署的便捷性。本教程将详细介绍在 Windows 11 操作系统上搭建 Docker 桌面版的具…...

Pytest-Bdd-Playwright 系列教程(13):钩子(hooks)
Pytest-Bdd-Playwright 系列教程(13):钩子(hooks) 前言一、什么是钩子?二、Pytest-Bdd 提供的钩子一览三、钩子用法详解1. pytest_bdd_before_scenario2. pytest_bdd_after_scenario3. pytest_bdd_before_s…...

dns 服务器简单介绍
dns 服务器分类: 根域名服务器顶级域名服务器权威域名服务器本地域名服务器 dns 的查询过程 国内优秀公共域名 腾讯:DNSPod-免费智能DNS解析服务商-电信_网通_教育网,智能DNS-烟台帝思普网络科技有限公司 119.29.29.29 和 182.254.118.118 阿里…...
Neo4j图形数据库-Cypher中常用指令
一、创建与修改 1.1 create 创建图数据库中的节点、关系等元素: CREATE (:Person {name: "Alice", age: 30}) CREATE (p1:Person {name: "Bob"})-[r:KNOWS]->(p2:Person {name: "Charlie"})批量创建元素 CREATE (n1:Node),(n2…...
linux安全管理-防火墙配置
1. 开启系统防火墙 1、检查内容 检查操作系统是否开启防火墙; 2、配置要求 操作系统开启防火墙; 3、配置方法 systemctl status firewalld ##查看系统防火墙运行状态 systemctl start firewalld ##启动防火墙 systemctl restart firewalld ##重启防火墙…...
什么是BIOS
BIOS(Basic Input/Output System,基本输入输出系统)是计算机启动过程中的一个关键组件,主要负责硬件的初始化和系统的引导。以下是关于 BIOS 的一些详细信息: 1. 基本功能 硬件初始化:当计算机启动时&…...

c++视频图像处理
打开视频或摄像头 打开指定视频 /*VideoCapture(const String &filename, apiPreference);filename:读取的视频或者图像序列的名称apiPreference:读取数据时设置的属性*/ VideoCapture video; //定义一个空的视频对象 video.open("H:/BaiduNetdiskDownlo…...

音视频入门基础:MPEG2-TS专题(8)——TS Header中的适配域
注:本文有部分内容引用了维基百科:https://zh.wikipedia.org/wiki/MPEG2-TS 一、引言 当TS Header中的adaptation_field_control属性的值为10或11 时,TS Header包含adaptation field(适配域): 根据《T-RE…...

基于stm32单片机的教室节能系统设计
功能描述 0. STM32F103C8T6单片机为控制核心 1. OLED液晶显示当前年 月 日 时 分 秒 星期 2. 按键可以设置定时时间 3. 按键可以设置用电开关的开启和关闭时间,实现设备的节能 4. 通过红外遥控可以打开关闭空调设备(通过继电器开关闭合模拟&#x…...
mini主机通过内网穿透做成服务器
文章目录 简介1.ubuntu 的ssh server 安装2.ubuntu 的docker 安装3.ubuntu的curl的安装4.ubuntu的frp客户端安装5.ubuntu的docker compose安装6.声明 简介 主要目的 本地设备做成服务器,实现ssh远程登录以及内网穿透设备总成本1千多元(其实部分设备可以…...

智能桥梁安全运行监测系统守护桥梁安全卫士
一、方案背景 桥梁作为交通基础设施中不可或缺的重要组成部分,其安全稳定的运行直接关联到广大人民群众的生命财产安全以及整个社会的稳定与和谐。桥梁不仅是连接两地的通道,更是经济发展和社会进步的重要纽带。为了确保桥梁的安全运行,桥梁安…...

7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...

基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...
基于鸿蒙(HarmonyOS5)的打车小程序
1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...