当前位置: 首页 > article >正文

AI学习笔记二

一NumPy库1定义NumPy 是 Python 科学计算的核心库专为多维数组ndarray设计比 Python 原生列表快 10~100 倍是数据分析、机器学习、深度学习的基础。2基础代码示例import numpy as np arr1 np.array([1, 2, 3, 4]) arr2 np.array([[1,2], [3,4]]) print(数组形状, arr1.shape) # (行数, 列数) print(数组维度, arr1.ndim) # 维度数 print(元素类型, arr1.dtype) # 元素数据类型 print(元素总数, arr1.size) # 总元素个数 print(**************************************************) print(数组形状, arr2.shape) # (行数, 列数) print(数组维度, arr2.ndim) # 维度数 print(元素类型, arr2.dtype) # 元素数据类型 print(元素总数, arr2.size) # 总元素个数3数组创建import numpy as np # 1. 全 0 数组 print(np.zeros((2, 3))) # 2行3列全0 # 2. 全 1 数组 print(np.ones((3, 2))) # 3行2列全1 # 3. 固定值数组 print(np.full((2,2), 5)) # 2x2所有元素5 # 4. 等差数组最常用 print(np.arange(0, 10, 2) )# 0到9步长2 → [0 2 4 6 8] # 5. 均分数组指定元素个数 print(np.linspace(0, 10, 5) )# 0-10均分5个点 → [0,2.5,5,7.5,10] # 6. 单位矩阵 print(np.eye(3)) # 3x3单位矩阵[[0. 0. 0.] [0. 0. 0.]] ************************************** [[1. 1.] [1. 1.] [1. 1.]] ************************************** [[5 5] [5 5]] ************************************** [0 2 4 6 8] ************************************** [ 0. 2.5 5. 7.5 10. ] ************************************** [[1. 0. 0.] [0. 1. 0.] [0. 0. 1.]]4数组索引与切片import numpy as np arr np.array([10,20,30,40,50]) print(arr[0]) # 取第1个元素 →10 print(arr[-1]) # 取最后1个 →50 print(arr[1:4]) # 切片 索引1~3 →[20 30 40] print(************************************************) arr np.array([[1,2,3], [4,5,6], [7,8,9]]) # 取单个元素 print(arr[1, 2]) # 第2行、第3列 →6 # 取整行 print(arr[0]) # 第1行 →[1 2 3] # 取整列 print(arr[:, 1]) # 所有行、第2列 →[2 5 8] # 取子矩阵切片 print(arr[0:2, 1:3]) # 前2行、第2-3列5数组操作形状修改、拼接、拆分import numpy as np arr np.arange(12) # 0~111维 # 改为 3行4列 arr2 arr.reshape(3,4) print(arr2) print(arr2.flatten() ) # 展平为1维 a np.array([[1,2], [3,4]]) b np.array([[5,6], [7,8]]) # 垂直拼接上下 print(np.vstack((a,b))) # 水平拼接左右 print(np.hstack((a,b))) arr np.arange(12).reshape(3,4) # 垂直拆分按行 print(np.vsplit(arr, 3)) # 水平拆分按列 print(np.hsplit(arr, 2))6矩阵点乘a np.array([[1,2], [3,4]]) b np.array([[5,6], [7,8]]) np.dot(a, b) # 矩阵点乘7轴方向运算arr np.array([[1,2],[3,4]]) arr.sum(axis0) # 按列求和 [4,6] arr.sum(axis1) # 按行求和 [3,7]二梯度下降法1原理梯度下降Gradient Descent是最常用的一阶优化算法核心目标沿着函数下降最快的方向一步步走到最小值点。其基本公式为xt1​xt​η⋅f(xt)要设置η以及迭代次数m当函数有多个变量时每次迭代对每个变量进行xt1​xt​η⋅f(xt)得到新方程。2梯度下降python代码实现import numpy as np import matplotlib.pyplot as plt from torchaudio.functional import pitch_shift # 举例用梯度下降求yx22x5的最小值 xnp.linspace(-6,4,100) yx**22*x5 plt.plot(x,y) plt.show() # 初始化xt步长以及迭代次数m x3 a0.8 m10 #y的导数是2x2 for i in range(m): xx-a*(2*x2) print(x)​从图看出我选定的随机点x为3位于最低点右侧所以要向左趋近同时可以看出步长a过小趋近最低点的迭代次数变多处理时间变长。如下图在迭代次数不变的情况下结果离正确值较远。当a过大结果将会发生震荡。3梯度下降求解线性回归问题其基本思路为先假设数据满足假设函数定义损失函数比如均方误差衡量预测有多准用梯度下降去更新 θ让损失最小这样就完成了简单的线性回归。首先在线性回归里假设函数Hypothesis Function就是你假设用来拟合数据的那个数学模型。其公式表达为其次代价函数 衡量预测值和真实值差多少的函数我们的目标就是让它最小代价函数最常用的是均方误差 MSE其中m为样本的数量。对代价函数求偏导的过程如下对θ变量进行梯度下降可以得到对于以上公式可以举例写出假设函数对θ进行初始化假设迭代100次每一次分别对θ变量进行梯度下降以θ0为例第一次迭代公式如图。4线性回归python代码实现import numpy as np import matplotlib.pyplot as plt def loaddata(): datanp.loadtxt(线性回归data.csv, delimiter,) ndata.shape[1] - 1 xdata[:, 0:n] ydata[:, -1].reshape(-1, 1) return x,y def G_Des(x,y,theta,iterations,alpha): cnp.ones(x.shape[0]).transpose() xnp.insert(x,0,valuesc,axis1) mx.shape[0] nx.shape[1] for num in range(iterations): for j in range(n): theta[j]theta[j](alpha/m)*np.sum((y-np.dot(x,theta))*x[:,j].reshape(-1,1)) return theta x,yloaddata() thetanp.zeros(x.shape[1]1).reshape(-1,1) iterations400 alpha0.01 thetaG_Des(x,y,theta,iterations,alpha) print(theta) plt.scatter(x,y) h_thetatheta[0]theta[1]*x plt.plot(x,h_theta) plt.show()5进行特征归一化提高模型准确率归一化 把所有特征的数据缩放到同一个尺度范围里。def featureNormalize(x): munp.average(x, axis0) sigmanp.std(x, axis0, ddof1) x(x-mu)/sigma return x,mu,sigma6计算损失函数def computeCost(x,y,theta): mx.shape[0] return np.sum(np.power(np.dot(x,theta)-y,2))/(2*m)7计算预测结果def predict(x): x np.array(x).reshape(-1, 1) c np.ones(x.shape[0]).T x np.insert(x, 0, valuesc, axis1) return np.dot(x, theta)可以看出预测结果与实际值差异不大。8梯度下降分类批量梯度下降随机梯度下降小批量梯度下降9模型评估指标1均方误差import numpy as np y_truenp.array([1,2,3,4,5]) y_prenp.array([5,6,7,8,9]) def mse(y_true, y_pre): return np.sum(np.power(y_true - y_pre, 2))/len(y_true) print(mse(y_true, y_pre))2均方根误差def rmse(y_true, y_pre): return np.sqrt(np.sum(np.power(y_true - y_pre, 2))/len(y_true)) print(rmse(y_true, y_pre))3平均绝对误差def mae(y_true, y_pre): return np.sum(np.abs(y_true-y_pre))/len(y_true) print(mae(y_true, y_pre))

相关文章:

AI学习笔记二

一,NumPy库1,定义NumPy 是 Python 科学计算的核心库,专为多维数组(ndarray) 设计,比 Python 原生列表快 10~100 倍,是数据分析、机器学习、深度学习的基础。2,基础代码示例import nu…...

PvZ Toolkit:3步解锁植物大战僵尸终极游戏增强工具,打造完全自定义体验

PvZ Toolkit:3步解锁植物大战僵尸终极游戏增强工具,打造完全自定义体验 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit 还在为植物大战僵尸的传统玩法感到乏味吗&#xff1f…...

适配新的gps模块,在Android系统中注意哪些问题

首先理解Android LocationManager与GNSS硬件适配深度涵盖LocationManager功能、GNSS芯片适配接口、文件系统依赖、调试实战四大模块,“LocationManager是Android定位服务的总入口,GNSS HAL层适配,从芯片驱动到Framework层回调,完整…...

MySQL函数及条件查询相关用法

文章目录 前言 一、函数(可跳过) 1.字符串函数 2.数值函数 3.日期和时间函数 4.聚合函数(常用) 5.控制流函数 6.加密和压缩函数 7.系统信息函数 二、条件查询(select) 1.筛选条件子句where与hav…...

LLM 怎么生成回答?揭秘“思考“过程

系列:大语言模型原理科普(5 篇) 本篇:第 3 篇 难度:⭐⭐ 零基础 浅显技术 字数:约 9500 字 阅读时间:20 分钟📖 开篇:你输入问题后,发生了什么? …...

面试“逆袭率”第一的秘密:让我为你细细阐述

报名前,我做足了功课。张永老师深耕贵州公考面试教学12年,这些年来,他带出的学员上岸率在业内是公认的。他教出的高分学员数量业内最高,这些实实在在的数据,远比“名师”两个字有说服力。真正让我服气的,是…...

GHelper:华硕笔记本的终极开源性能控制解决方案

GHelper:华硕笔记本的终极开源性能控制解决方案 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar, an…...

DREAM3D:革新材料科学数据处理的开源框架

DREAM3D:革新材料科学数据处理的开源框架 【免费下载链接】DREAM3D Data Analysis program and framework for materials science data analytics, based on the managing framework SIMPL framework. 项目地址: https://gitcode.com/gh_mirrors/dr/DREAM3D …...

在快马平台实战演练claude代码技能教程中的完整项目开发流程

今天想和大家分享一个特别实用的学习路径——如何通过InsCode(快马)平台将Claude代码技能教程中的知识转化为真实可运行的项目。最近我跟着教程完整实现了一个博客内容管理系统,整个过程比想象中顺畅很多。 项目规划与功能拆解 Claude教程中提到的博客系统包含8个…...

3步解锁音乐自由:NCMDump让NCM格式转换零门槛

3步解锁音乐自由:NCMDump让NCM格式转换零门槛 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 问题破局篇:被囚禁的音乐,你遇到过吗? 你是否经历过这些尴尬场景:下载了喜欢…...

实战指南:基于快马与腾讯云服务快速构建可商用直播互动网页

实战指南:基于快马与腾讯云服务快速构建可商用直播互动网页 最近在做一个直播互动网页项目,需要同时实现视频直播和即时聊天功能。经过一番摸索,发现用InsCode(快马)平台配合腾讯云服务可以快速搭建出可商用的解决方案。下面分享我的实战经验…...

Video2X完全指南:5个简单步骤让模糊视频变高清的AI魔法

Video2X完全指南:5个简单步骤让模糊视频变高清的AI魔法 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/vide…...

电力设施智能检测:TTPLA数据集赋能电网巡检自动化全流程指南

电力设施智能检测:TTPLA数据集赋能电网巡检自动化全流程指南 【免费下载链接】ttpla_dataset aerial images dataset on transmission towers and power lines 项目地址: https://gitcode.com/gh_mirrors/tt/ttpla_dataset 在电力行业数字化转型进程中&…...

Kazumi:开源动漫聚合工具如何重塑你的追番体验

Kazumi:开源动漫聚合工具如何重塑你的追番体验 【免费下载链接】Kazumi 基于自定义规则的番剧采集APP,支持流媒体在线观看,支持弹幕,支持实时超分辨率。 项目地址: https://gitcode.com/gh_mirrors/ka/Kazumi 在数字娱乐爆…...

Java 并发编程封神!从入门到精通,面试再也不怕被问爆

目录 synchronized 支持重入吗?如何实现的? syncronized锁升级的过程讲一下 JVM对Synchornized的优化? 介绍一下AQS CAS 和 AQS 有什么关系? 如何用 AQS 实现一个可重入的公平锁? Threadlocal作用,原理&#x…...

(论文速读)AFSS :防遗忘采样策略

论文题目:Does YOLO Really Need to See Every Training Image in Every Epoch?(YOLO真的需要查看每个epoch的每个训练图像吗?)会议:CVPR2026摘要:YOLO检测器以其快速的推理速度而闻名,但是训练它们仍然非…...

零基础玩转CentOS:快马AI生成新手友好型系统管理教程

作为一个Linux新手,第一次接触CentOS系统确实有点手足无措。记得我刚安装完CentOS 8最小化系统时,面对那个黑乎乎的终端界面,完全不知道从哪里开始配置。好在最近发现了InsCode(快马)平台,它生成的CentOS入门教程特别适合我这样的…...

go语言里面实现并发安全扣减库存的几种方式

一、基本数据准备 1、数据表的创建 -- ---------------- -- 库存表 -- ---------------- DROP TABLE IF EXISTS inventory; CREATE TABLE inventory (id int NOT NULL AUTO_INCREMENT primary key COMMENT 主键id,goods_id int(11) default 1 comment 商品id,stocks int(11) de…...

基于RetinaFace的课堂考勤系统:人脸识别与数据分析

基于RetinaFace的课堂考勤系统:人脸识别与数据分析 1. 为什么传统点名方式正在被智能考勤替代 早上八点的教室里,老师站在讲台前翻着花名册,学生低头刷手机,后排有人悄悄把书包放在空座位上——这种场景在高校和职业院校并不少见…...

贾子科学定理(Kucius Science Theorem)的哲学批判与理论重构:从证伪主义到可持续运行的科学范式研究

贾子科学定理(Kucius Science Theorem)的哲学批判与理论重构:从证伪主义到可持续运行的科学范式研究1. 引言1.1 研究背景与问题提出当代科学哲学正处于深刻的范式转换期。传统的波普尔证伪主义面临着前所未有的理论困境和实践挑战&#xff0c…...

终端设备可靠性检测报告:读懂设备耐用密码

日常使用手机、智能手表、家用路由器等终端设备时,我们总希望它“扛造耐用”,不轻易出故障。这份终端设备可靠性检测报告,就用通俗的话拆解设备耐用的核心密码,让大家明白,一台靠谱的设备,背后都经过了哪些…...

HsMod:55+创新功能重新定义炉石传说体验

HsMod:55创新功能重新定义炉石传说体验 【免费下载链接】HsMod Hearthstone Modification Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod 🌟 项目核心价值概述 HsMod作为基于BepInEx框架的炉石传说模改插件&#xf…...

统计数据时,sql执行超时,如何处理

在工作中,除了开发,有时还需要做一些数据统计。 统计数据时,sql执行超时。 可以通过以下手段处理。 一、优化sql 首先,通过 EXPLAIN 查看执行计划,看有没有走索引,能加索引的加索引,没有走索引…...

windows系统部署funrec项目:安装WSL2

注意:WSL系统与Windows系统环境是完全隔离开的,只有代码文件可以互通 windows的anaconda、python、uv、torch、tensorflow等,WSL都不能用,都需要另外安装 WSL 可以访问 Windows 的项目文件(比如 /mnt/d/MyProject/……...

突破性方案:智能引擎助力黑苹果EFI自动生成

突破性方案:智能引擎助力黑苹果EFI自动生成 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 你是否曾在深夜对着满屏的ACPI补丁代码感到迷茫…...

C++ 子数组位运算结果 题型

或运算 898. 子数组按位或操作 - 力扣(LeetCode) 我们直接看题,意思很明显,就是找出所有子数组,然后将子数组各个数相或得到的结果有多少个不同。 这里我们首先想到的就是直接把所有子数组求出来在或起来&#xff0c…...

网站SEO推广需要多少钱_如何选择合适的网站 SEO 推广服务商

网站SEO推广需要多少钱_如何选择合适的网站 SEO 推广服务商 一、了解网站SEO推广的基本概念 在当今的数字时代,网站SEO推广(Search Engine Optimization,搜索引擎优化)已成为任何企业在互联网上获得流量和客户的关键手段之一。S…...

基于下垂控制的光储直流微电网模型 1.模型由光伏和储能以及直流负载组成 2.光伏采用扰动观测法...

基于下垂控制的光储直流微电网模型1.模型由光伏和储能以及直流负载组成 2.光伏采用扰动观测法实现最大功率输出,储能刚开始采用恒定电压控制,电压稳定在额定电压附近,2s之后采用下垂控制,母线电压降低,达到目标光伏板在…...

如何处理Java LocalDateTime与Oracle TIMESTAMP WITH TIME ZONE的时区对应

根本原因是LocalDateTime无时区信息,JDBC驱动按JVM时区(如Asia/Shanghai)将其解释为带偏移时间点;存UTC时间须用localDateTime.atZone(ZoneOffset.UTC).toOffsetDateTime()显式指定偏移。Oracle插入时TIMESTAMP WITH TIME ZONE字段…...

CSS移动端解决阴影遮挡效果_利用box-shadow设置外扩散距离

box-shadow外扩散失效主因是父容器overflow隐藏、层叠上下文触发或参数误设;需检查overflow/transform/filter影响,用translateZ(0)强制分层,伪元素移出阴影,合理组合inset与外扩,并控制扩散距离≤8px。box-shadow 外扩…...