Tensorflow实现k-means

这篇博客介绍了如何使用Tensorflow实现k-means聚类算法。通过简化和调整Building Machinery Learning on Tensorflow中的程序,生成一个人工数据集,利用tf.unsorted_segment_sum函数进行数据分割求和,结合矩阵批量运算计算距离,并用tf.control_dependencies控制op运行顺序确保类中心稳定后进行更新。此外,还展示了如何在训练过程中内建画图函数,实时显示迭代结果,使得在有限的迭代次数下即可达到收敛。
摘要由CSDN通过智能技术生成

Tensorflow实现k-means

tensorflow实现k-means聚类算法,主要参考是的buliding Maninery Learning on Tensorflow的程序,我稍微简化了一下,并对结构做了调整,看起来更加整洁紧凑。tf构建这样的算法要比直接使用numpy复杂一些,而且不是很直观,但是关于tf的一些小的函数和技巧可以从中学习到。

首先生成一个人工的数据集,这样比较好观察结果。

import tensorflow as tf
import matplotlib.pyplot as plt
import numpy as np

from sklearn.datasets.samples_generator import make_blobs
from sklearn.datasets.samples_generator import make_circles

K = 4 # 类别数目
MAX_ITERS = 1000 # 最大迭代次数
N = 200 # 样本点数目

centers = [[-2, -2], [-2, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值