Streaming π -submodular Maximization under Noise subject to Size Constraint Lan N. Nguyen, My T. Thai University of Florida
π -submodular maximization s.t. size constraint β’ π -submodular function is a generalization of submodular function β Submodular set function: input is a single subset π π π + π π β₯ π π βͺ π + π(π β© π) β π -submodular function: input is π disjoint subsets of π π π² + π π³ β₯ π π² β π³ + π(π² β π³) βͺ π² = (π 1 , β¦ , π π ) and π³ = (π 1 , β¦ , π π ) βͺ π² β π³ = (π 1 , β¦ , π π ) where π π = π π βͺ π π β (Ϊ πβ π π π βͺ π π ) βͺ π² β π³ = (π 1 β© π 1 , β¦ , π π β© π π ) β’ π -submodular maximization s.t. size constraint ( M π SC ) β π β a finite set of elements, πΆ β a positive integer. Find π = (π 1 , β¦ , π π ) s.t. π + 1 π - a family of π disjoint subsets of π β π =Ϊ πβ€π π π β€ πΆ that β π: π + 1 π β β + - a π -submodular function. maximizes π(π)
π -submodular maximization s.t. size constraint β’ Applications: β Influence maximization with π topics/products β Sensor placement with π kinds of sensors β Coupled Feature Selection. β’ Existing solutions (*) β Greedy: 2 approximation ratio, π(πππΆ) query complexity πΆ β βLazyβ Greedy: 2 approximation ratio, π(π π β πΆ log πΆ log π ) query complexity with probability at least 1 β π (*) Ohsaka, Naoto, and Yuichi Yoshida. "Monotone k-submodular function maximization with size constraints." Advances in Neural Information Processing Systems . 2015.
Practical Challenges β’ Noisy evaluation. β In many applications (e.g. Influence Maximization), obtaining exact value for π(π) is impractical. β π can only be queried through a noisy version πΊ 1 β π π π β€ πΊ π β€ 1 + π π(π) for all π β π + 1 π β’ Streaming. β Algorithms are required to take only one single pass over π βͺ Produce solutions in a timely manner. βͺ Avoid excessive storage in memory.
Our contribution β’ Two streaming algorithms for MkSC β DStream & RStream β Take only 1 single scan over π β Access πΊ instead of π β Performance guarantee: βͺ Approximation ratio π π /π(π©) : π© - optimal solution. βͺ Query and memory complexity β’ Experimental Evaluation β Influence maximization with π topics. β Sensor placement with π kinds of sensor.
DStream β’ Obtain π such that π π β₯ π Γ πΆ β₯ π π /(1 + πΏ) β Using lazy estimation (*) β’ For a new element π , if π < πΆ π 1 Find max πβ€π πΊ(π β (π, π)) π 2 π Disjoint subsets obtained by putting π into π π π 3 (*) Badanidiyuru, Ashwinkumar, et al. "Streaming submodular maximization: Massive data summarization on the fly." Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining . 2014.
DStream β’ Obtain π such that π π β₯ π Γ πΆ β₯ π π /(1 + πΏ) β Using lazy estimation (*) β’ For a new element π , if π < πΆ π 1 πΊ πβ π,π π π 2 Putting π to π π if β₯ π + 1 1βπ π π π 3 (*) Badanidiyuru, Ashwinkumar, et al. "Streaming submodular maximization: Massive data summarization on the fly." Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining . 2014.
DStream β’ Obtain π such that π π β₯ π Γ πΆ β₯ π π /(1 + πΏ) β Using lazy estimation (*) β’ For a new element π , if π < πΆ π 1 πΊ πβ π,π π π 2 Putting π to π π if β₯ π + 1 1βπ π π Largest possible value of π π β π, π π 3 (*) Badanidiyuru, Ashwinkumar, et al. "Streaming submodular maximization: Massive data summarization on the fly." Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining . 2014.
DStreamβs performance guarantee β’ π² = (π 1 , β¦ , π π ) can also be understood as a vector π²: π β [π] π 1 π 2 π 3 β¦ β¦ π β¦ β¦ β¦ β¦ π x 1 0 4 β¦ β¦ π β¦ β¦ β¦ β¦ π² π = α π if π β π π 0 if π βΪ π π π
DStreamβs performance guarantee β’ π 0 , π 1 , β¦ , π π’ - sequence of obtained solutions β π π - obtained solution after adding π elements ( π π = π ) β’ Construct a sequence π© 0 , π© 1 , β¦ , π© π’ π© π = (π© β π π ) β π π π π 1 0 2 3 0 0 0 0 π© 2 1 2 0 0 3 0 1 π© π 1 1 2 3 0 3 0 1
DStreamβs performance guarantee π© 0 π 0 β’ If in the end π = πΆ π© 2 π 1 π π β₯ 1 β π π(π©) π© 2 π 2 1 + π 1 + πΏ π π© 3 π 3 π© 4 π 4
DStreamβs performance guarantee β’ If in the end π = π’ < πΆ , with π is monotone . β Establish recursive relationship between π π , π‘ π π π© πβ1 + π π πβ1 β€ π π© π + 1 + π π© 0 π 0 1 β π π(π π ) π© 2 β Bound π π© β π(π© π’ ) (β) π 1 π π© β π π© π’ β€ 1 + π + 2πΆπ π(π) π© 2 π 2 1 β π β Bound π π© π’ β π(π) (ββ) π© 3 π 3 π π© π’ β π π β€ 1 π π π© + 2πΆπ 1 β π π(π) β Discard π(π© π’ ) by combining β and (ββ) π 2 + 4πΆπ π π© β€ π(π) π β 1 1 β π
DStreamβs performance guarantee β’ If in the end π = π’ < πΆ , with π is non-monotone . π© 0 π 0 β π is pairwise monotone π© 2 Ξ π,π π π² + Ξ π,π π π² β₯ 0 π 1 β Using the same framework as the π© 2 π 2 monotone case but with different βmathβ π© 3 π 3 π (1 + π)(3 + 3π + 6πΆπ) π π© β₯ π(π) 1 β π 2 π β 1
DStream Lazy estimation to obtain π β’ π π© β [Ξ π , πΆ Γ Ξ π£ ] β’ π can be obtained by a value of 1 + πΏ π β Ξ π [ πΆ , π(1 + π)Ξ π£ ] Query complexity π(ππ πΏ log( 1 + π (1 + πΏ) πΆπ)) 1 β π Memory complexity π(πΆ πΏ log( 1 + π (1 + πΏ) πΆπ)) 1 β π
DStream Approximation ratio 1 + π 1 β π min π¦β(1,π] max(π π¦ , π(π¦)) If π is monotone (1+πΏ)(1+π) β’ π π¦ = π¦ 1βπ 2+4πΆπ π¦ β’ π π¦ = 1βπ π¦β1 If π is non-monotone (1+πΏ)(1+π) β’ π π¦ = π¦ 1βπ (1+π)(3+3π+6πΆπ) π¦ β’ π π¦ = 1βπ 2 π¦β1
DStreamβs weakness πΊ πβ π,π π Putting π to π π if β₯ π + 1 π 2 1βπ π π π What if π π β₯ π + 1 π ? π 3 β’ π may have no contribution to π β’ Better consider marginal gain
RStream β’ For a new element π , if π < πΆ π π = πΊ(π β (π, π)) β πΊ(π) π 1 1 β π 1 + π β’ π π is an upper bound on Ξ π,π π(π) π 2 π π 3
RStream β’ For a new element π , if π < πΆ π π = πΊ(π β (π, π)) β πΊ(π) π 1 1 β π 1 + π β’ π π is an upper bound on Ξ π,π π(π) π 2 π π β’ Filter out π π that π π β€ π π β’ π π = 0 if π π β€ π β’ Otherwise π π keeps its value π 3 β’ Randomly put π into π π with probability πβ1 / ΰ· πβ1 π π π π π π β’ π = | π βΆ π π β₯ | π
RStream π π = πΊ(π β (π, π)) β πΊ(π) π 1 1 β π 1 + π β’ π π is an upper bound on Ξ π,π π(π) π 2 π What if πΊ π β π π = π(π β (π, π)) β πΊ(π β (π, π)) β’ π has no contribution π 3 2π π β’ But π π β 1βπ 2 π π β₯ π
RStream π π = πΊ(π β (π, π)) β πΊ(π) π 1 1 β π 1 + π β’ π π is an upper bound on Ξ π,π π(π) π 2 π (Denoise) Run multiple instances, each instance assumes πΊ is less noisy than it is. π π,π β² = πΊ(π β (π, π)) β πΊ(π) π 3 1 β π β² 1 + π β² where π β² = 0, π 2π πβ1 , πβ1 , β¦ , π π β adjustable parameter, controlling number of instances
(Denoise) Run multiple instances, each instance assumes πΊ is less noisy than it actually is.
Lazy estimation: Ξ π£ is much larger than the one in DStream in order to bound π π sβ value. Query complexity πΏ log(( 1 + π 2 + 4πΆπ)(1 + πΏ) π(πππ πΆπ)) 1 β π 2 Memory complexity πΏ log(( 1 + π 2 + 4πΆπ)(1 + πΏ) π(ππΆ πΆπ)) 1 β π 2
Recommend
More recommend