Streaming -submodular Maximization under Noise subject to Size - - PowerPoint PPT Presentation
Streaming -submodular Maximization under Noise subject to Size - - PowerPoint PPT Presentation
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
π-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. β π + 1 π - a family of π disjoint subsets of π β π: π + 1 π β β+ - a π-submodular function.
Find π = (π1, β¦ , ππ) s.t. π =Ϊπβ€π ππ β€ πΆ that 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 π < πΆ
(*) 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.
π π1 π2 π3
Find max
πβ€π πΊ(π β (π, π))
Disjoint subsets obtained by putting π into ππ
DStream
β’ Obtain π such that π π β₯ π Γ πΆ β₯ π π /(1 + πΏ)
β Using lazy estimation (*)
β’ For a new element π, if π < πΆ
(*) 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.
π π1 π2 π3
Putting π to ππ if
πΊ πβ π,π 1βπ
β₯ π + 1
π π
DStream
β’ Obtain π such that π π β₯ π Γ πΆ β₯ π π /(1 + πΏ)
β Using lazy estimation (*)
β’ For a new element π, if π < πΆ
(*) 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.
π π1 π2 π3
Putting π to ππ if
πΊ πβ π,π 1βπ
β₯ π + 1
π π
Largest possible value of π π β π, π
DStreamβs performance guarantee
β’ π² = (π1, β¦ , ππ) can also be understood as a vector π²: π β [π]
π1 π2 π3 β¦ β¦ π
π
β¦ β¦ β¦ β¦ 1 4 β¦ β¦ π β¦ β¦ β¦ β¦
x π² π = α π if π β ππ if π βΪπ ππ
DStreamβs performance guarantee
β’ π0, π1, β¦ , ππ’ - sequence of obtained solutions
β ππ - obtained solution after adding π elements ( ππ = π)
β’ Construct a sequence π©0, π©1, β¦ , π©π’
π©π = (π© β ππ) β ππ
1 2 3 2 1 2 3 1
ππ π©
1 1 2 3 3 1
π©π
DStreamβs performance guarantee
β’ If in the end π = πΆ π π β₯ 1 β π 1 + π π(π©) 1 + πΏ π
π0 π©0 π1 π©2 π2 π©2 π3 π©3 π4 π©4
DStreamβs performance guarantee
β’ If in the end π = π’ < πΆ, with π is monotone. β Establish recursive relationship between ππ, π‘π π π©πβ1 + π ππβ1 β€ π π©π + 1 + π 1 β π π(ππ) β Bound π π© β π(π©π’) (β) π π© β π π©π’ β€ 1 + π + 2πΆπ 1 β π π(π) β Bound π π©π’ β π(π) (ββ) π π©π’ β π π β€ 1 π π π© + 2πΆπ 1 β π π(π) β Discard π(π©π’) by combining β and (ββ) π π© β€ π π β 1 2 + 4πΆπ 1 β π π(π) π0 π©0 π1 π©2 π2 π©2 π3 π©3
DStreamβs performance guarantee
β’ If in the end π = π’ < πΆ, with π is non-monotone.
β π is pairwise monotone Ξπ,ππ π² + Ξπ,ππ π² β₯ 0 β Using the same framework as the monotone case but with different βmathβ π π© β₯ π π β 1 (1 + π)(3 + 3π + 6πΆπ) 1 β π 2 π(π) π0 π©0 π1 π©2 π2 π©2 π3 π©3
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
π π2 π3
Putting π to ππ if
πΊ πβ π,π 1βπ
β₯ π + 1
π π
What if π π β₯ π + 1
π π ?
- π may have no contribution to π
- Better consider marginal gain
RStream
β’ For a new element π, if π < πΆ
π π1 π2 π3 ππ = πΊ(π β (π, π)) 1 β π β πΊ(π) 1 + π
- ππ is an upper bound on Ξπ,ππ(π)
RStream
β’ For a new element π, if π < πΆ
π π1 π2 π3 ππ = πΊ(π β (π, π)) 1 β π β πΊ(π) 1 + π
- ππ is an upper bound on Ξπ,ππ(π)
- Filter out ππ that ππ β€
π π
- ππ = 0 if ππ β€
π π
- Otherwise ππ keeps its value
- Randomly put π into ππ with probability
ππ
πβ1/ ΰ· π
ππ
πβ1
- π = |
π βΆ ππ β₯
π π
|
RStream
π π1 π2 π3
What if πΊ π β π π = π(π β (π, π)) β πΊ(π β (π, π))
ππ = πΊ(π β (π, π)) 1 β π β πΊ(π) 1 + π
- ππ is an upper bound on Ξπ,ππ(π)
- π has no contribution
- But ππ β
2π 1βπ2 π π β₯ π π
RStream
π π1 π2 π3 ππ = πΊ(π β (π, π)) 1 β π β πΊ(π) 1 + π
- ππ is an upper bound on Ξπ,ππ(π)
(Denoise) Run multiple instances, each instance assumes πΊ is less noisy than it is. ππ,πβ² = πΊ(π β (π, π)) 1 β πβ² β πΊ(π) 1 + πβ² where πβ² = 0,
π πβ1 , 2π πβ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
- ne 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 πΆπ))
Approximation ratio
1 + π 1 β π min
π¦β(1,π] max(π π¦ , π(π¦))
If π is monotone
- π π¦ =
(1+πΏ)(1+π+2πΆπ) 1βπ
π¦
- π π¦ = (
1+π 2+4πΆπ 1βπ2
1 β
1 π + 1) ππ¦ ππ¦βπβ1
If π is non-monotone
- π π¦ =
(1+πΏ)(1+π+2πΆπ) 1βπ
π¦
- π π¦ =
3πβ2 1+π 2+ 8πβ8 πΆπ 1βπ 2 π¦ ππ¦βπβ2
Experimental Evaluation
β’ Influence Maximization with π topics
β π influence spread processes occur independently in a social network. β Find π1, β¦ , ππ that maximize the number of active users
βͺ An active user is a user who is activated by at least 1 topics. βͺ ππ - a seed set of users who start spreading topic π βͺ π1 βͺ β― βͺ ππ β€ πΆ
β’ Social network: Facebook dataset from SNAP
β Leskovec, Jure, and Rok SosiΔ. "Snap: A general-purpose network analysis and graph-mining library." ACM Transactions on Intelligent Systems and Technology (TIST) 8.1 (2016): 1-20.
β’ Influence model: Linear Threshold
β Kempe, David, Jon Kleinberg, and Γva Tardos. "Maximizing the spread of influence through a social network." Proceedings of the ninth ACM SIGKDD international conference on Knowledge discovery and data mining. 2003.
Influence Maximization with π topics
β’ Compared algorithms
β Greedy (Ohsaka, Naoto, and Yuichi Yoshida et al. NIPSβ15) β IM: randomly select 1 topic and solve classical Influence Maximization problem β SGr: simple streaming, pick π with prob.
πΆ π and put to ππ that maximizes πΊ(π‘ β (π, π))