很开心有人还在催更,有点小震惊吧。(原来真有人在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在可视化高维数据和聚类分析中具有广泛的应用。文章来源:https://www.toymoban.com/news/detail-469321.html
关联规则学习(Association Rule Learning):关联规则学习用于发现数据集中的频繁项集和关联规则。Apriori算法是其中一种常用的关联规则学习算法,它通过扫描数据集来确定频繁项集,并基于频繁项集构建关联规则。这些规则描述了数据中的项之间的关系,对于市场篮子分析和推荐系统等任务非常有用。文章来源地址https://www.toymoban.com/news/detail-469321.html
到了这里,关于训练自己的ai模型(四)学习笔记与项目实操(什么也不懂,但有数据,怎么搞?无监督学习算法)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!