训练自己的ai模型(四)学习笔记与项目实操(什么也不懂,但有数据,怎么搞?无监督学习算法)

这篇具有很好参考价值的文章主要介绍了训练自己的ai模型(四)学习笔记与项目实操(什么也不懂,但有数据,怎么搞?无监督学习算法)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

很开心有人还在催更,有点小震惊吧。
(原来真有人在csdn发学习记录啊)
(原来真有人在csdn看学习记录啊)
ai模型方向的知识,我也在学习中,可能疑惑不比大家少。
直接开始!

一、为什么要用无监督学习算法

不管你的是什么数据,只要你有数据,你就可以试一试,跑一跑。
使用无监督学习算法
无监督学习算法可以从给定的数据中,推断出一些结论或模式,无需事先知道数据的标签或类别。这些算法的目标是发现数据中的内在结构、相似性、聚类或异常点等特征
个人理解就是,可以为了跑而跑

无监督学习算法的工作方式是通过分析数据中的统计属性、相似性度量或数据点之间的关系来进行推断。它们试图从数据本身中找到模式和规律,而不依赖于任何外部标签或类别信息。

另外,另一个原因是,无监督学习算法通常被认为比监督学习和强化学习算法更简单,(机器学习算法可以分为监督学习无监督学习强化学习三个主要类别。)因为它们不需要标签或反馈信号来指导学习过程。无监督学习算法主要关注发现数据中的模式、结构和相似性,而不涉及预测或决策。
(但难易总是相对的,机器学习算法的复杂性与问题的复杂性和目标密切相关。)

二、用无监督学习算法能做什么

这种类型的算法对于**数据探索(寻找数据规律)、特征提取(异同特点)、降维(照片降维等)和异常检测(发现异常数据)**等任务非常有用。通过应用无监督学习算法,你可以获得关于数据集的洞察和理解,从而为进一步的分析、预测或决策提供基础。

三、K均值聚类算法

不要被名字吓到,学习无监督学习算法最简单的例子之一是使用K均值聚类算法进行数据集的分组。

假设你有一个学校的学生的一些身高和体重数据的数据集。你想发现这些数据点是否存在一些天然的分组或聚类,例如高瘦型、中等身材、矮胖型等。

使用K均值聚类算法,你可以按照以下步骤进行操作:

1.选择簇的数量:

首先,你需要选择你希望将数据分成多少个簇。在这个例子中,你可以选择将数据分成3个簇,以便捕捉到高瘦型、中等身材和矮胖型等不同的类型。

2.初始化簇中心:

随机选择3个数据点作为初始的簇中心。

3.分配数据点到最近的簇:

对于每个数据点,计算它与每个簇中心的距离,并将其分配到与之距离最近的簇。

4.更新簇中心:

对于每个簇,计算其内部数据点的平均值,并将该平均值作为新的簇中心。

重复步骤3和步骤4:

直到簇中心的更新非常小或达到最大迭代次数。

结果解释:

最终,你将获得每个数据点所属的簇标签。你可以通过可视化或统计分析来解释结果,并观察是否存在高瘦型、中等身材和矮胖型等聚类。

K均值聚类算法python代码示例

import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans

# 假设身高和体重数据存储在一个名为data的NumPy数组中
data = np.array([
    [170, 65],
    [165, 60],
    [180, 80],
    [175, 75],
    [160, 55],
    [155, 50]
])

# 创建KMeans对象,并指定要分成的簇的数量k
k = 3
kmeans = KMeans(n_clusters=k)

# 使用数据拟合模型
kmeans.fit(data)

# 获取每个数据点所属的簇标签
labels = kmeans.labels_

# 获取簇中心的坐标
centroids = kmeans.cluster_centers_

# 可视化聚类结果
plt.scatter(data[:, 0], data[:, 1], c=labels)
plt.scatter(centroids[:, 0], centroids[:, 1], marker='X', color='red')
plt.xlabel('Height')
plt.ylabel('Weight')
plt.title('Clustering Results')
plt.show()

无监督学习算法的其他经典实例

K均值聚类(K-means clustering):K均值聚类是一种常见的聚类算法,旨在将数据集分成K个不同的簇。该算法通过迭代优化每个簇的中心位置,使得数据点与所属簇的中心点之间的距离最小化。K均值聚类广泛应用于数据挖掘、图像分割和市场分析等领域。

主成分分析(Principal Component Analysis,PCA):PCA是一种降维算法,用于将高维数据映射到低维空间。它通过线性变换找到数据中的主成分,即解释数据中最大方差的方向。PCA可以用于数据可视化、特征提取和去除冗余特征等任务。

t-分布邻域嵌入(t-Distributed Stochastic Neighbor Embedding,t-SNE):t-SNE是一种非线性降维算法,用于将高维数据映射到二维或三维空间。它能够保留数据点之间的相似性,使得原始高维数据的局部结构在低维空间中得到保留。t-SNE在可视化高维数据和聚类分析中具有广泛的应用。

关联规则学习(Association Rule Learning):关联规则学习用于发现数据集中的频繁项集和关联规则。Apriori算法是其中一种常用的关联规则学习算法,它通过扫描数据集来确定频繁项集,并基于频繁项集构建关联规则。这些规则描述了数据中的项之间的关系,对于市场篮子分析和推荐系统等任务非常有用。文章来源地址https://www.toymoban.com/news/detail-469321.html

到了这里,关于训练自己的ai模型(四)学习笔记与项目实操(什么也不懂,但有数据,怎么搞?无监督学习算法)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包