一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用Arduino KNN庫進(jìn)行簡(jiǎn)單的機(jī)器學(xué)習(xí)?

電子森林 ? 來源:硬禾學(xué)堂 ? 作者:硬禾學(xué)堂 ? 2021-04-01 10:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

除了像TensorFlow for Arduino這樣強(qiáng)大的深度學(xué)習(xí)架構(gòu)外,還有一些經(jīng)典的ML方法適用于嵌入式設(shè)備上的較小數(shù)據(jù)集,這些方法有用且易于理解-最簡(jiǎn)單的方法之一就是KNN。

KNN的一個(gè)優(yōu)勢(shì)在于,一旦Arduino獲得了一些示例數(shù)據(jù),就可以立即對(duì)其進(jìn)行分類。我們已經(jīng)發(fā)布了一個(gè)新的Arduino庫,可以快速輕松地將KNN導(dǎo)入在程序中,且無需進(jìn)行設(shè)備外培訓(xùn)或其他工具。

在本文中,我們將使用顏色分類器示例來介紹KNN。之前在深度學(xué)習(xí)中我們展示過相同的應(yīng)用程序,相比之下,KNN是一種更快、更輕量的方法,但無法擴(kuò)展到更大,更復(fù)雜的數(shù)據(jù)集。

顏色分類示例

在本教程中,我們將介紹如何使用Arduino Nano 33 BLE Sense上的Arduino_KNN庫按顏色對(duì)其對(duì)象進(jìn)行分類。

在進(jìn)行配置時(shí)我們將需要進(jìn)行以下準(zhǔn)備:

Arduino Nano 33 BLESense開發(fā)板

MicroUSB數(shù)據(jù)線

打開Arduino IDE或Arduino Create的云端編譯器

安裝Arduino_KNN庫

從文件》示例》 Arduino_KNN中選擇ColorClassifier

編譯程序并上傳到您的Arduino開發(fā)板

Arduino_KNN庫

該示例使用了Arduino_KNN庫,該庫提供了一個(gè)簡(jiǎn)單的界面,可在我們自己的程序中使用KNN:

#include 《Arduino_KNN.h》 // Create a new KNNClassifierKNNClassifier myKNN(INPUTS);

在本示例中,INPUTS = 3 用來表示顏色傳感器的R、G和B值。

采樣對(duì)象顏色

當(dāng)打開串行監(jiān)視器時(shí)會(huì)看到以下消息:

Arduino KNN color classifierShow me an example Apple

Arduino開發(fā)板已準(zhǔn)備好采樣對(duì)象顏色。如果你沒有蘋果,梨或者橙子,則可能需要通過編輯程序來放置不同的標(biāo)簽。顏色傳感器最好在光線充足的房間中處理粗糙,無光澤的物體,并且每個(gè)類別都必須具有不同的顏色?。伾珎鞲衅鞑⒉皇菂^(qū)分橙色和橘子的理想選擇,但是它可以檢測(cè)到橙子的成熟程度。如果要按形狀對(duì)物體進(jìn)行分類,則可以始終使用相機(jī)。)

當(dāng)Arduino開發(fā)板靠近對(duì)象時(shí),它將對(duì)顏色進(jìn)行采樣并將其添加到KNN示例中,并帶有標(biāo)記對(duì)象所屬類的數(shù)字(即代表蘋果,橙子或梨的數(shù)字0、1或2)。提供標(biāo)記的示例數(shù)據(jù)的ML技術(shù)也稱為監(jiān)督學(xué)習(xí)。

程序中用于將示例數(shù)據(jù)添加到KNN函數(shù)的代碼如下:

readColor(color); // Add example color to the KNN modelmyKNN.addExample(color, currentClass);

顏色樣本的紅色,綠色和藍(lán)色級(jí)別也通過串口輸出:

e0114072-9245-11eb-8b86-12bb97331649.png

程序?yàn)槊總€(gè)對(duì)象獲取30個(gè)顏色樣本??梢韵蚱滹@示一個(gè)對(duì)象,它將對(duì)顏色進(jìn)行30次采樣-本教程不需要30個(gè)蘋果?。ūM管更廣泛的數(shù)據(jù)集將使模型更通用)

分類

通過獲取示例樣品,程序現(xiàn)在將要求猜測(cè)該對(duì)象。該示例的使用與獲取訓(xùn)練數(shù)據(jù)時(shí)是相同的功能讀取顏色傳感器,只是這一次它調(diào)用分類函數(shù),當(dāng)顯示顏色時(shí),它將分類對(duì)象類:

readColor(color); // Classify the object classification = myKNN.classify(color, K);

您可以嘗試向其顯示一個(gè)對(duì)象,然后查看其效果:

Let me guess your object0.44,0.28,0.28You showed me an Apple

注意:這不是100%準(zhǔn)確的,尤其是在物體表面變化或照明條件變化的情況下。我們也可以嘗試使用不同數(shù)量的實(shí)例、k的值以及不同的對(duì)象和環(huán)境,以查看其如何影響結(jié)果。 KNN如何運(yùn)作?盡管Arduino_KNN庫完成了數(shù)學(xué)運(yùn)算,但在為應(yīng)用程序選擇ML算法時(shí),了解ML算法的工作原理很有用。簡(jiǎn)而言之,KNN算法通過比較對(duì)象與先前看到的示例的接近程度來對(duì)對(duì)象進(jìn)行分類。下面是一個(gè)示例圖表,其中包含平均每日溫度和濕度數(shù)據(jù)點(diǎn)。每個(gè)示例都標(biāo)有一個(gè)季節(jié):

e074a9b4-9245-11eb-8b86-12bb97331649.png

為了對(duì)新對(duì)象(圖表上的“?”)進(jìn)行分類,KNN分類器將查找它所看到的最相似的先前示例。由于在我們的示例中有兩個(gè)輸入,因此算法通過計(jì)算新對(duì)象與每個(gè)先前示例之間的距離來實(shí)現(xiàn)此目的。上面最接近的示例標(biāo)記為“Winter”。 KNN中的k只是算法考慮的最接近示例的數(shù)量。在k = 3的情況下,它會(huì)計(jì)算三個(gè)最接近的示例。在上面的圖表中,該算法將對(duì)Spring投2票,對(duì)Winter投1票-因此結(jié)果將變?yōu)镾pring。

KNN的一個(gè)缺點(diǎn)是訓(xùn)練示例數(shù)據(jù)的數(shù)量越大,每次對(duì)對(duì)象進(jìn)行分類時(shí),KNN算法需要花費(fèi)的檢查時(shí)間就越長。這使得KNN對(duì)于大型數(shù)據(jù)集不太可行,并且是KNN與基于深度學(xué)習(xí)的方法之間的主要區(qū)別。

按顏色分類的對(duì)象

e0b72f78-9245-11eb-8b86-12bb97331649.png

在我們的顏色分類器示例中,來自顏色傳感器的三個(gè)輸入。每個(gè)對(duì)象的示例顏色可被視為位于R、G和B軸上的三維空間中的點(diǎn)。像往常一樣,KNN算法通過檢查輸入與先前看到的示例的接近程度來猜測(cè)對(duì)象,但是由于這次有3個(gè)輸入,因此必須計(jì)算三維空間中的距離。數(shù)據(jù)的維數(shù)越多,計(jì)算分類結(jié)果的工作就越多。

進(jìn)一步的想法

這只是對(duì)KNN可能實(shí)現(xiàn)的快速了解。我們可以在庫示例中找到一個(gè)有關(guān)電路板方向的示例,以及一個(gè)可以繼續(xù)使用的簡(jiǎn)單示例。你也可以將BLE Sense板上的任何傳感器用作輸入,甚至可以將KNN與其他ML技術(shù)結(jié)合使用。

當(dāng)然,還有其他可用于Arduino的機(jī)器學(xué)習(xí)資源,包括TensorFlow Lite教程以及專業(yè)工具(如Edge Impulse和Qeexo)的支持。在接下來我們將更多的在Arduino上探索機(jī)器學(xué)習(xí)。

原文標(biāo)題:使用Arduino KNN進(jìn)行簡(jiǎn)單的機(jī)器學(xué)習(xí)

文章出處:【微信公眾號(hào):FPGA入門到精通】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2565

    文章

    52908

    瀏覽量

    766584
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8500

    瀏覽量

    134502
  • Arduino
    +關(guān)注

    關(guān)注

    189

    文章

    6497

    瀏覽量

    191886

原文標(biāo)題:使用Arduino KNN進(jìn)行簡(jiǎn)單的機(jī)器學(xué)習(xí)

文章出處:【微信號(hào):xiaojiaoyafpga,微信公眾號(hào):電子森林】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    使用MATLAB進(jìn)行無監(jiān)督學(xué)習(xí)

    無監(jiān)督學(xué)習(xí)是一種根據(jù)未標(biāo)注數(shù)據(jù)進(jìn)行推斷的機(jī)器學(xué)習(xí)方法。無監(jiān)督學(xué)習(xí)旨在識(shí)別數(shù)據(jù)中隱藏的模式和關(guān)系,無需任何監(jiān)督或關(guān)于結(jié)果的先驗(yàn)知識(shí)。
    的頭像 發(fā)表于 05-16 14:48 ?652次閱讀
    使用MATLAB<b class='flag-5'>進(jìn)行</b>無監(jiān)督<b class='flag-5'>學(xué)習(xí)</b>

    《ESP32S3 Arduino開發(fā)指南》第二章 Arduino基礎(chǔ)知識(shí)

    的發(fā)展,在Arduino出現(xiàn)以前,雖然也有很多公司在推廣一些簡(jiǎn)單易用的可編程控制器,但是由于開發(fā)平臺(tái)種類繁多,而且使用這些控制器基本上都需要對(duì)電子技術(shù)、數(shù)字邏輯、寄存器等內(nèi)容進(jìn)行多方面的了解和
    發(fā)表于 05-13 09:28

    傳統(tǒng)機(jī)器學(xué)習(xí)方法和應(yīng)用指導(dǎo)

    用于開發(fā)生物學(xué)數(shù)據(jù)的機(jī)器學(xué)習(xí)方法。盡管深度學(xué)習(xí)(一般指神經(jīng)網(wǎng)絡(luò)算法)是一個(gè)強(qiáng)大的工具,目前也非常流行,但它的應(yīng)用領(lǐng)域仍然有限。與深度學(xué)習(xí)相比,傳統(tǒng)方法在給定問題上的開發(fā)和測(cè)試速度更快。
    的頭像 發(fā)表于 12-30 09:16 ?1154次閱讀
    傳統(tǒng)<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>方法和應(yīng)用指導(dǎo)

    如何選擇云原生機(jī)器學(xué)習(xí)平臺(tái)

    當(dāng)今,云原生機(jī)器學(xué)習(xí)平臺(tái)因其彈性擴(kuò)展、高效部署、低成本運(yùn)營等優(yōu)勢(shì),逐漸成為企業(yè)構(gòu)建和部署機(jī)器學(xué)習(xí)應(yīng)用的首選。然而,市場(chǎng)上的云原生機(jī)器
    的頭像 發(fā)表于 12-25 11:54 ?446次閱讀

    HALArduino平臺(tái)上的使用

    HALArduino平臺(tái)上的使用 Arduino平臺(tái)是一個(gè)開源的電子原型平臺(tái),它包括硬件(基于微控制器的電路板)和軟件(Arduino IDE)。
    的頭像 發(fā)表于 12-02 14:04 ?1584次閱讀

    Arm成功將Arm KleidiAI軟件集成到騰訊自研的Angel 機(jī)器學(xué)習(xí)框架

    Arm 與騰訊攜手合作,成功將 Arm KleidiAI 軟件集成到騰訊自研的 Angel 機(jī)器學(xué)習(xí)框架。 ? 借助 KleidiAI 解鎖卓越性能、能效和可移植性,騰訊混元大模型能夠?qū)崿F(xiàn)更快
    的頭像 發(fā)表于 11-24 15:33 ?1256次閱讀

    什么是機(jī)器學(xué)習(xí)?通過機(jī)器學(xué)習(xí)方法能解決哪些問題?

    計(jì)算機(jī)系統(tǒng)自身的性能”。事實(shí)上,由于“經(jīng)驗(yàn)”在計(jì)算機(jī)系統(tǒng)中主要以數(shù)據(jù)的形式存在,因此機(jī)器學(xué)習(xí)需要設(shè)法對(duì)數(shù)據(jù)進(jìn)行分析學(xué)習(xí),這就使得它逐漸成為智能數(shù)據(jù)分析技術(shù)的創(chuàng)新源之一,
    的頭像 發(fā)表于 11-16 01:07 ?953次閱讀
    什么是<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>?通過<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>方法能解決哪些問題?

    NPU與機(jī)器學(xué)習(xí)算法的關(guān)系

    在人工智能領(lǐng)域,機(jī)器學(xué)習(xí)算法是實(shí)現(xiàn)智能系統(tǒng)的核心。隨著數(shù)據(jù)量的激增和算法復(fù)雜度的提升,對(duì)計(jì)算資源的需求也在不斷增長。NPU作為一種專門為深度學(xué)習(xí)機(jī)器
    的頭像 發(fā)表于 11-15 09:19 ?1181次閱讀

    如何使用 PyTorch 進(jìn)行強(qiáng)化學(xué)習(xí)

    強(qiáng)化學(xué)習(xí)(Reinforcement Learning, RL)是一種機(jī)器學(xué)習(xí)方法,它通過與環(huán)境的交互來學(xué)習(xí)如何做出決策,以最大化累積獎(jiǎng)勵(lì)。PyTorch 是一個(gè)流行的開源
    的頭像 發(fā)表于 11-05 17:34 ?1016次閱讀

    【每天學(xué)點(diǎn)AI】KNN算法:簡(jiǎn)單有效的機(jī)器學(xué)習(xí)分類器

    過程,其實(shí)就是一個(gè)簡(jiǎn)單的分類問題,而KNN(K-NearestNeighbors)算法正是模仿這種人類決策過程的機(jī)器學(xué)習(xí)算法。|什么是KNN
    的頭像 發(fā)表于 10-31 14:09 ?839次閱讀
    【每天學(xué)點(diǎn)AI】<b class='flag-5'>KNN</b>算法:<b class='flag-5'>簡(jiǎn)單</b>有效的<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>分類器

    AI大模型與傳統(tǒng)機(jī)器學(xué)習(xí)的區(qū)別

    多個(gè)神經(jīng)網(wǎng)絡(luò)層組成,每個(gè)層都包含大量的神經(jīng)元和權(quán)重參數(shù)。 傳統(tǒng)機(jī)器學(xué)習(xí) :模型規(guī)模相對(duì)較小,參數(shù)數(shù)量通常只有幾千到幾百萬個(gè),模型結(jié)構(gòu)相對(duì)簡(jiǎn)單。 二、訓(xùn)練數(shù)據(jù)需求 AI大模型 :需要大規(guī)模、多樣化的數(shù)據(jù)
    的頭像 發(fā)表于 10-23 15:01 ?2543次閱讀

    RISC-V如何支持不同的AI和機(jī)器學(xué)習(xí)框架和?

    RISC-V如何支持不同的AI和機(jī)器學(xué)習(xí)框架和?還請(qǐng)壇友們多多指教一下。
    發(fā)表于 10-10 22:24

    【「時(shí)間序列與機(jī)器學(xué)習(xí)」閱讀體驗(yàn)】時(shí)間序列的信息提取

    方法為該時(shí)間序列填充缺失值。 時(shí)間序列的縮放是指對(duì)原有的時(shí)間序列數(shù)據(jù)進(jìn)行數(shù)據(jù)范圍的調(diào)整,以便更好地完成后續(xù)的數(shù)據(jù)分析或機(jī)器學(xué)習(xí)任務(wù)。該節(jié)有講到時(shí)間序列的最小最大縮放、時(shí)間序列的最大絕對(duì)值縮放、時(shí)間序列
    發(fā)表于 08-17 21:12

    【「時(shí)間序列與機(jī)器學(xué)習(xí)」閱讀體驗(yàn)】+ 簡(jiǎn)單建議

    這本書以其系統(tǒng)性的框架和深入淺出的講解,為讀者繪制了一幅時(shí)間序列分析與機(jī)器學(xué)習(xí)融合應(yīng)用的宏偉藍(lán)圖。作者不僅扎實(shí)地構(gòu)建了時(shí)間序列分析的基礎(chǔ)知識(shí),更巧妙地展示了機(jī)器學(xué)習(xí)如何在這一領(lǐng)域發(fā)揮巨
    發(fā)表于 08-12 11:21

    【《時(shí)間序列與機(jī)器學(xué)習(xí)》閱讀體驗(yàn)】+ 了解時(shí)間序列

    收到《時(shí)間序列與機(jī)器學(xué)習(xí)》一書,彩色印刷,公式代碼清晰,非常精美。感謝作者,感謝電子發(fā)燒友提供了一個(gè)讓我學(xué)習(xí)時(shí)間序列及應(yīng)用的機(jī)會(huì)! 前言第一段描述了編寫背景: 由此可知,這是一本關(guān)于時(shí)間序列進(jìn)
    發(fā)表于 08-11 17:55