機器學習理論梳理2 : KNN K近鄰分類模型

本文主要梳理KNN,K近鄰模型的基本原理。

從機器學習的大分類來看,K近鄰模型屬于監督學習中的一種判別式模型,常用于分類問題。初始的數據集中,包含了已經分類標簽好的數據。一句話來說,K近鄰模型就是通過計算實例與現有數據集中所有數據的數學距離,從中挑選出K個最近的例子。在這K個例子中,占據大多數的分類就是新的實例的分類。

在這里插入圖片描述
在使用K近鄰法時,需要注意的就是定義好數學意義上的距離(一般使用歐拉距離)以及選取合適的K值。這個方法作為分類器的優勢在于實現簡單,沒有先行的假設,但其局限性也很明顯,隨著樣本以及數據量的上升,運算成本也是同比例地增加。

有兩種主要的思路,來加速K近鄰法的運算。首先我們可以利用PCA主成分分析,或者LDA線性判別分析來對原始數據進行降維處理,降維后再計算向量之間的距離就可以提高效率。

其次,在實現過程中,我們放棄計算新的實例和每一個數據集中的例子的距離,而是先計算各個分類中所有已知數據的平均值,通過新的實例與這個平均值之間的距離來進行分類,雖然一定程度犧牲了分類的準確性提高了不可避免的誤差,但卻可以大幅度加速我們算法運行的速度。
dE(x,c)=(x?μc)T(x?μc)d_E(x,c) = (x-\mu_c)^T(x-\mu_c) dE?(x,c)=(x?μc?)T(x?μc?)
其中,x 為新的實例,μc\mu_cμc? 是類的中心點,x 被分類為與他歐拉距離最近的類,每個類由他的中心點(平均值)來表示。

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

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

相關文章

docker安裝配置gitlab詳細過程

1、方法一 1 docker pull beginor/gitlab-ce:11.0.1-ce.0 2、方法二 如果服務器網路不好或者pull不下來鏡像,只能在其它網路比較好的機器上pull下來鏡像,導出成一個文件, 再下載上傳到網路不好的機器上,然后再從文件中導出來&am…

集合對偶律:分別用圖文證明

集合幾個法則: 求證: 注:右上角C表示此集合的補集/余集 語言描述:A 并 B的補集 A的補集 交 B的補集 A交B的補集 A的補集 并 B的補集 文字證明:(思路:證明兩個集合相等,可證兩集合…

keras實現嘴唇圖像autoencoder

本文分享了我在silent speech 項目過程中實現的基于嘴唇圖像數據集的autoencoder自編碼器。輸入輸出都是64?6464*6464?64的嘴唇灰度圖。自編碼器由編碼解碼兩個部分構成,同時實現了利用checkpoint在每個epoch運算時,自動保存測試集loss更小的模型。 數…

遠程導表

exp ibmscm1/ibmscM123112.35.32.77:1532/JD3 file/home/scmimp.dmp tablesS4I_BPM.ACT_DE_MODEL url: jdbc:oracle:thin:112.35.32.77:1532:JD3 username: ibmscm1 password: ibmscM123 exp ibmscm1/ imp/exp user/pwd//host:port/sid fileurl exp 用戶名/密碼數據庫…

historyReverser array reverse

historyReverser & array reverse "use strict";/**** author xgqfrms* license MIT* copyright xgqfrms** description historyReverser* augments Reverse 逆向 / Recursive 遞歸* example* link**/const historyReverser (datas [], text , debug false)…

pip國內加載速度慢解決方法

在國內使用pip安裝包時有時會發現安裝速度非常慢,甚至連接不上源。 為了加快pip的下載速度,我們可以主動使用 -i命令來切換到國內源。 下面放出實測好用的國內源 : 清華:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http:…

oracle--導出、導入blob類型的字段

oracle--導出、導入blob類型的字段 blob是oracle中的一個數據類型,保存的是壓縮后的二進制形式的大數據。 數據遷移如果涉及到blob字段,都不好處理,因為無法用常規方法進行操作,如:使用select查看該字段,…

Feign Hystrix (HystrixCommonKey) 設置單獨接口的超時時間和FallBack

Feign設置單獨接口的超時時間和FallBack(HystrixCommonKey) HystrixCommonKey生成方法&#xff1a;類名#方法名(入參類型) final class Default implements SetterFactory { Override public HystrixCommand.Setter create(Target<?> target, Method method…

深度學習分布式訓練小結

分布式訓練本質上是為了加快模型的訓練速度&#xff0c;面對較為復雜的深度學習模型以及大量的數據。單機單GPU很難在有限的時間內達成模型的收斂。這時候就需要用到分布式訓練。 分布式訓練又分為模型并行和數據并行兩大類。 1. 數據并行 數據并行在于將不同batch的數據分別…

scrapy框架的理解

在每一次學習一個新東西之前&#xff0c;需要知道的幾個問題。這個東西是什么(what),怎么使用(how)&#xff0c;為什么(why) scrapy的概念&#xff1a;Scrapy是一個為了爬取網站數據&#xff0c;提取結構性數據而編寫的框架。 scrapy的作用&#xff1a;通過少量代碼實現快速抓取…

MAC配置JCO,與找不到sapjco3異常

①到jco官網下載jco壓縮包&#xff0c;解壓 ②把libsapjco3.jnilib 放到一個文件夾中 把該路徑配置到環境變量中 ③項目運行有可能會出現異常&#xff1a;找不到 sapjco3 &#xff1b; 第一種解決方式&#xff1a;配置虛擬機參數&#xff1a;-Djava.library.path之前環境變量路…

You must install pydot and graphviz for plotmodel to work報錯如何處理

本文主要記錄windows-anaconda環境下關于使用tensorflow.keras.utils.plot_model()方法時提示安裝pydot 和 graphviz的解決方法。 pydot的安裝非常簡單&#xff0c;進入anaconda python環境中&#xff0c;用pip進行安裝就可以了。 graphviz包的安裝就要稍顯復雜一些。 首先我們…

Java高并發之BlockingQueue

前言碎語 當系統流量負載比較高時&#xff0c;業務日志的寫入操作也要納入系統性能考量之內&#xff0c;如若處理不當&#xff0c;將影響系統的正常業務操作&#xff0c;之前寫過一篇《spring boot通過MQ消費log4j2的日志》的博文&#xff0c;采用了RabbitMQ消息中間件來存儲抗…

python中文字符串轉list

本文主要記錄了將中文字符串轉換為list的過程&#xff0c;其中我們使用了keras preprocessing中的text_to_word_sequence方法。這個方法是完全適配中文的。需要注意的是&#xff0c;中文語料一般字符之間是沒有空格分割的&#xff0c;這與英文是不同的。如下所示&#xff0c;如…

IP通信基礎回顧2(第三周)

1.TCP報文 序號字段占4個字節。TCP連接中傳送的數據流中每一個字節都編上一個序號。序號字段的值則是本報文段所發送的數據第一個字節的序號。 確認序號占4個字節。是期望收到的對方的下一個報文段字節胡序號。首部長度占4個字節。指出TCP首部長度在20-60字節之間&#xff0c;所…

ThreadPoolExecutor線程池 + Queue隊列

1&#xff1a;BlockingQueue繼承關系 java.util.concurrent 包里的 BlockingQueue是一個接口&#xff0c; 繼承Queue接口&#xff0c;Queue接口繼承 Collection BlockingQueue----->Queue-->Collection 圖&#xff1a; 隊列的特點是&#xff1a;先進先出&#xff08;FIFO…

python list pop方法

通過使用pop方法可以直接刪除列表中的某一個對應元素并返回該元素值 s [a, b, c, d] # 通過使用pop方法可以移除list中的一個元素并返回它的值 result s.pop(1) print(result) print(s)結果如下 b [a, c, d]

linux基礎文件管理軟硬鏈接

一、文件系統的基本結構 1、文件和目錄被組成一個單根倒置樹目錄結構 2、文件系統從根目錄下開始&#xff0c;用“/”表示 3、根文件系統&#xff08;rootfs&#xff09;&#xff1a;root filesystem文件名區分大小寫 4、以 . 開頭的文件為隱藏文件 5、路徑用/隔離 6文件有兩類…

mybatis動態更新xml文件后熱部署,不重啟應用的方法

mybatis應用程序&#xff0c;由于是半自動化的sql, 有大量的sql是在xml文件中配置的&#xff0c;而在開發程序的過程中&#xff0c;通常需要邊寫sql變調試應用。但在默認情況下&#xff0c;xml文件里配置的sql語句是被放入到緩存中去了&#xff0c;每次更改有sql語句的xml文件&…

Leetcode 反轉字符串 II python解法

題干&#xff1a; 給定一個字符串 s 和一個整數 k&#xff0c;從字符串開頭算起&#xff0c;每計數至 2k 個字符&#xff0c;就反轉這 2k 字符中的前 k 個字符。 如果剩余字符少于 k 個&#xff0c;則將剩余字符全部反轉。 如果剩余字符小于 2k 但大于或等于 k 個&#xff0c;…