很開心有人還在催更,有點小震驚吧。(原來真有人在csdn發(fā)學(xué)習(xí)記錄?。?/s>(原來真有人在csdn看學(xué)習(xí)記錄啊)
ai模型方向的知識,我也在學(xué)習(xí)中,可能疑惑不比大家少。
直接開始!
一、為什么要用無監(jiān)督學(xué)習(xí)算法
不管你的是什么數(shù)據(jù),只要你有數(shù)據(jù),你就可以試一試,跑一跑。
使用無監(jiān)督學(xué)習(xí)算法。
無監(jiān)督學(xué)習(xí)算法可以從給定的數(shù)據(jù)中,推斷出一些結(jié)論或模式,無需事先知道數(shù)據(jù)的標簽或類別。這些算法的目標是發(fā)現(xiàn)數(shù)據(jù)中的內(nèi)在結(jié)構(gòu)、相似性、聚類或異常點等特征。(個人理解就是,可以為了跑而跑。
無監(jiān)督學(xué)習(xí)算法的工作方式是通過分析數(shù)據(jù)中的統(tǒng)計屬性、相似性度量或數(shù)據(jù)點之間的關(guān)系來進行推斷。它們試圖從數(shù)據(jù)本身中找到模式和規(guī)律,而不依賴于任何外部標簽或類別信息。
另外,另一個原因是,無監(jiān)督學(xué)習(xí)算法通常被認為比監(jiān)督學(xué)習(xí)和強化學(xué)習(xí)算法更簡單,(機器學(xué)習(xí)算法可以分為監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強化學(xué)習(xí)三個主要類別。)因為它們不需要標簽或反饋信號來指導(dǎo)學(xué)習(xí)過程。無監(jiān)督學(xué)習(xí)算法主要關(guān)注發(fā)現(xiàn)數(shù)據(jù)中的模式、結(jié)構(gòu)和相似性,而不涉及預(yù)測或決策。
(但難易總是相對的,機器學(xué)習(xí)算法的復(fù)雜性與問題的復(fù)雜性和目標密切相關(guān)。)
二、用無監(jiān)督學(xué)習(xí)算法能做什么
這種類型的算法對于**數(shù)據(jù)探索(尋找數(shù)據(jù)規(guī)律)、特征提取(異同特點)、降維(照片降維等)和異常檢測(發(fā)現(xiàn)異常數(shù)據(jù))**等任務(wù)非常有用。通過應(yīng)用無監(jiān)督學(xué)習(xí)算法,你可以獲得關(guān)于數(shù)據(jù)集的洞察和理解,從而為進一步的分析、預(yù)測或決策提供基礎(chǔ)。
三、K均值聚類算法
不要被名字嚇到,學(xué)習(xí)無監(jiān)督學(xué)習(xí)算法最簡單的例子之一是使用K均值聚類算法進行數(shù)據(jù)集的分組。
假設(shè)你有一個學(xué)校的學(xué)生的一些身高和體重數(shù)據(jù)的數(shù)據(jù)集。你想發(fā)現(xiàn)這些數(shù)據(jù)點是否存在一些天然的分組或聚類,例如高瘦型、中等身材、矮胖型等。
使用K均值聚類算法,你可以按照以下步驟進行操作:
1.選擇簇的數(shù)量:
首先,你需要選擇你希望將數(shù)據(jù)分成多少個簇。在這個例子中,你可以選擇將數(shù)據(jù)分成3個簇,以便捕捉到高瘦型、中等身材和矮胖型等不同的類型。
2.初始化簇中心:
隨機選擇3個數(shù)據(jù)點作為初始的簇中心。
3.分配數(shù)據(jù)點到最近的簇:
對于每個數(shù)據(jù)點,計算它與每個簇中心的距離,并將其分配到與之距離最近的簇。
4.更新簇中心:
對于每個簇,計算其內(nèi)部數(shù)據(jù)點的平均值,并將該平均值作為新的簇中心。
重復(fù)步驟3和步驟4:
直到簇中心的更新非常小或達到最大迭代次數(shù)。
結(jié)果解釋:
最終,你將獲得每個數(shù)據(jù)點所屬的簇標簽。你可以通過可視化或統(tǒng)計分析來解釋結(jié)果,并觀察是否存在高瘦型、中等身材和矮胖型等聚類。
K均值聚類算法python代碼示例
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
# 假設(shè)身高和體重數(shù)據(jù)存儲在一個名為data的NumPy數(shù)組中
data = np.array([
[170, 65],
[165, 60],
[180, 80],
[175, 75],
[160, 55],
[155, 50]
])
# 創(chuàng)建KMeans對象,并指定要分成的簇的數(shù)量k
k = 3
kmeans = KMeans(n_clusters=k)
# 使用數(shù)據(jù)擬合模型
kmeans.fit(data)
# 獲取每個數(shù)據(jù)點所屬的簇標簽
labels = kmeans.labels_
# 獲取簇中心的坐標
centroids = kmeans.cluster_centers_
# 可視化聚類結(jié)果
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()
無監(jiān)督學(xué)習(xí)算法的其他經(jīng)典實例
K均值聚類(K-means clustering):K均值聚類是一種常見的聚類算法,旨在將數(shù)據(jù)集分成K個不同的簇。該算法通過迭代優(yōu)化每個簇的中心位置,使得數(shù)據(jù)點與所屬簇的中心點之間的距離最小化。K均值聚類廣泛應(yīng)用于數(shù)據(jù)挖掘、圖像分割和市場分析等領(lǐng)域。
主成分分析(Principal Component Analysis,PCA):PCA是一種降維算法,用于將高維數(shù)據(jù)映射到低維空間。它通過線性變換找到數(shù)據(jù)中的主成分,即解釋數(shù)據(jù)中最大方差的方向。PCA可以用于數(shù)據(jù)可視化、特征提取和去除冗余特征等任務(wù)。
t-分布鄰域嵌入(t-Distributed Stochastic Neighbor Embedding,t-SNE):t-SNE是一種非線性降維算法,用于將高維數(shù)據(jù)映射到二維或三維空間。它能夠保留數(shù)據(jù)點之間的相似性,使得原始高維數(shù)據(jù)的局部結(jié)構(gòu)在低維空間中得到保留。t-SNE在可視化高維數(shù)據(jù)和聚類分析中具有廣泛的應(yīng)用。文章來源:http://www.zghlxwxcb.cn/news/detail-469321.html
關(guān)聯(lián)規(guī)則學(xué)習(xí)(Association Rule Learning):關(guān)聯(lián)規(guī)則學(xué)習(xí)用于發(fā)現(xiàn)數(shù)據(jù)集中的頻繁項集和關(guān)聯(lián)規(guī)則。Apriori算法是其中一種常用的關(guān)聯(lián)規(guī)則學(xué)習(xí)算法,它通過掃描數(shù)據(jù)集來確定頻繁項集,并基于頻繁項集構(gòu)建關(guān)聯(lián)規(guī)則。這些規(guī)則描述了數(shù)據(jù)中的項之間的關(guān)系,對于市場籃子分析和推薦系統(tǒng)等任務(wù)非常有用。文章來源地址http://www.zghlxwxcb.cn/news/detail-469321.html
到了這里,關(guān)于訓(xùn)練自己的ai模型(四)學(xué)習(xí)筆記與項目實操(什么也不懂,但有數(shù)據(jù),怎么搞?無監(jiān)督學(xué)習(xí)算法)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!