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

神经网络基础-神经网络补充概念-11-向量化逻辑回归

概念

通过使用 NumPy 数组来进行矩阵运算,将循环操作向量化。
向量化的好处在于它可以同时处理多个样本,从而加速计算过程。在实际应用中,尤其是处理大规模数据集时,向量化可以显著提高代码的效率。

代码实现-以逻辑回归为例

import numpy as npdef sigmoid(z):return 1 / (1 + np.exp(-z))def compute_loss(X, y, theta):m = len(y)h = sigmoid(X.dot(theta))loss = (-1/m) * np.sum(y * np.log(h) + (1 - y) * np.log(1 - h))return lossdef batch_gradient_descent(X, y, theta, learning_rate, num_iterations):m = len(y)losses = []for _ in range(num_iterations):h = sigmoid(X.dot(theta))gradient = X.T.dot(h - y) / mtheta -= learning_rate * gradientloss = compute_loss(X, y, theta)losses.append(loss)return theta, losses# 生成一些模拟数据
np.random.seed(42)
m = 100
n = 2
X = np.random.randn(m, n)
X = np.hstack((np.ones((m, 1)), X))
theta_true = np.array([1, 2, 3])
y = (X.dot(theta_true) + np.random.randn(m) * 0.2) > 0# 初始化参数和超参数
theta = np.zeros(X.shape[1])
learning_rate = 0.01
num_iterations = 1000# 执行批量梯度下降(向量化)
theta_optimized, losses = batch_gradient_descent(X, y, theta, learning_rate, num_iterations)# 打印优化后的参数
print("优化后的参数:", theta_optimized)# 绘制损失函数下降曲线
import matplotlib.pyplot as plt
plt.plot(losses)
plt.xlabel('迭代次数')
plt.ylabel('损失')
plt.title('损失函数下降曲线')
plt.show()
http://www.lryc.cn/news/125143.html

相关文章:

  • openGauss学习笔记-40 openGauss 高级数据管理-锁
  • 勘探开发人工智能技术:机器学习(6)
  • 代理类型中的 HTTP、HTTPS 和 SOCKS 有什么区别?
  • 【STM32RT-Thread零基础入门】 3. PIN设备(GPIO)的使用
  • fiddler抓包工具的用法以及抓取手机报文定位bug
  • spring中时间格式化的两种方式
  • 【设计模式】原型模式
  • Matlab的Filter Designer工具设计二阶低通滤波器
  • 软件测试基础篇——LAMP环境搭建
  • 使用dom4j将xml转为String并去掉所有格式
  • wsl2安装docker引擎(Install Docker Engine on Debian)
  • 百日筑基篇——python爬虫学习(一)
  • 【Spring专题】Spring之底层架构核心概念解析
  • electron 使用node C++插件 node-gyp
  • 学习Vue:使用条件渲染指令(v-if,v-else,v-show)
  • 【图像去噪的滤波器】非局部均值滤波器的实现,用于鲁棒的图像去噪研究(Matlab代码实现)
  • Redis辅助功能
  • 快手商品详情数据API 抓取快手商品价格、销量、库存、sku信息
  • linux系统部署jenkins详细教程
  • Arduino驱动BME680环境传感器(环境传感器篇)
  • 领航未来!探索开源无人机与5G组网的前沿技术
  • 分布式事务CAP与BASE简介
  • Integer中缓存池讲解
  • PHP Smarty模板如何与MVC框架集成?
  • spring cloud alibaba 应用无法注册到sentinel dashboard
  • 如何在vue3中加入markdown语法
  • R语言的物种气候生态位动态量化与分布特征模拟实践技术
  • 大数据Flink(六十一):Flink流处理程序流程和项目准备
  • C语言快速回顾(一)
  • Element Plus报错:ResizeObserver loop completed with undelivered notifications.