算法小白的第一次尝试----tensorflow 2.0处理同心圆数据

MATLAB自定义数据集_圆形数据集生成 大概图像如下 其中c1,c2,c3为三个不同的类别,生成数据位于圆内。 实现 代码中考虑了均匀分布以及高斯分布,代码如下 %% 生成圆形点参数 clear; clc; type = 'gaussian'; % uniform sigma = 0.6; % var for guassian p = [1, 2, 3; 1, 3, 1]; % ... 阅读详情
import tensorflow as tf
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt

#数据载入(参考北大公开课--曹老师)
df = pd.read_csv('./dot.csv')
x_data = df[['x1','x2']]
y_data = df['y_c']
#转为numpy数组|
x_data = np.array(x_data)
y_data = np.array(y_data).reshape(-1,1)
#数据类型转化
x_train = tf.cast(x_data,dtype = tf.float32)
y_train = tf.cast(y_data,dtype = tf.float32)
#绘图时采用标记点color
y_c = [['red' if y else 'blue'] for y in y_train]
#数据拼接
traindb = tf.data.Dataset.from_tensor_slices((x_train,y_train)).batch(32)

#模型训练
lr = 0.005 #初始学习率
epochs = 2000 #迭代次数
regularize = 0.03 #正则化因子
#神经网络模型,输入层为n*2,第一层为2*20,第二层为20*10,输出层为10*1,且第一层与第二层之间增加激活函数,第二层与输出层之间增加激活函数
#第一层
w1 = tf.Variable(tf.random.truncated_normal([2,20],dtype = tf.float32))
b1 = tf.Variable(tf.random.truncated_normal([20],dtype = tf.float32))
#第二层
w2 = tf.Variable(tf.random.truncated_normal([20,10],dtype = tf.float32))
b2 = tf.Variable(tf.random.truncated_normal([10],dtype = tf.float32))
#第三层
w3 = tf.Variable(tf.random.truncated_normal([10,1],dtype = tf.float32))
b3 = tf.Variable(tf.random.truncated_normal([1],dtype = tf.float32))

#统计loss随epoch变化
loss_all = []
for epoch in range(epochs):
    for step,(x_train,y_train) in enumerate(traindb):
        with tf.GradientTape() as tape:
            h1 = tf.matmul(x_train,w1) + b1
            h1 = tf.nn.relu(h1)
            h2 = tf.matmul(h1,w2) + b2
            h2 = tf.nn.relu(h2)
            y = tf.matmul(h2,w3) + b3
            loss_mse = tf.reduce_mean(tf.square(y - y_train))
            
            #计算正则化
            loss_regularization = []
            loss_regularization.append(tf.nn.l2_loss(w1))
            loss_regularization.append(tf.nn.l2_loss(w2))
            loss_regularization.append(tf.nn.l2_loss(w3))
            
            loss_regularization = tf.reduce_sum(loss_regularization)
            loss = loss_mse + regularize * loss_regularization
            
        #计算loss对各个参数的梯度
        variables = [w1,b1,w2,b2,w3,b3]
        grads = tape.gradient(loss,variables)
        
        #更新参数
        w1.assign_sub(lr * grads[0])
        b1.assign_sub(lr * grads[1])
        w2.assign_sub(lr * grads[2])
        b2.assign_sub(lr * grads[3])
        w3.assign_sub(lr * grads[4])
        b3.assign_sub(lr * grads[5])

    if(epoch % 20 ==0):
        loss_all.append(loss)
        print('epoch: ',epoch,'lr: ',lr,'loss: ',float(loss))

#模型测试
# 生成测试网格点数据
xx,yy = np.mgrid[-3:3:.04,-3:3:.04]
testdb = tf.cast(np.c_[xx.ravel(),yy.ravel()],dtype = tf.float32)

# probs添加predict值
probs = []
for test in testdb:
    h1 = tf.matmul([test],w1) + b1
    h1 = tf.nn.relu(h1)
    h2 = tf.matmul(h1,w2) + b2
    h2 = tf.nn.relu(h2)
    y = tf.matmul(h2,w3) + b3
    probs.append(y)
    
probs = np.array(probs).reshape(xx.shape)

#绘制结果
x1 = x_data[:,0]
x2 = x_data[:,1]
plt.scatter(x1,x2,color = np.squeeze(y_c))
contour = plt.contour(xx,yy,probs,levels=[.5])
plt.clabel(contour,fontsize=10,colors='black')
plt.show()

在这里插入图片描述
在这里插入图片描述


from sklearn import datasets as datasets
import matplotlib.pyplot as plt
from sklearn.datasets import make_circles

x, y = make_circles(n_samples=15000, shuffle=True, 
                    noise=0.03, random_state=None, factor=0.6)
plt.scatter(x[:,0], x[:,1], c=y, s=7)
plt.show()

在这里插入图片描述

同样的代码处理结果如下图所示:

在这里插入图片描述

半监督学习3大核心假设解析:平滑、聚类、流形假设与5个算法实现 本文深入解析半监督学习的三大核心假设——平滑假设、聚类假设和流形假设,并提供了5种算法实现,包括标签传播、自训练、半监督SVM等。通过理论结合实践,帮助开发者在标注数据稀缺的情况下,有效利用无标注数据提升模型性能,适用于医疗影像、自然语言处理等多个领域。 阅读详情

相关推荐

机器学习游戏化教学:用交互仿真构建模型直觉

机器学习建模直觉并非天生,而是源于对模型行为的可感知、可干预、可验证的认知积累。其核心原理在于将抽象的优化过程(如梯度更新、决策边界演化、超参数影响)转化为视觉化、即时反馈的交互体验,从而跨越‘知道概念’到‘预判行为’的关键断层。这种技术价值体现在显著缩短调试周期、降低试错成本、强化因果推理能力,广泛应用于AI教学演示、工程师快速原型验证、以及产线模型故障预演等场景。本文聚焦交互式仿真与即时反馈两大核心机制,拆解如何通过决策边界可视化、超参数热力图、架构沙盒与故障擂台四大模块,系统性培养真实项目所需的建模手

355

机器学习之数据降维

数据降维:减少特征数量 一、特征选择 1、特征选择原因 冗余:部分特征相关度高,容易消耗计算性能 噪声:部分特征对预测结果由影响 2、特征选择是什么 特征选择就是单纯地从提取到地所有特征中选择部分特征作为训练集特征 主要方法: Filter(过滤式):VarianceThreshold(方差) Embedded(嵌入式):正则化、决策树 Wrapper(包裹式) sklearn.featur...

Dear_leslie的博客 884

Seance Protocol:轻量二进制协议实现跨设备动作数据语义对齐

动作捕捉系统的核心挑战在于多源异构数据的统一表达与语义互通。传统方案依赖复杂中间件或全栈模型,导致采集、姿态估计与业务逻辑深度耦合,难以适配从树莓派到iPhone的广谱硬件。Seance Protocol v2以极简二进制协议(HEADER+TIMESTAMP+PAYLOAD)为枢纽,通过schema_id动态约定数据语义,实现模块解耦与协议缝合。该设计支撑低延迟实时处理、跨平台姿态坐标系对齐、以及面向非专业用户的零配置可视化调试,已在康复训练、体育教学和智能硬件原型等场景落地验证。

weixin_34122810的博客 408

支持向量机SVM(三):实例讲解

Libsvm是台湾大学林智仁(Lin Chih-Jen)教授等人开发设计的一个简单、易于使用和快速有效的英文的SVM库,它提供了大量SVM的底层计算和参数选择,也是sklearn的众多类背后所调用的库。注意,除了特别表明是线性的两个类LinearSVC和LinearSVR之外,其他的所有类都是同时支持线性和非线性的。为了减少调参的麻烦,在数据进入SVM前最好做好数据平衡,这样你就不需要调整C和class_weight,可以使用的办法有上采样和下采样。tol是迭代的容忍错误,放在最后调整。

qq_42928743的博客 2208

Kaggle实战如何打造高通过率数据科学简历

数据科学简历的本质是能力可信化表达,而非经历罗列。其核心原理在于将抽象技术能力转化为招聘方可验证、可横向对比的客观证据。Kaggle作为全球公认的能力公信平台,通过公开排行榜、可复现Notebook、社区互动等机制,天然支撑了从问题定义、特征工程、模型调优到业务解读的完整AI实践闭环。这种结构化能力呈现,显著提升简历在HR初筛(6–8秒决策)与技术终面中的专业可信度。典型应用场景包括转行求职、中级晋升、项目深度证明等,尤其适用于缺乏大厂背书但具备扎实Kaggle实战经验的候选人。

weixin_30697239的博客 421

无线信号传播建模与网络优化:从路径损耗到克里金插值

无线信号传播模型是通信网络规划与优化的基础,它描述了信号强度随距离和环境变化的衰减规律。其核心原理通常基于电磁波传播理论,如对数距离路径损耗模型,通过路径损耗指数等关键参数刻画大尺度衰落。该模型的技术价值在于能够将复杂的物理传播过程抽象为可计算的数学形式,为网络覆盖预测和性能评估提供理论框架。在实际工程中,由于环境复杂性(如墙体遮挡、多径效应),纯理论模型往往存在偏差,因此常需结合实测数据进行参数校准与空间修正。应用场景广泛,包括室内Wi-Fi部署、蜂窝网络规划、物联网节点定位等。本文以数学建模竞赛题为背景

weixin_30595035的博客 324

如何使用Sklearn生成自己的数据集

使用Sklearn生成数据集1.生成符合正态分布的聚类数据2.生成同心圆样本点3.生成模拟分类数据集4.生成太极型非凸集样本点5.同心圆形样本点6.生成二进制分类数据 1.生成符合正态分布的聚类数据 import matplotlib.pyplot as plt from sklearn.datasets import make_blobs x, y = make_blobs(n_samples...

壮壮不太胖的学习笔记 7334

图卷积网络(GCN)如何提升交通流预测精度

交通流预测本质上是时空联合建模问题,其核心挑战在于同时刻画时间动态性与空间依赖性。传统时间序列模型(如LSTM、ARIMA)仅关注单点历史,忽视路口间的物理连接关系;而图结构天然适配路网拓扑——节点为监测点,边为道路连通性。Graph Convolutional Networks(GCN)通过邻接矩阵引导信息聚合,使模型具备‘空间感知’能力;再耦合TCN或注意力机制处理时序演化,形成STGCN类架构。该范式显著提升早高峰车速预测精度(MAE降低超50%),并在突发拥堵响应、跨路口协同推理等场景展现工程优势。

图灵教育官方博客 472

L2正则化原理与实战:抑制过拟合的数学杠杆

在机器学习中,过拟合是模型泛化能力下降的核心问题,其本质是模型复杂度远超数据信息量所导致的权重震荡与噪声捕获。L2正则化(即权重衰减)通过在损失函数中引入权重平方和项,以几何上‘圆形约束’的方式温和压缩参数空间,提升解的平滑性与稳定性。它不改变模型结构,却能显著改善验证性能,尤其适用于全连接网络、CNN及RNN等参数密集型模型。相比L1正则的稀疏诱导,L2更强调全局收缩与数值稳健性,且天然兼容标准化输入与主流优化器(如AdamW)。本文结合PyTorch weight_decay机制与Keras kerne

weixin_33851604的博客 412

AI治理不是贴标语,而是嵌入开发流程的硬性检查点

AI治理是保障人工智能系统安全、公平与可信运行的基础工程能力,其核心在于将抽象伦理原则转化为可测量、可干预、可追溯的技术动作。它源于对模型决策链路的风险识别,依托数据谱系追踪、动态阈值监控与跨职能共治机制,实现从‘事后补救’到‘事前校准’的范式升级。在医疗、金融、教育等强监管场景中,治理已不再只是合规要求,更是降低误判风险、提升用户信任、支撑商业可持续的关键技术杠杆。本文聚焦Auxane Boch提出的最小可行治理检查点(MVGC)、AI资产风险热力图与动态阈值看板三大实操方法,提供一套无需大平台、不依赖专

weixin_30631587的博客 367

梯度下降原理与实战:从数学本质到训练调优

梯度下降是监督学习模型优化的基础方法,其核心是利用损失函数对参数的偏导数(梯度)确定最速下降方向,通过迭代更新实现最小化目标。它源于微积分中的极值必要条件,在高维非线性场景下规避了解析解不可行的计算瓶颈,成为深度学习训练的事实标准。技术价值在于以局部信息驱动全局收敛,兼顾理论严谨性与工程可实现性。典型应用场景涵盖线性回归、神经网络训练及各类基于损失函数的参数优化任务。本文深入剖析梯度符号含义、学习率物理意义、批量大小对梯度噪声的影响,并结合手动推导、数值稳定性处理与可视化诊断,系统还原梯度下降从公式到可调试

weixin_33782386的博客 449

十大经典机器学习算法核心原理与Python实战:从线性回归到神经网络

机器学习作为人工智能的核心分支,旨在让计算机从数据中学习规律并做出预测或决策。其核心原理在于通过算法模型拟合数据的内在模式,从而实现自动化分析。从技术价值看,机器学习极大地提升了数据处理的效率和智能化水平,广泛应用于金融风控、医疗诊断、推荐系统等场景。本文聚焦于监督学习与无监督学习两大范式,系统梳理了包括线性回归、逻辑回归、决策树、随机森林、支持向量机、朴素贝叶斯、K-Means、DBSCAN、神经网络(MLP)和PCA在内的十大经典算法。通过结合Python的scikit-learn库进行代码实战,深入浅

weixin_34288121的博客 587

5.1 tensorflow2实现简单线性回归分析——python实战

带你全面理解简单线性回归分析,从零开始构建。 技术点:拟合优度检验、整体拟合效果的F检验、模型参数显著性T检验、置信区间估计、最小二乘法。 代码是从零开始构建。 感谢你的阅读,专栏文章持续更新,希望感兴趣的伙伴点个赞,关注不迷路!你的支持是我前进的动力! 深耕于机器学习算法、深度学习、数据分析等领域,希望我这微不足道的知识能帮到您。

炫云云 1635

吴恩达深度学习(神经网络)【中】:激活函数(有实验,多类别Softmax);Adam优化算法;反向传播具体计算过程;卷积层;非线性/线性、多项式回归、逻辑回归、神经网络

吴恩达深度学习(神经网络)【中】:激活函数(有实验,多类别Softmax);Adam优化算法;反向传播具体计算过程;卷积层;非线性/线性、多项式回归、逻辑回归、神经网络

weixin_54966200的博客 285

人脸识别的TensorFlow源代码

机器学习课程中,人脸识别项目的TensorFlow源代码,仿照cifar10实现,包含数据可以直接运行。根据已有的人脸数据和身份标签训练卷积神经网络,在测试时输入新图片,输出身份信息。

k-means同心圆的聚类代码

对于同心圆以及近似同心圆的聚类方法,适合于聚类进阶学习 对于同心圆以及近似同心圆的聚类方法,适合于聚类进阶学习 对于同心圆以及近似同心圆的聚类方法,适合于聚类进阶学习

Python机器学习:从零基础到项目实战

当您翻开此书,您正踏入一场数据与智慧的修行。机器学习,并非冰冷的符码,而是机器模拟人类洞察世界的法门。本书将带您,以Python为舟,泛游于算法之海。我们不只传授“术”,更探求其后的“道”——从数据的生灭流转中观照规律,于模型的迭代演进里体悟得失。愿您合上书卷时,收获的不仅是驾驭数据的技能,更有一双洞悉复杂、化繁为简的“智慧之眼”。现在,让我们一同启程。

YunWisdom 972

SSE消息推送避坑指南:从Chrome兼容性到Spring超时配置

本文深入探讨了在Java Spring Boot项目中实现SSE消息推送时,从浏览器兼容性到后端配置的完整避坑指南。针对Chrome并发连接限制、Safari自动断开、Nginx代理缓冲以及Spring SseEmitter内存泄漏与超时管理等生产环境常见问题,提供了具体的解决方案和最佳实践配置,帮助开发者构建稳定可靠的实时推送系统。

work3的博客 452

Tensorflow调用facenet的mtcnn实现实时检测人脸功能

import cv2 import tensorflow as tf import align.detect_face def test(): video = cv2.VideoCapture(1) print('Creating networks and loading parameters') with tf.Graph().as_default(): ...

熊大的博客 1436

使用 AFL++ 对 IoT 二进制文件进行模糊测试 - 第一部分

American fuzzy lop 是一款面向安全的模糊测试器,它采用一种新型的编译时插桩和遗传算法,可以自动发现干净、有趣的测试用例,从而触发目标二进制文件中新的内部状态。这显著提高了模糊测试代码的功能覆盖率。AFL 的地址是它已经有一段时间没有更新了。虽然 AFL 仍然运行良好,但有一个新项目 AFL++,它是 AFL 的一个分支,包含许多改进和新功能。AFL++ 的地址是,其源代码位于。在本文中,我们将研究如何使用 AFL++ 对 IoT 二进制文件进行模糊测试。

技术超强的网络安全平台 1091

Windows10 使用Apple Studio Display显示器的设置

AppleStudioDisplay显示器购买花了近1.5wRMB,由于为windows台式机,显卡为NVIDAGTX-1660,而AppleStudioDisplay只有雷电接口,尝试了很多种转接方式,均以失败告终,最终使用贝尔金VR线成功,,附图如下这边也测试过NVIDARTX-2060Super、NVIDAGTX-1650显卡,都是能点亮的,NVIDA1650存在关机重启后黑屏,不稳定现象,2060也存在关机重启后不亮现象,后面发现1660s很稳定。...

爱意随风起,人生不可弃。 1万+
上一篇: 算法小白的第一次尝试---tensorflow2.0实战iris
下一篇: tensorflow2.0--mnist数据集百度网盘下载链接
小糖宝
博客等级 码龄9年 47粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值