Gao, Jinyang, et al. "Dsh: data sensitive hashing for high-dimensional k-nnsearch." Proceedings of the 2014 ACM SIGMOD international conference on Management of data. ACM, 2014.
Deep learning study 1. this slide includes basic mathematical theorems for deep learning, such as Bayes's theorem, Bayesian inference, information theorem.
Gradient descent부터 AMSGrad까지 최ì í™” ì•Œê³ ë¦¬ì¦˜ì— ëŒ€í•´ 소개하는 ìžë£Œìž…니다. 추가로 Hessian free ì•Œê³ ë¦¬ì¦˜ì¸ SR1, DFP, BFGSì— ëŒ€í•´ì„œë„ ê°„ëžµížˆ ì†Œê°œí•˜ê³ , ì•Œê³ ë¦¬ì¦˜ì„ ì‹œê°í™”하여 비êµí•œ ìžë£Œìž…니다. This slide introduces the optimization algorithms from first-order(gradient descent) to second-order(hessian free). It deals with all the algorithms in the Keras optimizer. It was made by Taewon Heo.
Economic Development and Satellite ImagesPaul Raschky
Ìý
ºÝºÝߣs for my talk at the Soap Collective from April 2016, Melbourne.
The slides cover my work on
1. the use of nighttime satellite data to measure local economic development and political favoritism.
2. the use of wikileaks data to analyse the effect of media in asymmetric warfare in Afghanistan.
3. the big data project with internet data
Learning a nonlinear embedding by preserving class neibourhood structure 최종WooSung Choi
Ìý
Salakhutdinov, Ruslan, and Geoffrey E. Hinton. "Learning a nonlinear embedding by preserving class neighbourhood structure." International Conference on Artificial Intelligence and Statistics. 2007.
Deep learning study 1. this slide includes basic mathematical theorems for deep learning, such as Bayes's theorem, Bayesian inference, information theorem.
Gradient descent부터 AMSGrad까지 최ì í™” ì•Œê³ ë¦¬ì¦˜ì— ëŒ€í•´ 소개하는 ìžë£Œìž…니다. 추가로 Hessian free ì•Œê³ ë¦¬ì¦˜ì¸ SR1, DFP, BFGSì— ëŒ€í•´ì„œë„ ê°„ëžµížˆ ì†Œê°œí•˜ê³ , ì•Œê³ ë¦¬ì¦˜ì„ ì‹œê°í™”하여 비êµí•œ ìžë£Œìž…니다. This slide introduces the optimization algorithms from first-order(gradient descent) to second-order(hessian free). It deals with all the algorithms in the Keras optimizer. It was made by Taewon Heo.
Economic Development and Satellite ImagesPaul Raschky
Ìý
ºÝºÝߣs for my talk at the Soap Collective from April 2016, Melbourne.
The slides cover my work on
1. the use of nighttime satellite data to measure local economic development and political favoritism.
2. the use of wikileaks data to analyse the effect of media in asymmetric warfare in Afghanistan.
3. the big data project with internet data
Learning a nonlinear embedding by preserving class neibourhood structure 최종WooSung Choi
Ìý
Salakhutdinov, Ruslan, and Geoffrey E. Hinton. "Learning a nonlinear embedding by preserving class neighbourhood structure." International Conference on Artificial Intelligence and Statistics. 2007.
An optimal and progressive algorithm for skyline queries slideWooSung Choi
Ìý
The document presents an optimal and progressive algorithm for processing skyline queries using an R-tree index. It discusses two strategies - recursive nearest neighbor queries and a branch and bound skyline algorithm. The recursive NN query approach requires additional processing to eliminate duplicate results for higher dimensions, while the branch and bound skyline algorithm prunes non-skyline points during traversal to directly generate the skyline without duplicates. The algorithm processes the R-tree in a best-first manner by maintaining a priority queue of tree nodes ordered by their minimum possible skyline size.
Locality Sensitive Hashing (LSH) is a technique for solving near neighbor queries in high dimensional spaces. It works by using random projections to map similar data points to the same "buckets" with high probability, allowing efficient retrieval of nearest neighbors. The key properties required of the hash functions used are that they are locality sensitive, meaning nearby points are hashed to the same value more often than distant points. LSH allows solving near neighbor queries approximately in sub-linear time versus expensive exact algorithms like kd-trees that require at least linear time.
Probabilistic data structures. Part 4. SimilarityAndrii Gakhov
Ìý
The book "Probabilistic Data Structures and Algorithms in Big Data Applications" is now available at Amazon and from local bookstores. More details at https://pdsa.gakhov.com
In this presentation, I described popular algorithms that employed Locality Sensitive Hashing (LSH) to solve similarity-related problems. I started with LSH in general and then switched to such algorithms as MinHash (LSH for Jaccard similarity) and SimHash (LSH for cosine similarity). Each approach came with some math that was behind it and simple examples to clarify the theory statements.
3. 3/ 12
App: Large Scale Image Search in Database
• Find similar images in a large database (e.g. google image search)
Kristen Grauman et al
slide: Yunchao Gong UNC Chapel Hill yunchao@cs.unc.edu
6. 6/ 12
Reality Check
• Curse of dimensionality
• [Qin lv et al, Image Similarity Search with Compact Data Structures @CIKM`04]
•
• poor performance when the number of dimensions is high
Roger Weber et al, A Quantitative Analysis and Performance Study for Similarity-Search Methods in High-
Dimensional Spaces @ VLDB`98
14. 14/ 12
Structure
• LSH
• a Set of Hash tables Hi 1 ≤ i ≤ ð‘™}
• Hash Function ð‘”i:â„100
→ 0,1 ð‘š
ð‘“ð‘œð‘Ÿ Hi
• for example, 𑚠= 6, 𑙠= 26
Key Bucket
000000
000001
...
111111
H1
Key Bucket
000000
000001
...
111111
H2
Key Bucket
000000
000001
...
111111
H26
...
ð‘”1 ð‘”2 ð‘”26
15. 15/ 12
Processing: ë„ì‹í™”
• Query Pont q = 984.29,946.23,…,848.21
• Processing
• Step 1. Candidate Set C = ð‘–=1 ð‘¡ð‘œ26 Hi. ð‘”ð‘’ð‘¡(ð‘ž)
• Step 2. return k_Nearest_Neighbors(q) in C
• linear search
Key Bucket
000000
000001
...
111111
H1
Key Bucket
000000
000001
...
111111
H2
Key Bucket
000000
000001
...
111111
H26
...ð‘”1
ð‘”2
ð‘”26
16. 16/ 12
Formally,
ð’“ ðŸ, ð’“ ðŸ, ð’‘ ðŸ, ð’‘ ðŸ − ð’”ð’†ð’ð’”ð’Šð’•ð’Šð’—ð’†
ð‘¯ð’‚ð’”ð’‰ð’Šð’ð’ˆ ð‘ð’‚ð’Žð’Šð’ð’š ð“—
Randomly
extract functions
ℎ11, ℎ12 , … , ℎ1𑚠→ g1
ℎ21, ℎ22 , … , ℎ2𑚠→ g2
â„Žð‘™1, â„Žð‘™2 , … , â„Žð‘™ð‘š → g ð‘™
…
Generating functions
a. ð‘–ð‘“ ð‘‘ð‘–ð‘ ð‘¡ ð‘œ, 𑞠≤ ð‘Ÿ1 ð‘¡â„Žð‘’ð‘› Pr
â„‹
â„Ž ð‘ž = â„Ž 𑜠≥ ð‘1
b. ð‘–ð‘“ ð‘‘ð‘–ð‘ ð‘¡ ð‘œ, 𑞠≥ ð‘Ÿ2 ð‘¡â„Žð‘’ð‘› Pr
â„‹
[â„Ž ð‘ž = â„Ž(ð‘)] < p2
Traditional LSH Technique:
â‘ Derive â„‹ mathematically
â‘¡ prove that a. and b. holds for an
arbitrary h ∈ â„‹ w.r.t. parameter ð‘Ÿ1, ð‘Ÿ2
â‘¢ Randomly extract functions and
build Hash Table.
In DSH(Data Sensitive Hashing):
â‘ learn â„Ž by using adaptive boosting
and ℋ = ℋ ∪ {ℎ}
â‘¡ If â„‹ is not sufficient to guarantee
that a. and b. holds w.r.t ∀ℎ ∈ â„‹ go to â‘
â‘¢ Randomly extract functions and build
Hash Table.
17. 17/ 12
LSH VS DSH
Traditional LSH Technique:
â‘ Derive â„‹ mathematically
â‘¡ prove that a. and b. holds for an
arbitrary h ∈ â„‹ w.r.t. parameter ð‘Ÿ1, ð‘Ÿ2
â‘¢ Randomly extract functions and
build Hash Table.
In DSH(Data Sensitive Hashing):
â‘ learn â„Ž by using adaptive boosting
and ℋ = ℋ ∪ {ℎ}
â‘¡ If â„‹ is not sufficient to guarantee
that a. and b. holds w.r.t ∀ℎ ∈ â„‹ go to â‘
â‘¢ Randomly extract functions and build
Hash Table.
ë°ì´í„° ë¶„í¬ ê³ ë ¤ 기반 기ìˆ
Locality Sensitive Hashing
X
(ì• ë‹¹ì´ˆ Uniform Distributionì„ ê°€ì •í–ˆê¸° ë•Œë¬¸ì— (for â‘¡))
Hashing
+ Mathematics
Data Sensitive Hashing
O
(ëŒ€ìƒ ë°ì´í„° 분í¬ë¥¼ 기준으로 ê°•ì œë¡œ h를 뽑아 내기 때문ì—)
Hashing
+ Machine Learning
20. 20/ 12
Example: Data Set
• 100-dimensional data set ð·
• ð· = 100
• 10 clusters
21. 21/ 12
Build DSH for D
• DSH dsh = new DSH(10, 1.1, 0.7, 0.6, 0.4, querySet, dataSet);
Parameter Value
k (k-NN) 10
𛼠(í•™ìŠµë¥ ) 1.1
𛿠(lower bound of recall) 70%
ð‘1 0.6
ð‘2 0.4
Query Set D
Data Set D
22. 22/ 12
Structure
• DSH
• a Set of Hash tables Hi 1 ≤ i ≤ ð‘™}
• Hash Function ð‘”i:â„100
→ 0,1 ð‘š
ð‘“ð‘œð‘Ÿ Hi
• for example, 𑚠= 6, 𑙠= 26
Key Bucket
000000
000001
...
111111
H1
Key Bucket
000000
000001
...
111111
H2
Key Bucket
000000
000001
...
111111
H26
...
ð‘”1 ð‘”2 ð‘”26
23. 23/ 12
Query Example
• res = dsh.k_Nearest_Neighbor(q=new Point(984.29, 946.23, ..., 848.21)));
• return 10-aNN objs from the given point q
• DSH’s Property:
• Result set must include at least 70% of the exact 10-NN objs
• Result:
Query Point p:
(984.29, 946.23, ..., 848.21)
10-aNN of P (recall: 100%)
24. 24/ 12
Processing: dsh.k_Nearest_Neighbor(q)
• Query Pont q = 984.29,946.23,…,848.21
• Processing
• Step 1. Candidate Set C = ð‘–=1 ð‘¡ð‘œ26 Hi. ð‘”ð‘’ð‘¡(ð‘ž)
• Step 2. return k_Nearest_Neighbors(q) in C
• linear search
Key Bucket
000000
000001
...
111111
H1
Key Bucket
000000
000001
...
111111
H2
Key Bucket
000000
000001
...
111111
H26
...ð‘”1
ð‘”2
ð‘”26
26. 26/ 12
Processing: dsh.k_Nearest_Neighbor(q)
• for each Hð‘–
• H1. ð‘”ð‘’ð‘¡(ð‘ž) ={Data(id=93~98, 100~102)}
• H2. ð‘”ð‘’ð‘¡ ð‘ž = ...
• ...
• H26. ð‘”ð‘’ð‘¡ ð‘ž = ...
• Candidate Set C = ð‘–=1 ð‘¡ð‘œ 26 Hi. ð‘”ð‘’ð‘¡(ð‘ž)
• dsh.k_Nearest_Neighbor(q)
• = k_Nearest_Neighbors(q) in C
27. 27/ 12
Processing: dsh.k_Nearest_Neighbor(q)
• for each Hð‘–
• H1. ð‘”ð‘’ð‘¡(ð‘ž) ={Data(id=93~98, 100~102)}
• H2. ð‘”ð‘’ð‘¡ ð‘ž = ...
• ...
• H26. ð‘”ð‘’ð‘¡ ð‘ž = ...
• Candidate Set C = ð‘–=1 ð‘¡ð‘œ 26 Hi. ð‘”ð‘’ð‘¡(ð‘ž)
28. 28/ 12
Processing: dsh.k_Nearest_Neighbor(q)
• Candidate Set C = {ð‘‘ð‘Žð‘¡ð‘Ž93, ð‘‘ð‘Žð‘¡ð‘Ž94,…}
• C = 28
• result <- Find k-NN(q) in C
• dsh.k_Nearest_Neighbor(q)
• return result Query Pont q = 984.29, 946.23, … , 848.21 T
39. 39/ 12
Notation
• Query Set Q = (Q1,Q2,…,Qq)
• Data Set X = (X1,X2,…,Xn)
• Weight Matrix W
• Wij =
1,if Xj is a k − NN of Qi
−1,if Xj is a (sð‘Žð‘šð‘ð‘™ð‘’ð‘‘) non − ck − NN of Qi
0, ð‘’ð‘™ð‘ ð‘’
1
2
1 2 3 4
( )1 1 0 -1
-1 0 1 1
1 42 3
1 2
1 41 2 23
k = 2, c =
3
2
sampling rate = 1