Re: [問題] 區域最小值 與 兩組多維向量最小值 快댠…已回收
※ 引述《sunev (Veritas)》之銘言:
: ※ 引述《tonit (tonit)》之銘言:
: : 大家好
: : 兩個加速問題想請教
: : 1. 一個二維矩陣內的區域最小值
: : 定義: 找出 一個 n x m 矩陣中 所有 3 x 3 區域內為最小值的 (值, 索引)
: : 舉例: 給一 3 x 5 矩陣
: : 1 2 1 1 1
: : 1 0 1 0 2
: : 1 1 2 3 1
: : 要找出兩個區域最小值的(值, 索引)
: : 分別是 (0, [2, 2])
: : (0, [2, 4])
: : 目前作法:
: : for nn = 1:n
: : for mm = 1:m
: : if ... (比較八個鄰居看是否最小)
: : end
: : end
: : 這個能否以向量化加速呢?
: 想辦法把問題化成四則運算
: 例如減八個鄰居都要是負值
: 給定特定entry的index
: 算出其八個鄰居的index
: 然後再想辦法用高維矩陣一口氣算完
: 感覺上是做得到
: 但不確定會不會比較快
請問詳細情形
八個鄰居的 index 不難 用手打也不會太久
但這個高維矩陣不清楚要怎麼做
能否再說明一下呢?
: : 2. 兩組高維向量的最小距離
: : 定義: 給 n x k 矩陣, m x k 矩陣
: : 分別代表 n 個 k 維度向量和 m 個 k 維度向量
: : 想要對 n 向量中的每一個向量, 找出 m 個向量中 平方差距離最小的
: : 舉例: n = 3, k = 2 m = 4, k = 2
: : 0 1 0 0
: : 1 1 9 9
: : 8 8 8 9
: : 7 9
: : 則找出 (0 1) <-> (0 0)
: : (1 1) <-> (0 0)
: : (8 8) <-> (8 9)
: : 這樣的對應關係
: 先做出距離矩陣
: 再對某個dimension取min
由 leon 提醒
似乎用 k-nearest neighbor 是不錯的辦法
不過還是想了解一下 sunev
所謂 "做出距離矩陣 在對某個 dimesnsion取min"
能否舉個例子呢?
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.29.142
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章