機器人運動軌跡學習——GMM/GMR算法

機器人運動軌跡學習——GMM/GMR算法

  • 前置知識

    GMM的英文全稱為:Gaussian mixture model,即高斯混合模型,也就是說,它是由多個高斯模型進行混合的結果:當然,這里的混合是帶有權重概念的。

    • 一維高斯分布

      GMM中的個體就是高斯模型,說認真點就是高斯基函數,它還有另一個名字,徑向基函數。

      對于一維變量,其高斯分布為:

      image-20240521211130226

      對應高斯概率密度的圖形:

      img

      也就是說,對于一維變量x,它落在均值區間 [ u ? σ , u + σ ] [u-\sigma, u+\sigma] [u?σ,u+σ]的概率為68.26%

    • 多維高斯分布

      多維 Gaussian 分布的概率密度函數為:

      image-20240521211953699

      其中 μ \mu μ為均值向量, Σ \Sigma Σ為協方差矩陣

  • GMM對復雜軌跡的擬合

    一個復雜運動的表達式可由一系列簡單信號的加權組合表述,我們稱這些簡單信號為基函數

    一些流行的基函數有:Radial Basis Functions (RBFs)Bernstein Basis FunctionsFourier Basis Functions

    其中,Radial Basis Functions (RBFs),即徑向基函數,一種應用如下圖所示:通過為各基函數賦予不同的權重,生成了一條相對復雜的軌跡

    img

    圖片源自:Dynamic Movement Primitives介紹及Python實現與UR5機械臂仿真 - 知乎 (zhihu.com)

  • GMR的回歸思想

    GMR(Gaussian mixture regression)的思想:

    對于一個輸入,借用GMM進行回歸,回歸的結果是一個高斯分布

    也就是說,我們回歸得到的結果不是一個固定的值,而是一個概率值

    以一維高斯分布為例:

    我們回歸得到的結果其均值為 μ \mu μ,在 [ u ? σ , u + σ ] [u-\sigma, u+\sigma] [u?σ,u+σ]區間內的概率為68.26%

    而且回歸得到的這個高斯分布一般不是高斯混合分布中的某一個分布,而是一個新的分布

  • GMM的學習思想

    根據我們的假設,GMM由多個高斯分布加權得到,那么GMM的概率密度函數為:

    image-20240516101413324

    其中 p ( k ) = π k p(k)=\pi_k p(k)=πk?是取第 k k k個高斯核的概率, p ( x ∣ k ) = N ( x ∣ u k , Σ k ) p(x|k)=N(x|u_k,\Sigma_k) p(xk)=N(xuk?,Σk?)是在第 k k k個高斯核下,取值x的概率

    x可以是一個向量

    因此,如果我們要從 GMM 的分布中隨機地取一個點的話,實際上可以分為兩步:

    • 首先隨機地在這 𝐾 個 高斯 之中選一個,每個 高斯 被選中的概率實際上就是它的系數 π k \pi_k πk?
    • 選中了 高斯 之后,再單獨地考慮從這個 高斯 的分布中選取一個點就可以了

    觀察概率密度函數的形式,我們需要確定的參數為 π k , μ k , Σ k \pi_k,\mu_k,\Sigma_k πk?,μk?,Σk?

    已知(假定)了概率密度函數的形式,而要估計其中的參數的過程被稱作“參數估計”

  • GMM參數估計

    • 思想

      假設我們有一組數據點,假設他們服從分布p(x)(GMM中的一個高斯分布),我們要求其中的參數,

      方法是直接假設一組參數,在這組參數( π k , μ k , Σ k \pi_k,\mu_k,\Sigma_k πk?,μk?,Σk?)下所確定的概率分布生成這組數據點的概率 π k \pi_k πk?最大

      即EM算法的思想

    • 步驟一(E步,后驗概率)

      計算數據由每個高斯生成的概率:

      image-20240521220124673

      其中, π k , μ k , Σ k \pi_k,\mu_k,\Sigma_k πk?,μk?,Σk?取上一次迭代的值(或初始值)

    • 步驟二(M步,估計相關的參數)

      調整參數

      對上面的公式進行對數似然,有:

      image-20240516103429825 image-20240523110657213
      image-20240523110634766 N是數據點的個數
    • 步驟三

      重復上述步驟,直到滿足我們的收斂條件(概率密度函數幾乎不變)或超過設定的最大迭代次數

    • 補充

      我們注意到,在第一次執行上述步驟一時,參數 π k , μ k , Σ k \pi_k,\mu_k,\Sigma_k πk?,μk?,Σk?未知,這時我們需要給定一組初值,初值的好壞對收斂有影響,詳情可參考漫談 Clustering (3): Gaussian Mixture Model (pluskid.org)。

  • GMR參數回歸

    完成GMM模型的建立后,得到高斯混合模型:

    image-20240516101413324

    為了對給定參數進行回歸,我們對其中的參數x,將其分為輸入參數及輸出參數,即有:

    image-20240521231922676

    其中下標t表示輸入變量是t

    輸出變量可以是t對應的二維坐標(x1,x2)

    根據GMR回歸思想,對于均值和協方差,自然就分為:

    image-20240521232303005

    于是,直接根據公式,輸入對單個高斯的回歸,有:

    image-20240521232054664

    其中:

    image-20240521232244547 image-20240521232120424 image-20240521232136328 image-20240521232158989

    對于最終的結果,有:

    image-20240522102327051 image-20240522102352751

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

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

相關文章

基于STM32與ESP8266 驅動的智能大棚環境監測控制系統

隨著物聯網技術的快速發展,智能農業逐漸成為現代農業發展的重要方向。本文介紹了一種基于STM32微控制器和ESP8266 Wi-Fi模塊的智能大棚環境監測控制系統。該系統能夠實時監測和控制大棚內的環境參數,如溫度、濕度、光照強度和土壤濕度等,并通…

win11安裝MySQL

目錄[-] 1. 1. 下載2. 2. 安裝 參考文檔:MySQL :: MySQL 8.4 Reference Manual 1. 下載 mysql官網下載msi安裝程序:MySQL :: Begin Your Download 2. 安裝 運行下載的mis程序,逐步安裝。 安裝模式: complete; 進入配置: data di…

Spring Boot 項目統一異常處理

在 Spring Boot 項目開發中,異常處理是一個非常重要的環節。良好的異常處理不僅能提高應用的健壯性,還能提升用戶體驗。本文將介紹如何在 Spring Boot 項目中實現統一異常處理。 統一異常處理有以下幾個優點: 提高代碼可維護性:…

Linux內核重置root密碼

Ubuntu 首先重新啟動Ubuntu系統,然后快速按下shift鍵,以調出grub啟動菜單在這里我們選擇第二個(Ubuntu高級選項),選中后按下Enter鍵 選擇最高的Linux內核版本所對應的recovery mode模式,按e鍵編輯啟動項 在…

【Spring】深入理解 Spring 中的 ImportSelector、Aware 和 Processor 接口

前言 Spring 框架提供了一系列接口和機制,為開發者提供了靈活、可擴展的編程模型。其中,ImportSelector、Aware 接口以及 Processor 系列接口是非常重要的擴展點,本文將深入探討它們的設計目的、使用方法以及示例應用。 一、ImportSelector…

2024電工杯參賽經歷感受總結

1.基本情況 現在的時間是5月25日晚上的7點42分,首先聲明,以下內容完全是個人的感情,無不良引導,這個電工杯是我們小隊第一次參加數學建模比賽,我們選擇的是含有4個小問的B題目,就是這個題目的主題就是針對…

mac brew 命令詳解

brew 是 macOS 系統中 Homebrew 的命令行工具,用于在 macOS 上安裝、更新和管理各種軟件包。以下是對 brew 命令的詳細介紹,按照功能和使用頻率進行分點和歸納: 1. 安裝和卸載軟件包 安裝軟件包:使用 install 命令,后…

springboot 實現跨域的幾種方式

1、跨域的原因: 由于同源策略(Same Origin Policy)的限制,瀏覽器不允許跨域請求。同源策略規定,A網頁設置的Cookie、LocalStorage和IndexDB無法被同源以外的網頁讀取。 2、原因: 1)瀏覽器的同源策略(Same Origin Policy)限制了跨域請求。主要…

leetcode 1774.最接近目標價格的甜點成本

思路:DFS暴力 今天就不整動態規劃了,腦子有點用不過來了。 這個題其實暴搜就行了,在暴搜之前,首先定下來初值,也就是冰淇凌的基地,我們一個一個遍歷就行了,然后挨個暴搜 這個DFS的類型是指數…

python tuple(元組)

python list(列表)、創建、訪問、內置index、判斷in、not in、添加元素、insert、append、extend、列表排序、顛倒順序、刪除元素、remove、pop、clear-CSDN博客 目錄 tuple: 元組的主要特點包括: tuple的創建 單個元組需要注…

C++和QML混合編程-C++訪問QML元素

QML在處理一些UI顯示的時候比較擅長,但當涉及到一些后臺業務的時候就比較乏力了。這里介紹一下如何通過C++對QML的能力進行擴展。C++訪問操作QML的方式主要分為兩種: 1.通過findChild查找QML子元素 2.通過QQmlComponent動態創建元素。 下面分別介紹一下兩種方式的詳細用法。…

測試用例篇

測試用例的基本要素 **測試用例是為了實施測試而向被測試的系統提供的一組集合,這組集合包含:測試環 **境、操作步驟、測試數據、預期結果等要素.評價測試用例的標準:**對比好壞用例的評價標準 **用例表達清楚,無二義性用例可操作…

Spring服務啟動后就執行某個方法

下邊按照執行順序前后,測試代碼結果截圖放到最后: 1、注解PostConstruct 時間:當前bean被創建并且所有的依賴注入完成之后執行; 使用:當前bean 所在類內的某個方法上 添加該注解;該方法沒有參數&#xf…

探索移動云服務:構建高效移動互聯網應用的最佳實踐

一、移動云服務簡介 官網:https://ecloud.10086.cn 移動云,或稱為移動云計算,是通過無線網絡向移動設備用戶提供云計算服務的技術。它使用戶能夠通過智能手機、平板電腦和筆記本電腦等各類移動設備,在任何時間、任何地點便捷地訪…

小程序怎么改名

經常有商家想要對自己的小程序進行重命名,改名可能是為了更好地與品牌形象以及業務相匹配,也可能是為了更好地吸引用戶。那么如何才能更名呢? 一、準備幾個新名字。 在決定改名之前,首先要確定幾個新的小程序名字。為什么要準備…

帝國CMS如何修改時間格式,變成幾分鐘,幾小時教程

該插件已經在帝國cms6.6上測試通過&#xff0c;至于其他版本&#xff0c;請自行測試。 目前支持&#xff1a;標簽模板&#xff0c;列表模板&#xff0c;內容模板 安裝說明&#xff1a; 把以下的內容復制到 /e/class/userfun.php 文件里&#xff08;放在<?php和?>之間…

自定義類型:結構體詳解

1.結構體 1.1 結構的基礎知識 結構是一些值的集合&#xff0c;這些值稱為成員變量。一個整型數組&#xff0c;它的每個數組元素只能是整型&#xff0c;字符型的數組它的每個元素只能是字符型。但是結構體的每個成員可以是各種不同類型的變量。 1.2結構的聲明 //聲明 struct t…

Excel如何換行不換格

在換行的字之間 按住Alt 回車

孜然多程序授權系統V2.0開源

源碼介紹 孜然一款多程序授權系統&#xff0c;支持自定義權限價格/新增程序配置等支持自動生成授權代碼在線簽到在線充值多支付接口IP/域名云黑文章系統&#xff08;富文本編輯器&#xff09;卡密功能一鍵云黑&#xff08;掛個大馬/一鍵黑頁/一鍵刪庫/一鍵刪源碼&#xff09; …