投票理论简介以及机器学习中的投票规则

  • 政治市场
    • 从个人需求到集体决策
      • 自由的政治市场
  • 投票理论简介
    • Arrow不可能定理
    • Majority Rule
      • May定理
      • Condorcet赢家
      • 中位投票者定理
      • 议程操纵
  • 机器学习中的投票规则
    • 例1:Boosting Randomized Algorithm
    • 例2:Voting Classifier

这一篇博客科普一下政治市场的运作以及投票理论的一些简单结论。投票理论除了在政治学中占据很重要的位置外,在机器学习中也有比较广泛的应用,比如Boosting的majority rule就是对多数原则的借鉴。今天突发奇想试图做这个科普,一方面是为了贴合最近非常热闹的时事,另一方面也希望给各位介绍一下政治学中的voting,从而进一步理解机器学习中的voting。

政治市场

从个人需求到集体决策

政府很重要的职能是提供公共物品与处理公共事务(下面简称公共品),因此政治学一个很关键的问题是如何选出能了解个体需求并能有效提供公共品的候选人组成政府。从经济学的角度,我们可以把政治团体理解为按不同生产策略提供公共品的厂商,政治团体、个人、公共品组成了一个以选票为度量的“政治市场”,政治团体宣扬政见,也就是展示公共品的生产策略;个人是公共品的消费者,通过投票选择所支持的政治团体;政治市场最终以某种规则,根据个体选票决定公共品资源配置。

因此这种集体决策是选票的加总,称这种加总规则叫票决规则(voting rule)。我们可以设想存在一个“集体人(collective man),Ta可以代表个体意志的总和,集体决策其实是这个“集体人”来做的。我们希望如果每个个体都是理性的(包括评价理性和行动理性两层含义,评价理性指对政策的偏好是一个良序或叫线性序,行动理性指愿意执行根据评价理性决出的最优政策并愿意克服执行中遇到的困难),那么这个“集体人”也要是理性的。偏好是良序要求偏好具有完备性和传递性(参考UA MATH523A 实分析1 集合论基础2 序关系与Zorn引理了解完整定义,良序的好处是根据Zorn引理,我们一定可以决出最优政策),完备性说明在两个政策中,一定可以决出一个次优的;传递性说明在A、B、C三个政策中,如果B相对A是次优的,C相对B是次优的,那么C相对A一定是次优的。如果完备性不成立,那么可选的政策就不是一个良序集,Zorn引理不成立,我们就不一定能在可选的政策里面找到最优的政策;如果传递性不成立,就会导致票决循环(Voting Cycling)。比如还是在A、B、C三个政策中,如果B相对A是次优的,C相对B是次优的,但投票结果又显示A相对C是次优的,那么A、B、C这三个政策的偏好就成一个环形而不是线性的了,我们也没有办法决出一个最优政策。票决规则决定了从个人到“集体人”的映射,一个亟待回答的问题是我们应该设计一个怎样的票决规则使得在从个人到“集体人”的映射中,理性得以保留。Arrow提出了理想票决规则的五个公理,但他证明了这五条公理不能同时成立,这个结论被称为Arrow不可能定理,我们稍后再讨论这个定理。

一种非常有趣的票决规则是“全体一致”(Unanimity),也就是所有成员必须对某个问题达成共识。在这种票决规则下,每一个成员都有了无限的决策权力,因为Ta可以通过不同意去否决其他成员的共识,比如联合国安理会五常。这种票决规则虽然存在,但它并不能体现集体理性,因为成员具有无限的决策权力,在不存在投票外的协商时,政策偏好是不具有完备性的。

多数投票(Majority Voting)也是非常常见的一种票决规则,它的原理就是少数服从多数。尽管多数投票早已渗透了我们生活的方方面面,但这种票决规则其实是不满足传递性的,也就是说它可能导致票决循环。比如小O、小T和小B用多数法则、每人两票决定早饭吃香蕉、山竹还是牛奶,小O投给了香蕉和牛奶,小T投给了香蕉和山竹,小B投给了山竹和牛奶,这时多数投票就失效了。针对多数投票的一种改进是两段式决策,第一段按全体一致的规则决定议案是否成立,第二段投票表决议案是否通过。在第二段决策中,一种比多数投票更优的操作是不确定之幕原则(Principle of Veil of Uncertainty)下的多数投票,也就是在制定规则时,要让参与表决的人无法议案的通过与否对其带来的潜在利害,这种原则在台湾省的立委选举中有所体现。

自2008年起,台湾省立委选举实施单一选区两票制(single-member district two votes system),选举时将全省分区,立委候选人由各选区、各政党推举(分别被称为区域候选人与政党代表),每名选民有两票,其中一票投给区域候选人,另一票投给政党代表。每一个选区得票最高的区域候选人(无需过半)当选区域立法委员,占立委73席;原住民区域立委占6席,也是按选区多数投票决定;全国不分区及侨居国外国民立法委员占34席,根据政党得票比例按最大余额法分配,政党需要得票率5%才有资格参与席位分配。最大余额法(largest remainder method)有四种处理方法,台湾省立法院采用黑尔数额法(Hare quota),公式是黑尔数额等于总票数除以席位总数。比如纳米比亚的西南非洲人民组织、民主者大会党、纳米比亚联合民主阵线要竞选4个国民议会席位,一共1000票,西南非洲人民组织独得450票,民主者大会党获得300票,纳米比亚联合民主阵线获得250票。在这个投票中,黑尔数额是1000/4=250,西南非洲人民组织得票超过了黑尔数额,于是首先分得一个席位,并剩余200票;民主者大会党可以获得一个席位,剩余50票;纳米比亚联合民主阵线得票数正好等于黑尔数额,获得一个席位,剩余0票。现在每个政党剩余票数均不足一个黑尔数额,但西南非洲人民组织剩余票数最高,于是西南非洲人民组织获得最后一个席位。

说回台湾省立委选举,2007年进行了首次选区划分,按2014年立法院新规,即每十年重新划分选区,台湾省于2017年重新划分了选区。但在四年一次的立委选举中,为了避免候选人计算对其最有利的选区范围,通常会由立法院长与行政院长在选举开始前1-2年决定是否对选区进行调整,这样就是实现了不确定之幕。

自由的政治市场

Arrow不可能定理论述了理想的票决规则是不存在的,而在真实世界中,票决规则所起到的作用仅仅只是一种加计个体投票寻找集体决议的规则,真正的集体决策过程更多地发生在选民与候选人的互动、政党与政党的博弈、不同利益相关人的协商与妥协之间,因此我们更需要了解的是一个“自由的”政治市场的运行机制。

这里介绍一个非常简化的“自由的”政治市场的框架。首先要明确政治市场参与者有选民、政党以及媒体。第一步是在每个政党中选出执政官,如果这个政党成为在野党,这群执政官将负责贯彻政党的政见,并代表政党提供公共品。第二步是由选民投票选出执政党,媒体为选民提供关于政党与候选人的信息,政党与相关利益集团用各种方式为自己拉票。第三步是执政官与执政党提供公共品,处理公共事务,但不同的利益集团可能会派出说客对执政党、执政官进行游说,试图影响政策;与此同时,媒体也会对政策对执政过程以及公共品的提供进行监督。这就是一个非常典型的民主政治。需要注意的是民主政治与民粹政治具有本质的区别,在民主政治中公共品的提供是政治市场均衡的结果,但民粹政治是由意识形态决定民主程序、票决规则与政府,使得政治市场被意识形态束缚。

关于自由主义、政府以及政治市场的更多内容可以参考黄春兴的《当代政治经济学》以及斯蒂格利兹的《公共经济学》。

投票理论简介

现在我们针对票决规则进行更详细的讨论,研究票决规则及其政治后果的领域是投票理论(voting theory)。如果从集合论的角度理解票决规则,用XXX表示政策集,用nnn表示表决者的数目,用XXX上的良序⪯i\preceq_i⪯i​表示第iii个表决者的政策偏好,则票决规则的目标是要建立一个映射f:∏i=1n(X,⪯i)→Xf:\prod_{i=1}^n(X,\preceq_i) \to Xf:∏i=1n​(X,⪯i​)→X,使得在XXX上自然存在一个良序。

Arrow不可能定理

前文说到Arrow认为理想的票决规则应该有五个条件,这五个条件是INPUT

  1. Independence of Irrelevant Alternatives (I)
  2. Non Dictatorship (N)
  3. Pareto Criteria (P)
  4. Unrestricted Domain (U)
  5. Transitivity (T)

I的含义是不相关的议案与其他议案是独立的(独立议案),比如某寝室要进行一次集体表决,A,B,C是三个关于中午吃什么的议案,D是关于周日早上睡到几点的议案,那D和A,B,C讨论的问题不一样,因此它是与A,B,C不相关的议案,如果只讨论A,B,C时,它们的偏好关系是A⪯B⪯CA \preceq B \preceq CA⪯B⪯C,那么在同时讨论A,B,C,D时,它们的偏好关系也应该是A⪯B⪯CA \preceq B \preceq CA⪯B⪯C。

N的含义是非独裁,也就是在像空间XXX上自然存在的良序不能恒等于⪯i\preceq_i⪯i​中的任一个,也就是集体决策的偏好不能总是与某一个人的偏好一致,比如这个寝室如果每次集体表决的偏好都和寝室长的偏好一致,那肯定就是有问题的。

P就是Pareto增益原则,比如A代表食堂,B代表黄焖鸡米饭,C代表重庆鸡公煲,这个寝室每个人都认为中午吃黄焖鸡米饭要比去食堂吃好,那么集体表决的结果也应该体现这种偏好。

U指的是投票人无限制,也就是具有任何偏好的人都可以参与表决,假设这个寝室一个西南人,一个东南人,一个东北人,一个西北人,大家口味偏好不一致,但大家都可以参与中午吃什么的表决。

T就是要求“集体人”的偏好具有传递性,这至少能够保证在表决中不会出现票决循环。

Arrow不可能定理 当存在两个以上的选择时,不存在集体决策过程(collective decision-making process)满足INPUT。Arrow对这个定理的证明数学上是非常严谨非常精彩的,感兴趣的朋友可以参考Arrow的《社会选择与个人价值》或者阿玛蒂亚森的《集体选择与社会福利》。Arrow实际证明的是满足前四个条件的票决规则一定是独裁式的。

Majority Rule

May定理

May对多数投票法则的分析早于Arrow不可能定理,May定理其实是Arrow不可能定理的一个基础。

May定理 多数投票是唯一满足下面四个性质的票决规则:

  1. Anonymity
  2. Neutrality
  3. Decisiveness
  4. Positive Responsiveness

第一条的含义是个体自主投票,第二条的含义是每一票等权重,第三条的含义是如果每个人的投票结果都改变,则集体票决结果将改变,第四条的含义是假设A,B两议案票数相同,如果投某投票者从反对改为弃权或者从弃权改为赞成,则A,B两议案中可以决出一个较优的。

May定理作为分析多数投票的一个奠基性工作,给出了多数投票的一些好的性质,但前文已经提到了,多数投票是不具有传递性的,因此尽管这种票决规则的性质非常好,但它是可能出现票决循环的。

Condorcet赢家

如果候选议案只有两种,那么就不存在关于议案偏好的传递性的问题了,毕竟要讨论传递性至少需要三个不同的议案,因此多数投票是可以用在只有两种议案的集体决策中的。这个事实给我们的启发是,对于有多个议案的集体决策问题,我们可以设计一系列二元议程(binary agenda),每一次决出两个议案中的较优者,最终找出决出一个最优的议案。

实现这种票决程序的最有名的方法是Condorcet Voting,它的含义就是假设有nnn个议案,就让他们两两接受投票,互相battle,如果出现一个议案可以胜过其他所有议案,那么这个议案就是Condorcet Winner,它就应该是我们决出的那个议案。但是回到前文的例子,小O、小T和小B用多数法则、每人两票决定早饭吃香蕉、山竹还是牛奶,小O投给了香蕉和牛奶,小T投给了香蕉和山竹,小B投给了山竹和牛奶,这种情况被称为Condorcet Paradox,因为不论选择哪一种,都有两个人支持其他选择,我们没有办法决出一个Condorcet赢家,这时就可以采用一些用来改进Condorcet Voting的方法,更多细节以及除多数投票外的其他投票规则可以参考Paul E. Johnson的Voting System。

中位投票者定理

当政策集(policy space)是一维的时候,中位投票者定理可以保证Condorcet Winner的存在性(充分条件)。这里用一个简单的例子说明一维政策集是什么意思,比如有三份议案讨论最短产假天数,第一份认为最短产假天数应该定为180天,第二份认为是11个月,第三份认为是一年半,也就是说这三份议案讨论的是同一个问题,它们仅仅是在数值上有所差异,这三份议案组成的政策集就被称为一维的政策集。下面叙述中位投票者定理:

中位投票者定理I(单峰分布):假设有奇数个投票者,政策集是一维的,如果投票者对政策的偏好是单峰的,在多数法则下,中位投票者的票选的政策就是Condorcet赢家。

我不想引入一些定义的或者技术性的专业名词,所以这里就用一个简单的例子解释中位投票者定理。比如某街道办事处要决定是否举办街道迎新春晚会活动,于是让该街道办事处辖区7位业主代表进行投票表决,如果用-1到1之间的数表示业主代表愿意举办街道迎新春晚会活动的程度,-1表示非常不想,1表示非常想,如果业主代表的偏好为-1, -0.5, -0.2, 0, 0.3, 0.4, 0.9,那么最终的投票结果其实是由中位投票者,也就是偏好为0的那位业主代表所决定的。

这个只是中位投票者定理的一个版本,但却是大家接触较多的政治科普中最常见到的一个版本,因为它的结论非常有道理并且浅显易懂。更多关于中位投票者定理的内容可以参考Hindriks与Myles的中级公共经济学以及Congleton的The Median Voter Model。

议程操纵

当不存在Condorcet赢家时,议程操纵(agenda manipulation)就可能发生了。前面我们讨论到Condorcet方法就是用一系列二元议程去处理有多个候选议案的方法,当存在Condorcet赢家时,改变议程并不会改变Condorcet赢家;但不存在Condorcet赢家时,改变议程可能会影响投票结果,议程操纵就是在Condorcet赢家不存在的情况下,通过操纵议程去实现自己想要的投票结果的行为。

比如小O、小T和小B用多数法则、每人两票决定早饭吃香蕉、山竹还是牛奶,小O的偏好是香蕉>牛奶>山竹,小T的偏好是山竹>香蕉>牛奶,小B的偏好是牛奶>山竹>香蕉,如果小T想要通过议程操纵使大家决定早饭吃山竹,那么他可以安排第一轮投票在香蕉与牛奶之间展开,小T知道根据小O的偏好,香蕉与牛奶之间小O会选择香蕉,于是小T只要投给香蕉就可以让牛奶落选;第二轮投票在山竹与香蕉之间展开,因为山竹与香蕉之间小B一定会选择山竹,再加上小T投给山竹的一票,就能保证它们早饭吃山竹了。

机器学习中的投票规则

最后我们简单讨论一下voting在机器学习中的应用。Voting theory从政治学到机器学习其实是一个比较自然的延申,毕竟voting的作用就是做collective decision,因此机器学习中需要做collective decision的地方都可以用voting。用voting做collective decision有两个优点:1)做出最优决策;2)提高准确度,这两个优点也能被机器学习完美地继承。机器学习中的voting被分为两类:hard voting和soft voting,hard voting就是简单多数法则,比如在kNN中,要决定第iii个点的class,可以看它周围kkk个与之最近的点的class,如果kkk个中多数都是class = 1,那么第iii个点的class = 1,这种就是hard voting的思想;soft voting就是加权多数法则,每个点并不是等权重的。

例1:Boosting Randomized Algorithm

这个例子来源于Roman Vershynin的High-dimensional probability, Exercise 2.2.8,因为这是UA MATH567A第二次作业的一个题目,所以我自己做过一次,下面附原题和我的证明。

简单解释一下这道题的思想:假设我们想要做一个决策,这个决策只有是和否这两种回答,找到最优的决策的概率为0.5+δ0.5+\delta0.5+δ,现在我们想集思广益,如果我们找NNN个人来投票,每人一票按多数法则决定最终答案,那么当NNN足够大时,我们可以保证找到最优决策的概率是1−ϵ1-\epsilon1−ϵ,这个题目要证明的就是NNN至少要多大,才能让找到最优决策的概率至少是1−ϵ1-\epsilon1−ϵ。这就是hard voting在机器学习中用来提高精度的一个经典例子。

Boosting Randomized Algorithm可以用来构造更精确的区间估计,具体可以看Roman Vershynin的High-dimensional probability, Exercise 2.2.9。


Answer.
Let binary r.v. XiX_iXi​ indicate the iii-th outcome of algorithm and Xi=1X_i=1Xi​=1 means it turns out to be wrong decision.
P(Xi=1)=12−δ,P(X1=−1)=12+δP(X_i=1) = \frac{1}{2}-\delta,\ P(X_1=-1)=\frac{1}{2}+\deltaP(Xi​=1)=21​−δ, P(X1​=−1)=21​+δ

By majority voting, we need to compare ∑i=1NXi\sum_{i=1}^N X_i∑i=1N​Xi​ and 000 and our goal is to achieve
P(∑i=1NXi<0)≥1−ϵP\left(\sum_{i=1}^N X_i <0 \right) \ge1-\epsilonP(i=1∑N​Xi​<0)≥1−ϵ

Now consider Thm 2.2.6,
P(∑i=1N(Xi−EXi)≥t)≤exp⁡(−2t2∑i=1N(Mi−mi)2)P \left( \sum_{i=1}^N (X_i-EX_i) \ge t\right) \le \exp \left( -\frac{2t^2}{\sum_{i=1}^N(M_i-m_i)^2}\right)P(i=1∑N​(Xi​−EXi​)≥t)≤exp(−∑i=1N​(Mi​−mi​)22t2​)

We can calculate EXi=−2δEX_i = -2\deltaEXi​=−2δ, and let Mi=1,mi=−1M_i=1,m_i=-1Mi​=1,mi​=−1,
P(∑i=1NXi<t−2Nδ)>1−exp⁡(−t22N)P \left( \sum_{i=1}^N X_i < t-2N\delta\right) >1- \exp \left( -\frac{t^2}{2N}\right)P(i=1∑N​Xi​<t−2Nδ)>1−exp(−2Nt2​)

Let t=2Nδt=2N\deltat=2Nδ,
P(∑i=1NXi<0)>1−exp⁡(−2Nδ2)≥1−ϵexp⁡(−2Nδ2)≤ϵ⇒N≥12δ2ln⁡1ϵP \left( \sum_{i=1}^N X_i < 0\right) >1- \exp \left( -2N\delta^2\right)\ge1-\epsilon \\ \exp \left( -2N\delta^2\right) \le \epsilon \Rightarrow N \ge \frac{1}{2\delta^2}\ln \frac{1}{\epsilon}P(i=1∑N​Xi​<0)>1−exp(−2Nδ2)≥1−ϵexp(−2Nδ2)≤ϵ⇒N≥2δ21​lnϵ1​

例2:Voting Classifier

这个例子来源于Michael Beyeler的Machine Learning for OpenCV,implementing a voting Classifier。

假设我们要做一个二元分类,于是我们选了logistics regression,SVM和random forest,但我们想要试图综合这三种分类算法以获得一个更优的结果,这时就可以用voting的思路。当讨论第iii个点的分类时,我们把logistics regression,SVM和random forest的结果当成是它们的投票,按多数法则决定第iii个点的分类。比如logistics regression,SVM和random forest分别认为第iii个点的分类是0,1,1,那么根据多数法则,第iii个点的分类定为1。

投票理论简介以及机器学习中的投票规则相关推荐

  1. 机器学习中的范数规则化之L0、L1、L2范数

    我的博客中参考了大量的文章或者别的作者的博客,有时候疏忽了并未一一标注,本着分享交流知识的目的,如果侵犯您的权利,这并非我的本意,如果您提出来,我会及时改正. 本篇博客主要是为了解决机器学习中的过拟合 ...

  2. 机器学习中的范数规则化之(二)核范数与规则项参数选择

    机器学习中的范数规则化之(二)核范数与规则项参数选择 zouxy09@qq.com http://blog.csdn.net/zouxy09 上一篇博文,我们聊到了L0,L1和L2范数,这篇我们絮叨絮 ...

  3. 机器学习中的范数规则化之(二)核范数与规则项参数选择以及RPCA

    机器学习中的范数规则化之(二)核范数与规则项参数选择 三.核范数 核范数||W||*是指矩阵奇异值的和,英文称呼叫Nuclear Norm.这个相对于上面火热的L1和L2来说,可能大家就会陌生点.那它 ...

  4. 机器学习中的范数规则化之核范数及其应用

    我的博客中参考了大量的文章或者别的作者的博客,有时候疏忽了并未一一标注,本着分享交流知识的目的,如果侵犯您的权利,这并非我的本意,如果您提出来,我会及时改正. 主要内容概述: 1.核范数的引入及其作用 ...

  5. 机器学习中的范数规则化之(一)L0、L1与L2范数

    机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http://blog.csdn.net/zouxy09 参考资料:<机器学习中常常提到的正则化到底是什么意思? ...

  6. l2范数求导_机器学习中的范数规则化之(一)L0、L1与L2范数 非常好,必看

    机器学习中的范数规则化之(一)L0.L1与L2范数 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的L0.L1.L2和核范数规则化.最后聊下规则化项参数的选择问题 ...

  7. l2范数求导_机器学习中的范数规则化之(一)L0、L1与L2范数

    source: https://blog.csdn.net/zouxy09/article/details/24971995 zouxy09@qq.com http://blog.csdn.net/z ...

  8. 机器学习中的范数规则化之L21范数

    先看上面l21范数的定义,注意原始矩阵是n行t列的,根号下平方是对列求和,也就是说是在同一行中进行操作的,根号部分就相当于一个l2范数,由此可以看出l21范数实则为矩阵X每一行的l2范数之和. 在矩阵 ...

  9. Useful Things To Know About Machine Learning (机器学习中一些有用的知识)

    Useful Things To Know About Machine Learning 原文作者:Jason Brownlee 原文地址:https://machinelearningmastery ...

最新文章

  1. 利用Powershell查询AD中账号属性
  2. C#7.0连接MySQL8.0数据库的小笔记
  3. 安装memory analyzer
  4. rust-let 不可变绑定与可变绑定(4)
  5. Git 之四 分支管理
  6. 从头到尾彻底理解傅里叶变换算法(下)
  7. 重学TCP协议(7) Timestamps 选项
  8. 浅析python类继承(一)
  9. 视觉SLAM十四讲学习笔记-第三讲-旋转矩阵和Eigen库
  10. Java 多线程(八) 线程状态图
  11. php多条件检索怎么写,sql查询同时满足三个条件 php查询数据库,同时满足三个条件的sql怎么写?...
  12. 想要成为一名优秀的程序员?这8本书告诉你
  13. 微信小程序 服务通知
  14. 在htmlfor循环制作菱形基础上制作空心菱形
  15. php常见面试题总结
  16. HMI-7-[高分屏支持]:Qt 适配高分屏
  17. 模拟登录淘宝--Python
  18. PROFINET 网络拓扑图是如何生成的?
  19. 书友汇德天5小时精心整理分享如何自建数据集【3大模块+逾百个python知识点】吹响集结号!
  20. 解决:‘npm’不是内部命令或外部命令,也不是可运行的程序。npm ERR! code ELIFECYCLE npm ERR! errno 1

热门文章

  1. 浅析国际专利和国内专利。
  2. 变易世界,简易战略,不易华为
  3. Win10服务器离线安装NET3.5组件,保姆级教程
  4. Flutter 基础布局之Column
  5. STM32三种延时函数实现方法
  6. 基于SSM开发的简易版人力资源管理系统
  7. IT架构治理规划指导方案(ppt)
  8. PDF转换控件activePDF DocConverter WBE
  9. 企业数字化成功转型的关键,从这三方面出发
  10. 三个小本创业发明项目,你可以试试看