機器學習|KNN和Kmeans

KNN和Kmeans

KNN

在這里插入圖片描述
KNN-K個最近的鄰居,而K是可人先預設出來的。
所謂近朱者赤,近墨者黑。
可以選取離當前最近的K個樣本來作為輔助判斷,因為本樣本和最近的K個樣本應該是處于一種相似的狀態。
以下是一個蘋果和梨的識別任務。
圖上會出現一個未知的事物,可以結合和根據以往已經出現在圖上的數據來對這個未知事物進行判斷。
在這里插入圖片描述
可以選取離這個樣本最近的K個樣本進行判斷,比如上圖,讓K=3,離樣本最近的3個樣本有兩個梨子,1個蘋果。那么當前樣本可能會被判斷為梨子。
而關于最近的近也有不同的衡量來源,比如說曼哈頓距離和歐式距離。

K的選取

如果說K選取過小,則最近的樣本的影響相對較大,若這個最近樣本是一個特殊的樣本,將被容易帶偏。
如果說K選取過大,則如果樣本數本身不夠大的情況下,容易將偏遠樣本的信息也囊括進來,容易受到相關影響。

KNN算法的應用

在這里插入圖片描述
比如在推薦算法中,可以將用戶和他在空間上相近的角色進行比對,從而得到相近的信息,來作為當前用戶的特征,從而結合這個特征找到符合的商品來進行推送。
在這里插入圖片描述
由于KNN一個新樣本,需要和其他樣本進行計算。計算本身會帶來損耗。同時計算本身是受到K的大小和特征維度的影響。

Kmeans

在這里插入圖片描述
KNN是通過周圍K個水果來認出當前水果。
在這里插入圖片描述
而SVM可以通過劃分好的直線來將水果區分開,只需看水果落入的是哪一個范圍,就可認為是哪一種水果。(實際處理中可能涉及到軟間隔的影響)
而不管是KNN還是SVM,都是建立在已有標簽的樣本的數據之上。(KNN中的K個樣本是需要知道這K個樣本到底是啥,而SVM需要知道一些具有標簽的樣本,從而來畫出能夠區分開的線)
在這里插入圖片描述
而只知道樣本分布,不知道樣本具體是啥的時候就需要用到Kmeans。
可以人為設置具體要分為幾類,從而讓Kmeans確認出最終各個點的歸屬。
打個比方,就好像有一片居民居住地,作為城市規劃的專家,你要設置幾個村中心,并將哪些人劃分到這個村落中去來進行管理。
如果這個人居住地和某個村中心A相距比另一個村中心B來得更遠,那么這個人應該被劃分到村中心B中去。
也就是說,可以先認為離誰近就可以歸于誰。

Kmeans步驟

可以粗略歸納為——選取樣本中心->各點計算距離來歸于某一個樣本中心->不斷迭代,直至樣本中心穩定。
在這里插入圖片描述
首先在圖中隨機找到兩個點來作為樣本中心(因為K=2,所以挑兩個點)。
然后每一個點計算與這兩個樣本點的距離,從而來進行歸類。
然后每一個點都計算出來到底歸于哪一個類。
然后可以將類的點再取平均來作為這個類新的樣本中心。
然后所有點再與新的樣本中心進行計算,迭代,直至新的樣本中心,沒有再發生改變。
則可認為基本穩定。
在這里插入圖片描述
所以Kmeans相對簡單,容易上手,是一種無監督學習(不需要樣本帶有標簽,只需要知道樣本的分布即可,打標簽是需要成本的,相關的工作可以在boss上面找到數據標注員的工作)。
而Kmeans也有缺點,比如效果并不一定比有監督學習來得好,并且效果比較依賴K的選取。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/718320.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/718320.shtml
英文地址,請注明出處:http://en.pswp.cn/news/718320.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深入Spring Boot核心技術:代碼實戰解析

第一章:揭開Spring Boot自動配置的面紗 自動配置原理 讓我們首先通過一個簡化的Spring Boot應用啟動類來直觀感受自動配置的工作原理: java import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.Sprin…

【軟件設計師】通俗易懂的去了解算法的時間復雜度

🐓 時間復雜度 常用排序的時間復雜度 時間頻度 算法需要花費的時間,和它語句執行的次數是成正比的,所以會把一個算法種語句執行次數稱為語句頻度和時間頻度、記作T(n)。 定義 時間復雜度就是找到一個無限接近時間頻度T(n)同數量級的函數&am…

小腦萎縮患者生活指南:守護你的每一步

親愛的讀者朋友們,今天我們要聊一聊一個特殊但非常重要的群體——小腦萎縮患者。在這個充滿挑戰的旅程中,我們將一起探索如何用愛和智慧為患者打造一個更加安全、舒適的生活環境。 小腦萎縮是指小腦細胞逐漸減少,導致小腦體積縮小的一種病癥…

全量知識系統問題及SmartChat給出的答復 之16 幣圈生態鏈和行為模式

Q.42 幣圈生態鏈和行為模式 我認為,上面和“幣”有關的一系列概念和技術,按設計模式的劃分 ,整體應該都屬于行為模式,而且應該囊括行為模式的所有各個方面。 而行為又可以按照三種不同的導向(以目的或用途為導向、過…

互聯網摸魚日報(2024-03-04)

互聯網摸魚日報(2024-03-04) 36氪新聞 Sora來了,你又焦慮了嗎? 最前線|安踏首家球鞋集合店落地北京三里屯 一位中國遙感科學家,決定“跨界”拯救瀕危動物野駱駝 | 最前線 本周雙碳大事:工信部等七部門發文推動制造…

mirthConnect忽略HTTPS SSL驗證

mirthConnect SSL忽略驗證 1、下載https網站證書 點擊不安全---->證書無效 2、查看mirth 秘鑰庫口令 在mirthConnect 的conf目錄下面keystore.storepass 3、導入證書到本地 在jdk的bin目錄下面執行 keytool -importcert -file "下載的網站證書路徑" -keysto…

LeetCode每日一題【c++版】- leetcode 225.用隊列實現棧

題目描述 請你僅使用兩個隊列實現一個后入先出(LIFO)的棧,并支持普通棧的全部四種操作(push、top、pop 和 empty)。 實現 MyStack 類: void push(int x) 將元素 x 壓入棧頂。int pop() 移除并返回棧頂元素…

Python中按指定數量分割列表字符串的方法

引言 處理列表數據時,有時我們需要將一個包含長字符串的列表分割成按照特定長度的小字符串的多個列表。這在文本處理、批量數據處理或者當我們需要將數據分塊進行并行處理時非常常見。Python作為一個強大的編程語言,提供了很多方便的方法來實現這一功能…

CV論文--2024.3.4

1、Deep Networks Always Grok and Here is Why 中文標題:深度網絡總是讓人摸不著頭腦,原因如下 簡介:本文探討了深度神經網絡(DNN)中一種稱為"延遲泛化"或"Grokking"的現象。在接近零的訓練誤差…

使用ssh密鑰提交、拉取代碼的介紹

網絡世界中的數據并不安全 網絡中無時無刻有大量的數據傳輸,傳輸過程中需要經過各種網絡設備和物理媒介你的數據可能會在傳輸的某一個環節被一個“中間人”攔截,造成泄密,甚至會篡改你的數據,讓你發出錯誤的信息 SSH 為 Secure …

MySQL 5.5、5.6、5.7的主從復制改進

主從復制面臨的問題 MySQL一直以來的主從復制都是被詬病,原因是: 1、主從復制效率低 早期mysql的復制是通過將binlog語句異步推送到從庫。從庫啟動一個IO線程將接收到的數據記錄到relaylog中;另外啟動一個SQL線程負責順序執行relaylog中的語句實現對數據的拷貝。 這里的…

如何用Elementor創建WordPress會員網站

在下面的文章中,我們將向您展示如何使用Elementor和MemberPress在WordPress中輕松構建會員網站。這篇文章將涵蓋WordPress會員網站設置過程、會員資格和受保護內容創建、重要頁面和登錄表單設計、電子郵件通知管理、報告等。 目錄 什么是WordPress會員網站&#x…

【go從入門到精通】go基本類型和運算符用法

大家好,這是我給大家準備的新的一期專欄,專門講golang,從入門到精通各種框架和中間件,工具類庫,希望對go有興趣的同學可以訂閱此專欄。 --------------------------------------------------------------------------…

與字體有關的CSS

隱藏多余字體 text-overflow: ellipsis (多余文本顯示省略號) 需要配合overflow使用 -webkit-box-orient: vertical; display: -webkit-box; -webkit-line-clamp: number (超出多少行顯示省略號) 強制顯示一行 whi…

.NET高級面試指南專題十四【 觀察者模式介紹,最常用的設計模式之一】

簡介: 觀察者模式(Observer Pattern)是一種行為型設計模式,其目的是定義了一種一對多的依賴關系,當一個對象的狀態發生變化時,所有依賴于它的對象都會得到通知并自動更新。 原理: 在觀察者模式中…

從零開始搭建web組態

成果展示:by組態[web組態插件] 一、技術選擇 目前只有兩種選擇,canvas和svg Canvas: 是一個基于像素的渲染引擎,使用JavaScript API在畫布上繪制圖像,它的優點包括: Canvas渲染速度快,適合處理大量圖像和…

TIOBE 2024榜單啟示:程序員如何把握未來編程趨勢與機遇

程序員如何選擇職業賽道? 程序員的職業賽道就像是一座迷宮,有前端的美麗花園,后端的黑暗洞穴,還有數據科學的神秘密室。你準備好探索這個充滿挑戰和機遇的迷宮了嗎?快來了解如何選擇職業賽道吧! 方向一…

linux時間校準(ntpdate)

在Linux中,可以使用ntpdate命令來進行時間校準。 首先,打開終端并輸入以下命令安裝ntpdate工具 yum install ntpdate 然后,運行以下命令來同步系統的時間與網絡上的NTP服務器 ntpdate time.nist.gov 若要設置定期自動更新時間,可…

CSS中如何解決 1px 問題?

1px 問題指的是:在一些 Retina屏幕 的機型上,移動端頁面的 1px 會變得很粗,呈現出不止 1px 的效果。原因很簡單——CSS 中的 1px 并不能和移動設備上的 1px 劃等號。它們之間的比例關系有一個專門的屬性來描述: window.devicePix…

重構筆記系統:Docker Compose在微服務架構中的應用與優化

雖然我的筆記系統的開發是基于微服務的思想,但是在服務的配置和編排上感覺還是不太合理,具體來說,在開發上的配置和在生產上的配置差別太大。現在規模小,后面規模變大,估計這一塊會成為系統生長的瓶頸。 因此&#xff…