色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用Arduino KNN庫進行簡單的機器學習?

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

掃碼添加小助手

加入工程師交流群

除了像TensorFlow for Arduino這樣強大的深度學習架構外,還有一些經典的ML方法適用于嵌入式設備上的較小數據集,這些方法有用且易于理解-最簡單的方法之一就是KNN。

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

在本文中,我們將使用顏色分類器示例來介紹KNN。之前在深度學習中我們展示過相同的應用程序,相比之下,KNN是一種更快、更輕量的方法,但無法擴展到更大,更復雜的數據集。

顏色分類示例

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

在進行配置時我們將需要進行以下準備:

Arduino Nano 33 BLESense開發(fā)板

MicroUSB數據線

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

安裝Arduino_KNN庫

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

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

Arduino_KNN庫

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

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

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

采樣對象顏色

當打開串行監(jiān)視器時會看到以下消息:

Arduino KNN color classifierShow me an example Apple

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

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

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

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

顏色樣本的紅色,綠色和藍色級別也通過串口輸出:

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

程序為每個對象獲取30個顏色樣本。可以向其顯示一個對象,它將對顏色進行30次采樣-本教程不需要30個蘋果!(盡管更廣泛的數據集將使模型更通用)

分類

通過獲取示例樣品,程序現在將要求猜測該對象。該示例的使用與獲取訓練數據時是相同的功能讀取顏色傳感器,只是這一次它調用分類函數,當顯示顏色時,它將分類對象類:

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

您可以嘗試向其顯示一個對象,然后查看其效果:

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

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

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

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

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

按顏色分類的對象

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

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

進一步的想法

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

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

原文標題:使用Arduino KNN進行簡單的機器學習

文章出處:【微信公眾號:FPGA入門到精通】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2567

    文章

    53053

    瀏覽量

    768020
  • 機器學習
    +關注

    關注

    66

    文章

    8505

    瀏覽量

    134706
  • Arduino
    +關注

    關注

    190

    文章

    6498

    瀏覽量

    192337

原文標題:使用Arduino KNN進行簡單的機器學習

文章出處:【微信號:xiaojiaoyafpga,微信公眾號:電子森林】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    使用MATLAB進行無監(jiān)督學習

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

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

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

    傳統機器學習方法和應用指導

    用于開發(fā)生物學數據的機器學習方法。盡管深度學習(一般指神經網絡算法)是一個強大的工具,目前也非常流行,但它的應用領域仍然有限。與深度學習相比,傳統方法在給定問題上的開發(fā)和測試速度更快。
    的頭像 發(fā)表于 12-30 09:16 ?1216次閱讀
    傳統<b class='flag-5'>機器</b><b class='flag-5'>學習</b>方法和應用指導

    如何選擇云原生機器學習平臺

    當今,云原生機器學習平臺因其彈性擴展、高效部署、低成本運營等優(yōu)勢,逐漸成為企業(yè)構建和部署機器學習應用的首選。然而,市場上的云原生機器
    的頭像 發(fā)表于 12-25 11:54 ?465次閱讀

    HALArduino平臺上的使用

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

    Arm成功將Arm KleidiAI軟件集成到騰訊自研的Angel 機器學習框架

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

    什么是機器學習?通過機器學習方法能解決哪些問題?

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

    NPU與機器學習算法的關系

    在人工智能領域,機器學習算法是實現智能系統的核心。隨著數據量的激增和算法復雜度的提升,對計算資源的需求也在不斷增長。NPU作為一種專門為深度學習機器
    的頭像 發(fā)表于 11-15 09:19 ?1248次閱讀

    如何使用 PyTorch 進行強化學習

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

    【每天學點AI】KNN算法:簡單有效的機器學習分類器

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

    AI大模型與傳統機器學習的區(qū)別

    多個神經網絡層組成,每個層都包含大量的神經元和權重參數。 傳統機器學習 :模型規(guī)模相對較小,參數數量通常只有幾千到幾百萬個,模型結構相對簡單。 二、訓練數據需求 AI大模型 :需要大規(guī)模、多樣化的數據
    的頭像 發(fā)表于 10-23 15:01 ?2621次閱讀

    RISC-V如何支持不同的AI和機器學習框架和

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

    【「時間序列與機器學習」閱讀體驗】時間序列的信息提取

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

    【「時間序列與機器學習」閱讀體驗】+ 簡單建議

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

    【《時間序列與機器學習》閱讀體驗】+ 了解時間序列

    收到《時間序列與機器學習》一書,彩色印刷,公式代碼清晰,非常精美。感謝作者,感謝電子發(fā)燒友提供了一個讓我學習時間序列及應用的機會! 前言第一段描述了編寫背景: 由此可知,這是一本關于時間序列
    發(fā)表于 08-11 17:55
    主站蜘蛛池模板: 大地影院日本韩国电影免费观看 | 国产亚洲精品97在线视频一 | 妺妺窝人体色WWW偷窥女厕 | 麻豆免费高清完整版 | 国产成人高清精品免费观看 | 午夜福利理论片高清在线 | 国产日韩欧美高清免费视频 | 国产午夜福利片 | 国产在线视频在线观看 | 少妇无码太爽了视频在线播放 | 国产免费人成在线视频视频 | 一级毛片免费播放 | 亚洲国产高清视频在线观看 | 国产久青青青青在线观看 | 欧美 亚洲 有码中文字幕 | 经典三级四虎在线观看 | 秋霞午夜鲁丝片午夜精品久 | 攻把受做得合不拢腿play | 欧美性最猛xxxx在线观看视频 | 麻豆精品人妻一区二区三区蜜桃 | 男人和女人一级黄色大片 | 6080YYY午夜理论片在线观看 | 成人免费在线 | 国模精品一区二区三区视频 | 亚洲国产成人精品久久久久 | 宿舍BL 纯肉各种PLAY H | 亚洲精品午夜VA久久成人 | 青青草原影视 | 99久久蜜臀AV免费看蛮 | 亚洲人成7777 | 99视频免费播放 | 欧美一区二区视频高清专区 | 好爽别插了无码视频 | 男人狂躁进女人免费视频公交 | 国产白丝JK被疯狂输出视频 | 国产精品观看视频免费完整版 | 无遮18禁在线永久免费观看挡 | 亚洲美女视频高清在线看 | 色就色综合 | 97无码欧美熟妇人妻蜜 | 免费一区二区三区久久 |

    電子發(fā)燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品