中横平抽算法
❶ Knuth 洗牌算法
思考:洗牌的结果是所有元素的一个排列。一副牌如果有 n 个元素,最终排列的可能性一共有 n! 个。 公平的洗牌算法,应该能等概率地给出这 n! 个结果中的任意一个 。 如思考虑到这一点,我们就能设计出一个简单的暴力算法了:对于 n 个元素,生成所有的 n! 个排列,然后,随机抽一个。 这个算法绝对是公平的。但问题是,复杂度太高。复杂度是多少呢?O(n!)。因为,n 个元素一共有 n! 种排列,我们求出所有 n! 种排列,至少需要 n! 的时间。所以,这个算法确实是公平的,但是,时间不可容忍。
我们再换一个角度思考“公平”这个话题。其实,我们也可以认为,公平是指, 对于生成的排列,每一个元素都能独立等概率地出现在每一个位置。 或者反过来, 每一个位置都能独立等概率地放置每个元素。
基于这个定义,我们就可以给出一个简单的算法了。说这个算法简单,是因为他的逻辑太容易了,就一个循环:
这么简单的一个算法,可以保证上面我所说的,对于生成的排列,每一个元素都能独立等概率的出现在每一个位置。或者反过来,每一个位置都能独立等概率的放置每个元素。 大家可以先简单的理解一下这个循环在做什么。其实非常简单,i 从后向前,每次随机一个 [0...i] 之间的下标,然后将 arr[i] 和这个随机的下标元素,也就是 arr[rand(0, i)] 交换位置。 大家注意,由于每次是随机一个 [0...i] 之间的下标,所以,在每一轮,是可以自己和自己交换的。 这个算法就是大名鼎鼎的 Knuth-Shuffle,即 Knuth 洗牌算法。
❷ 羽毛球双打的技术和战术
1、双打攻人战术
这是双打中常用的一种战术,就是以人为攻击目标。对付两名技术水平高低不一的对手时,一般都采用这种战术。对付两名实力相当的队员时也可采用这一战术。它集中攻势于对方一名队员,常能起到“集中优势兵力打歼灭战”的作用;如果对方另一队员过来协助,就会暴露出空档,可在其仓促接应、立足不稳时偷袭他。
3、双打攻后场战术
这种战术常用来对付后场扣杀能力较差的对手,把对方弱者调动到后场后使用。此战术多采用平高球、平推球、挑底线把对方一人紧逼在底线,使其在底线两角移动击球,在其还击出半场高球或网前高球时即可大力扣杀,取得这一回合的胜利或主动。如在逼底线两角时对方同伴要后退支援,则可攻击网前空档或打后退者的追身球。
4、双打后攻前封战术
后场队员积极大力扣杀创造机会,在对方接杀放网、挑高球或企图反击抽球时,前场队员以扑、搓、勾、推控制网前,使整个进攻连贯而又有节奏变化,让对方防不胜防。
5、防守
(1)调整站位 为了摆脱被动,伺机转入反攻,首先要调整好防守时的站位。如果是网前挑高球,那么击球者应该直线后退,切忌对角后退。直线后退路线短、站位快、对角后退路线长,也容易被对方打追身球。另一名队员应根据同伴移动后的情况补到空档位。双打防守时的站位调整,都是一名队员在跑动击球时,另一名队员根据同伴的移动情况填补空档。
(2)防守球路
A、攻方杀球者和封网队员在半边场前后站位时,接杀球应打到另半边场地。
B、攻方杀球者和封网者在前后对角位上,接杀球可还击到杀球者的网前或封网者的后场。
C、攻方杀球者杀对角后,如果另一名队员想要退到后场去助攻时,接杀球时可以还击到网前中路或直线网前。
D、把攻方杀来的直线球挑对角,杀来的对角球挑直线,以调动杀球者。 关于防守的方法还有许多,但目的都是为了破坏攻方的进攻节奏和进攻势头。当攻方进攻势头一减,即可平抽或蹲挡,若攻方站位混乱出现空档时,守方即可抓住战机转守为攻取得主动。
❸ 围棋怎么算输赢的
围棋计算胜负:围棋现存在三种规则。中国大陆采用数子规则,中国台湾采用应氏计点规则,日韩采用数目规则。因为黑方先行存在一定的优势,故所有规则都采用了贴目制度。
中国规则
1、贴3又3/4子的规则:第一步,把死子提掉。第二步,只数一方围得点数并记录下来(一般围得点以整十点为单位)。第三步,如果数的是黑棋,再减去3又3/4子,如果数的是白棋,再加上3又3/4子。第四步,结果和180又1/2(棋盘361个点的一半)比较,超过就算胜,否则判负。
黑目数超过184.25子即胜,而白只需超过176.75子即胜。通俗来说为白棋177子为胜,黑棋184.5子为胜。
2、让先与让子:让先不贴目,让子要贴还让子数的一半(就当被让方是预先收了单官)。
日韩规则
日本和韩国规则是一样的,采用数目法,黑棋终局要贴6目半。先数一方的目数并记录下来,再数另一方的目数并记录下来,然后黑棋减去6目半,最后和白棋比较,多者为胜。
值得一提的是“一子两目”的说法。虽然围棋计算胜负的方法不同,但表现在一盘特定的棋局上,贴m子=贴2m目,胜n子=胜2n目。原因在于:数子法,是计算黑白任意一方与归本数(361/2=180.5)的偏差;比目法,是比黑白双方所得目数的差距。
例如,一盘棋黑白双方相互交替落子,进行了280手,盘面地域已全部划清,双方在俘虏和死子回填后,形成如下形势:(1)盘面黑子有140颗,黑方所占实空为44目,即黑方占地140+44=184子;(2)盘面白子有140颗,白方所占实空为37目,即白方占地140+37=177子。
(i)如果不贴子。用数子法计算,黑方占地为184子,黑方胜184-180.5=3.5子。用比目法计算,黑方有44目,白方有37目,黑方胜白方44-37=7目。
(ii)如果贴3.25子,即贴3.25*2=6.5目。用数子法计算,黑方扣除贴子后占地184-3.25=180.75子,黑方胜180.75-180.5=0.25子,即黑方胜1/4子。用比目法计算,黑方扣除贴目后有44-6.5=37.5目,黑方胜白方37.5-37=0.5目,即黑方胜白方1/2目。
(iii)如果贴3.75子,即贴3.75*2=7.5目。用数子法计算,黑方扣除贴子后占地184-3.75=180.25子,此时180.25<180.5,因此白方胜,白方胜180.5-180.25=0.25子。
用比目法计算,黑方扣除贴目后有44-7.5=36.5目,此时36.5<37,因此白方胜,白方胜黑方37-36.5=0.5目,即白方胜黑方1/2目。
由此可见,在围棋最终计算胜负的盘面固定下来后,用数子法和比目法计算出来的结果一般是相同的。但由于贴子或贴目数量的不同,黑白双方的胜负可能会出现不同的结果,正如情形ii与情形iii所列。
对双方互不相让的三劫循环、四劫循环、长生、双提二子等罕见特例,可判和棋或者重下。
以上内容来自 网络-围棋
❹ 抽样的一般步骤有什么
(1)界定总体 (2)制定抽样框 (3)实施抽样调查并推测总体 (4)分割总体 (5)决定样本规模 (6)决定抽样方式 (7)确定调查的信度和效度
❺ 抽样包括的步骤有
按照一定原则进行抽样时,大致可包括如下几个步骤:
1、界定总体
界定总体包括明确总体的范围、内容和时间。实际调查的总体与理论上设定的总体会有所不同,总体越复杂,二者的差别越大。例如,要研究某地青少年的犯罪状况,理论上的总体是这一地区符合一定条件的所有的青少年,但实际上我们能够抽样的总体并不能全部包括,也就是说只能根据我们所能够掌握的这一地区符合一定条件的青少年进行抽样。因此,
抽样总体
有时不等于理论上的研究总体,样本所代表的也只是明确界定的抽样总体。此外,由于调查研究内容的不同,对总体的限定也会有所不同。
2、确定
抽样框
这一步骤的任务就是依据已经明确界定的总体范围,收集总体中全部抽样单位的名单,并通过对名单进行统一编号进而组合成一种可供选择的形式,如名单、代码、符号等。抽样框的形式受总体类型的影响:简单的总体可直接根据其组成名单形成抽样框;但对构成复杂的总体,常常根据调查研究的需要,制定不同的抽样框,分级选择样本。例如,进行全国
人口抽样调查
,先以全国的省市为抽样框选部分省、市为
调查单位
,然后再以这些省、市中的各县、区为抽样框选部分县、区为调查单位,这样依次到村或居委会。
在
概率抽样
中,抽样框的确定非常重要,它会直接影响到样本的代表性。因此,抽样框要力争全面、准确。
3、
样本设计
样本设计包括确定样本规模和选择抽样的具体方式。抽样的目的是用样本来代表总体,自然样本数越大,其代表性越高。但样本数越大,调查研究的成本也越大。因此,确定合适的样本规模和抽样方式是抽样设计中的一项重要内容。我们在第三节中杵详细讨论这一问题。
4、评估样本质量
评估样本质量即通过对样本
统计值
的分析,说明其代表性或误差大小。对
样本代表性
进行评估的主要标准是准确性和
精确性
:前者是指样本的偏差,偏差越小,其准确性越高;后者是指
抽样误差
,误差越小,其精确性或代表性越高。
❻ 算法入门
ROC曲线(受试者工作特征曲线)的横坐标为假阳性率(分错的负样本占所有负样本比率),纵坐标为真阳性率(分对的正样本占所有正样本比率)。通过动态地调整分类模型的分类阈值,可以在ROC图上绘制出每一个分类阈值对应的两个坐标值,再连接所有点绘制出模型的ROC曲线。AUC指ROC曲线下面积的大小,该指标能够量化地反映基于ROC曲线的模型性能,AUC的取值一般都在0.5~1之间,值越大,说明分类器越可能把真正的正样本排在前面,分类性能越好。相比较P-R曲线,ROC曲线在正负样本的分布发生变化时,形状能够基本保持不变,而P-R曲线一般会发生较剧烈的变化,这个特点可以使得ROC曲线能够尽量降低不同测试集带来的干扰,更加客观地衡量模型本身的性能。在实际中,正负样本数量往往不均衡,因此ROC曲线的适用场景更广泛。
对于任意线性可分的两组点,它们在SVM分类的超平面上的投影都是线性不可分的。由于SVM的分类超平面仅由支持向量决定,可以考虑只含有支持向量的场景:假设存在一个SVM超平面满足投影线性可分,则样本中分属两类的支持向量之间的中垂线所组成的超平面是相较于SVM超平面更优的解,这与SVM超平面为最优分类超平面的假设相违背。
SVM的KKT条件:
结合(3)和(4),当 时,必有 ,将这一结果与拉格朗日对偶优化问题的公式相比较: ,其中 。除了支持向量之外,其他系数均为0,因此SVM的分类结果仅依赖于支持向量,SVM的分类结果与仅使用支持向量的分类结果一致。
该问题也可以通过凸优化理论中的超平面分离定理解决。
高斯核SVM的预测公式为: ,固定 ,则有 。由于不存在两个点在同一位置,则对于任意点 ,有 .
对于任意 ,取 ,有
所以,对于任意 ,预测结果 与真实标签的距离小于1,所有样本的类别都被正确预测,训练误差为0.
本题等价于找到使训练误差为0的参数,且是SVM模型的一个解。上述所找到的参数可以满足 ,若想成为SVM的解,还需要满足 。
仍然固定 ,则有 . 此时可以把每个 都选择一个很大的值,同时取一个非常小的 ,使得核映射项 非常小,就可以满足题意。
不一定能得到训练误差为0的模型,因为此时优化的目标改变了,当松弛变量模型目标函数参数C选取较小的值时,正则项将占据优化的较大比重,此时一个带有训练误差但是参数较小的点将成为更优的结果。
如果把一个事件的几率定义为该事件发生与该事件不发生的概率比值,根据逻辑回归的公式 ,逻辑回归可以看作是对于事件"y=1|x"的对数几率的线性回归,所以有回归的名称。但是逻辑回归的因变量是离散的,处理的是分类问题;线性回归中的因变量是连续的,处理的是回归问题。逻辑回归与线性回归的相似处是:都使用了极大似然估计,线性回归的最小二乘实际上是自变量和超参数确定、因变量服从正态分布的假设下使用极大似然估计的一个化简,逻辑回归中通过对似然函数的学习来得到最佳超参数;二者在求解超参数的过程中,都可以使用梯度下降法。
如果一个样本只对应于一个标签,可以假设每个样本属于不同标签的概率服从于几何分布,使用多项逻辑回归(Softmax Regression)来进行分类:
当存在样本可能属于多个标签的情况时,可以训练k个二分类的逻辑回归分类器,第i个分类器用于区分每个样本是否可以归为第i类。
ID3会倾向于选取取值较多的特征,因为信息增益反应的是给定条件以后不确定性减少的程度,特征取值越多就意味着确定性更高,也就是条件熵越小,信息增益越大,C4.5通过引入信息增益比,一定程度对取值比较多的特征进行惩罚,避免ID3出现过拟合的特性,提升模型的泛化能力;ID3只能处理离散变量,而C4.5和CART都可以处理连续变量;ID3和C4.5只能用于分类任务,CART不仅可以分类也可以用于回归;ID3和C4.5可以在每个结点上产生出多叉分支,且每个特征在层级之间不会复用,而CART每个结点只会产生两个分支,且每个特征可以被重复使用;ID3和C4.5通过剪枝来权衡树的准确性与泛化能力,而CART直接利用全部数据发现所有可能的树结构进行对比。
对于给定的一组数据点 ,中心化后表示为 ,其中 ,目标是找到一个投影方向 (单位方向向量)使数据点在其上的投影方差尽可能大。投影之后的均值: 投影之后的方差(均值为0,直接平方): 其中, 是样本的协方差矩阵,将其写作 ,则有求解最大化问题: 引入拉格朗日乘子,并对 求导令其等于0,可以推出 ,此时 该值为协方差矩阵的最大特征值
LDA的最大化目标: 其中 分别表示两类投影后的方差: 则目标函数可以写成: 定义类间散度矩阵 ,类内散度矩阵 ,最大化 即是对 求偏导且令其等于零: 可以得出 在简化的二分类问题中,可以令 ,则有 这里LDA最大化的目标对应了矩阵 的特征值,而投影方向就是这个特征值对应的特征向量。
PCA为无监督降维算法,LDA为有监督降维算法,两种降维算法的求解过程有很大的相似性,但是对应的原理却有所区别:PCA选择投影后数据方差最大的方向,由于算法无监督,PCA假设方差越大信息量越多,用主成分来表示原始数据可以去除冗余的维度,达到降维;LDA用到了类别标签的信息,选择投影后类内方差小、类间方差大的方向,使得原始数据在这些方向上投影后不同类别尽可能区分开。应用的原则是无监督任务使用PCA,有监督任务使用LDA。
优点:对于大数据集,K均值聚类算法相对是可伸缩和高效的,它的计算复杂度是 接近于线性,其中 是数据对象的数目, 是聚类的簇数, 是迭代的轮数;尽管算法经常以局部最优结束,但一般情况下达到局部最优已经可以满足聚类的需求
缺点:需要人工预先确定初始K值,且该值和真实的数据分布未必吻合;受初值和离群点的影响,每次的结果不稳定;结果通常不是全局最优而是局部最优解,效果受到初始值影响;无法良好地解决数据簇分布差别比较大的情况(比如一类是另一类样本数量的100倍);不太适用于离散分类;样本点只能被划分到单一的类中
SOM本质上是一个两层的神经网络,包含模拟感知的输入层和模拟大脑皮层的输出层,输出层中神经元的个数通常是聚类的个数。具有保序映射的特点,可以将任意维输入模式在输出层映射为一维或者二维图形,并保持拓扑结构不变,使得输出层神经元的空间位置对应于输入空间的特定域或特征。在SOM中,以获胜神经元为中心,近邻者相互激励,远邻者相互抑制,这种交互作用的方式以曲线可视化则类似于“墨西哥帽”。
输出层神经元数量:和样本的类别数相关。若不清楚样本的类别,则尽可能地设定较多的节点数,以便更好地映射样本的拓扑结构,如果分类过细再酌情减少输出节点。这样可能会带来少量从未更新过权重的“死节点”,但一般可通过重新初始化权重来解决
输出层节点排列:排列形式应尽量直观地反映出实际问题的物理意义。例如,对于一般的分类问题,一个输出节点能代表一个模式类,使用一维线阵;对于颜色空间或者旅行路径问题,二维平面则比较直观
初始化权重:可以随机初始化,但尽量使权值的初始位置与输入样本的大概分布区域充分重合,避免出现大量初始"死节点"。可以从训练集中随机抽取m个输入样本作为初始权重
拓扑领域:设计原则是使领域不断缩小,这样输出平面上相邻神经元对应的权向量之间既有区别又有相当的相似性,从而保证当获胜节点对某一类模式产生最大响应时,其领域节点也能产生较大响应。领域的形状可以是正方形、六边形或者菱形。优势领域的大小用领域的半径表示,通常凭借经验来选择
学习率:学习率为递减函数,训练开始时,学习率可以选取较大的值,之后以较快的速度下降,有利于很快地捕捉到输入向量的大致结构,然后学习率在较小的值上缓降为0,这样可以精细地调整权值使之符合输入空间的样本分布结构。
如果数据基本随机,那么聚类的结果毫无意义。可以用霍普金斯统计量来判断数据在空间上的随机性:从样本中随机找 个点 ,对每一个 ,都在样本空间中找到一个离它最近的点并计算它们之间的距离 ,从而得到距离向量 ;从样本可能取值范围内随机生成 个点 ,使用同样的原则得到距离向量 ,则霍普金斯统计量 可表示为: 。如果样本接近随机分布,则 的值接近于0.5,如果聚类趋势明显,随机生成的样本点距离应该远大于实际样本点距离,则 的值接近于1。
❼ 请问如何设计抽奖算法
“有中心极限定理,你就算是固定概率也会趋向于期望值的。”唉~~我还是去慢慢研究一下吧。
麻烦采纳,谢谢!