Lecture4 Voting, Machine Learning & Participatory theory(投票,机器学习与参与理论)
1 Preamble(绪论)
讨论:防策略性在政治决策上是相当重要的,但是在我们上一章所提及的另外两个投票系统的应用领域——排序融合和众包中,似乎又不算重要。在这种地方,防策略性是否普遍呢?事实上并不总是如此,因为在这种地方,投票者往往不在意结果如何。那么我们的算法应该要去适合什么更好的性质呢?
2 Voting Rules as Maximun Likelihood Estimators(投票规则与极大似然估计)
2.1 Two Interpretations(两种理解)
讨论:在理解投票规则的时候,基于上面的分析,我们有两种不同的理解:
1.投票规则是为了将不同的偏好融合在一起,在这种意义下,投票者的行为是为了改变投票规则得到的结果,因此,防策略性是有意义的。
2.投票规则是为了从有噪声的,不完美的统计结果中还原基本事实,在这种意义下,投票者的行为是为了寻找某种真相。(相当于,我们假设结果应该是确定的,而人们的投票是对这个结果的拟合)此时,防策略性就没有什么意义了。
2.2 Digression & Regression(线性回归)
讨论:显然,在这部分中,我们要涉及的应该更多的是统计的内容。如果你学过统计学,这部分内容就是小菜一碟了!
定义:(Linear Regression(线性回归))
从给出的n个样本点(x_1,y_1),(x_2,y_2),…,(x_n,y_n)(注:加粗表示向量,·表示向量内积)中寻找一个对它们的线性拟合,即:y=a·x+b
分析:这个问题和投票问题有点像,因为每个点都投票要求最终的直线穿过自己,而我们现在的目的就是通过这些“投票”来计算最终的拟合线。
在回归问题中,常用的方法是最小方差法:即:
M
i
n
i
m
i
z
e
Σ
i
=
1
n
(
Σ
j
=
1
d
a
j
x
i
j
−
y
i
)
2
Minimize \quad \Sigma_{i=1}^n (\Sigma_{j=1}^d a_jx_{ij}-y_i)^2
MinimizeΣi=1n(Σj=1dajxij−yi)2
这个函数是凸函数,与之相应的,它可以通过梯度下降法来取得最小值。
描述其极小性的方法:
为什么最小化方差,而不是别的统计值,比如距离的平均值,是好的呢?有一种解释是从概率的角度来的:假设最终应该拟合到的直线是y=a·x+b,那么每个样本点就代表一个拟合值和一个误差值,即y_i=a·x_i+b+ε_i. 如果我们假设这个误差满足i.i.d.(独立同分布),那么使用极大似然估计的方法,我们很容易证明,这个误差满足高斯均匀分布(正态分布)的结果即为方差最小化的结果。
2.3 Take-Aways(摘要)
讨论:我们在证明某一个方案比其他的方案更有优势的时候,该怎么做?**一直以来,我们关注的都是某个方案的若干特性,而这次2.2的分析启发我们,证明其在数学上有某种程度的最优性也是同样可行的。**在下一节中,我们会把这种思想迁移到投票上来。
3 Majority Vote as a Maximum Likelihood Estimator(“少数服从多数”的极大似然估计性)
讨论:如果仅有两个候选人A={a,b},且假设每个投票者都有p的概率投给“正确”的人,(1-p)的概率投给“错误”的人,p>1/2。那么,假设有k个人投票给a,(n-k)个人投票给b,则若a是正确的人,这种投票的出现概率为C(n,k)*pk*(1-p)(n-k);而若b是正确的人,这种投票的出现概率就是C(n,k)*p(n-k)*(1-p)k;而前者的值大于后者当且仅当k>n/2,因此,从极大似然估计的角度来看,少数服从多数原则是合理的。
4 The Kemeny Voting Rule
讨论:n=2时的问题已经解决了,那么,n≥3的时候呢?大量的不可比较的选择将开始令我们困惑。
4.1 The Maximum Likelihood Estimator for Independent Pairwise Comparisons
模型:我们记A的真正结果为π,那么π中包含了C(|A|,2)个比较对(即对任意a≠b,a>b或a<b)。则,对于任意两个候选人a,b,假设有k个人认为a>b,(n-k)个人认为a<b,并且判断正确的概率是p,错误的概率是1-p,那么若a确实>b,出现的概率还是C(n,k)*pk*(1-p)(n-k);否则是C(n,k)*p(n-k)*(1-p)k。之后,我们将所有人对这所有对的判断乘起来,那么理论上π中产生这样的结果的概率就是
p
Σ
a
,
b
∈
A
k
a
b
σ
(
1
−
p
)
Σ
a
,
b
∈
A
(
n
−
k
a
b
σ
)
p^{\Sigma_{a,b∈A}k_{ab}^\sigma}(1-p)^{\Sigma_{a,b∈A}(n-k_{ab}^\sigma)}
pΣa,b∈Akabσ(1−p)Σa,b∈A(n−kabσ)
其中k_ab^\sigma等于在sigma中a.b排序与π中a.b排序相同的数量
而我们要做的就是通过给定的所有sigma的数据来还原哪一个排序π使得这个概率取值最大,那么根据极大似然估计(MLE),它就是我们要寻找的概率
4.2 The Mallows Model
模型:在这个模型中我们要提交的不再是4.1中的偏好对,而是偏好顺序表。我们仍然假设存在一个真实排序π,但是这次我们对π的概率估计转化为它和σ的“冒泡距离”(也就是逆序对总数),这样的话,我们就可以使用与上面完全相同的方法来做MLE
4.3 Computational Considerations(计算性能讨论)
讨论:虽然这两个算法看起来很不错,但是我们同时也需要一个好的计算性能。穷举是一个不错的方法,虽然笨重但是比较有效。那么,有没有更快的方法呢?遗憾的是,基于Kemeny Rule的求解是一个NP问题。当然,这不意味着你的问题被判了死刑,但是,这说明在无特殊结构的大型问题上,你需要降低对Kemeny算法的期待——如果真要解决大型问题,Kemeny问题一般需要启发式算法的辅助。
5 Participatory Budgeting(参与式预算)
5.1 K-Approval Voting
规则:每一个参与者都会被告知政府的年度预算总额以及一个项目清单(附带它们的预算),参与者需要从这些清单里挑出k个最喜欢的项目(不分先后)
算法:把项目按照喜欢的人数从高到低排序,然后依次上马,直到预算耗尽为止。
讨论:这个算法的问题很明显——人们在选择项目的时候并不关心性价比,因此好的项目(一般花钱也更多)更容易被人选择。另一方面,它也不防策略——如果你希望某一个大项目能上马,那么你必然会选择若干个小项目来“凑数”,防止其他花钱多的大项目把你喜欢的大项目挤下去。
5.2 Knapsack Voting(背包投票)
规则:允许每个人选择任意个不超过总预算的项目,然后根据票数排序,依次上马。最后一个上不完的项目可以上马一半。
5.3 Properties of Knapsack Voting
假设:(很合理,为了满足一些好性质)
1.每个投票者都有一个项目集合S_i是ta想要的,且花费不超过总预算。
2.每个投票者都希望S_i中的项目被投入尽可能多的钱。
性质:1.防策略性
证明:如果一个人瞒报了项目,那么他的项目集合S_i内的项目获得的投资期望单调不增
2.如果每个人都报上了自己的真实需求,那么结果是Pareto最优的
证明:我们考虑所有人的效用和U,则
U
=
Σ
i
=
1
n
Σ
s
∈
S
i
[
m
o
n
e
y
s
p
e
n
t
o
n
s
]
U=\Sigma_{i=1}^n \Sigma_{s\in S_i}[money\ spent\ on\ s]
U=Σi=1nΣs∈Si[money spent on s]
交换一下求和号,立得:
U
=
Σ
s
∈
A
[
m
o
n
e
y
s
p
e
n
t
o
n
s
]
∗
∣
{
S
i
∣
s
∈
S
i
}
∣
U=\Sigma_{s\in A}[money\ spent \ on \ s]*|\{S_i|s \in S_i\}|
U=Σs∈A[money spent on s]∗∣{Si∣s∈Si}∣
后面一个就是投给项目s的总人数,因此,由于项目是按照投票人数上马的,而总钱数不变,因此U达到的必然是最大值。因此,不存在一种能够不损害任何一个人的利益的方案B。
3.背包投票是一个极大似然估计(半自然生成投票模型)
模型:如果我们把投票人给项目t投票的可能性假定为与S_i\t中的项目成本负指数相关(也就是说,如果这个项目他喜欢,那么越花钱他投票的概率就越高)
那么背包投票就是对于这样的模型的一个极大似然估计