時空演算法庫
Ⅰ 演算法的正確性、健壯性、易讀性、時空性怎麼評價
評價演算法的四個標准:
1.正確性
能正確地實現預定的功能,滿足具體問題的需要。處理數據使用的演算法是否得當,能不能得到預想的結果。
2.易讀性
易於閱讀、理解和交流,便於調試、修改和擴充。寫出的演算法,能不能讓別人看明白,能不能讓別人明白演算法的邏輯?如果通俗易懂,在系統調試和修改或者功能擴充的時候,使系統維護更為便捷。
3.健壯性
輸入非法數據,演算法也能適當地做出反應後進行處理,不會產嫌或生預料不到的運行結果。數據的形式多種多樣,演算法可能面臨著接受各種各樣的數據,當演算法接收到不適合演算法處理的數據,演算法本身該如何處理呢?如果演算法能夠處理異常數據,處理能力越強,健壯性越好。
4.時空性
演算法的時空性是該演算法的時間性能和空間性能。主要是說演算法在執行過程中的時間長短和空間佔用多少問題。
演算法處理數據過程中,不同的演算法耗費的時間和內存空間是不同的。
(1)時空演算法庫擴展閱讀:
演算法是對特定問題求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示一個或多個操作。芹者伍此外,一個演算法還具有下列5個重要的特性。
(1)、有窮性
一個演算法必須總是(對任何合法的輸入值)在執行有窮步之後結束,且每一步都可在有窮時間內完成。
(2)、確定性嫌圓
演算法中每一條指令必須有明確的含義,讀者理解時不會產生二義性。即對於相同的輸入只能得到相同的輸出。
(3)、可行性
一個演算法是可行的,即演算法中描述的操作都是可以通過已經實現的基本運算執行有限次來實現的。
(4)、輸入
一個演算法有零個或多個的輸入,這些輸入取自於某個特定的對象的集合。
(5)、輸出
一個演算法有一個或多個的輸出,這些輸出是同輸入有著某種特定關系的量。
Ⅱ 空間聚類演算法簡述
空間數據聚類演算法主要包括四大類:(1)給予劃分的聚類;(2)基於層次的聚類;(3)基於密度的聚類;(4)基於網格的聚類。時空數據聚類演算法是空間數據聚類演算法的驗身,它將時許維度納入聚類計算中。
1.1基於劃分的空間聚類演算法
k-means演算法 :用戶定義k個簇的質心位置——將每個數據點聚合到與之最近的質心所在的簇——重新為每個簇計算質心所在位置——重復步驟二和三直到質心收斂。其計算復雜度為 ,T為步驟四中迭代次數,他對於用戶給定的簇中心點的初始位置和雜訊點非常敏感。同時,在處理海量數據的時候運行時間較長。
1.2基於層次的空間聚類演算法
層次聚的目的是將數據對象分配到一個層次結構中,它遵循兩種劇本策略:向上凝聚和向下分裂。向上凝聚方法將每一個對象看做獨立的簇,然後從整個層次結構的底層開始對具有相似特徵的簇聚合,逐層遞歸至頂層。相反,向下分裂方法把所有的數據對象看做同一個簇,然後從整個層次結構的頂層開始,對具有不同特徵的簇進行分裂,逐層遞歸至底層。其計算的事件復雜度是
1.3基於密度的空間聚類演算法
基於茄豎密度的聚類演算法在發現任意形狀和數據造成方面具有獨特的優勢,且不要求對簇的數量進行初始設置。其演算法包括:DBSCAN演算法,OPTICS演算法,DENCLUE演算法,CURD演算法,Incremental DBSCAN演算法,SDBDC演算法,ST-DBSCAN演算法等。DBSCAN是第一個被提出的基於密度的聚類演算法。而密度主要通過兩個基本參數進行定義:空間半徑 和密度閾值MinPts.
DBSCAN基本概念:
演算法的主要缺點是它的運算時間復 ,因此對海量空間數據的聚類過程需要經過一個無法忍受的耗時。它的另一個缺陷是無法支持多密度聚類埋枝、增量聚類和並行計算。許多工作針對這些問題進行了研究他們可以被概括為兩大類工彎納敏作:⑴演算法改進;(2)演算法並行化。傳統的改進方法採用空間索引技術來快速鎖定數據對象。GirDBSCAN被稱為最先進的DBSCAN演算法它基於網格劃分策略極大的減低了演算法的時間復雜度,且沒有計算精度損失。得益於網格的超規則空間結構,任意兩個格子之間的最短空間距離可以很容易被獲取。對於任意點 ,其關於 的近鄰點只存在於一個固定的格子集合范圍內;換言之,那些格子集合范圍外的點一定不是其的近鄰點,因此這些點與點 之間的距離計算可以被省略,從而提高DBSCAN演算法的計算效率。基於這個想法,Gunawan將整個網格劃分為以 為邊長的正方形格子,用於2維空間數據的基於密度聚類計算,使得每個正方格子內的最大空間距離為因此一旦格子內的點的數量達到或超過MinPts,則該格子里的所有點都是核心點,且屬於同一個簇。因此一個簇可以通過密度相連格子和密度可達格子的最大集合進行計算,從而省略了許多點與點之間的距離計算。同時採用了Voronoi圖技術,進一步改進了DBSCAN演算法的運算效率。但是,構建一個Voronoi圖本身需要消耗大量的時間。基於這個想法,Gan和Tao提出了一種關於p近似DBSCAN演算法來獲得近似精度的計算結果,但只需要關於N的線性計算時間,用於取代傳統的DBSCAN演算法。
1.4基於網格的聚類
基於網格聚類演算法將數據空間劃分為規則的互不相交的格子,再將所有的數據對象映射帶網格中基於格子進行聚類。總結一下就是:將對象空間量化為有限數目的單元,形成一個網狀結構,所有聚類都在這個網狀結構上進行。
我們將學習一下STING演算法以及CLIQUE演算法。