决策

分享:万维钢关于《远见》一书的序言

拜拜、爱过 提交于 2020-01-12 09:33:18
决策是一门技能 “得到”的读者有时候能写出一些特别有意思的留言。一位叫“吉卜力”的读者在梁宁的课程中分享了他家族的故事。 我的爷爷参加了解放战争和抗美援朝战争,为了新中国光荣负伤,于是国家给我奶奶特别待遇,让她在医生、教师、裁缝中任意选择职业,我奶奶选择了裁缝。在我爸爸和叔叔找工作的时候,因为“根正苗红”,我爸爸被保送军官,我叔叔被保送警察,但一家之主的奶奶死活不同意,于是他们哥儿俩双双进了工厂。我父亲下岗后决定卖房买车,在货车和出租车中选择了货车,然后房价和出租车牌照的价格嗖嗖地往上涨。而我叔叔把发家致富的眼光投在彩票上,天天研究彩票走势,我堂妹天天在家砸核桃,给她爸补脑…… 把每一个重要决策都做错确实不容易,但是决策确实不是简单的事情。有些人总选错固然是因为知识有限、能力不足,可是哪怕你是个高智商的拥有高学历的知识分子,一路刻苦钻研专业技能,也可能因为该买房的时候没有果断出手而难免被家人埋怨。[最新电子书免费分享社群,群主V信 1107308023 添加备注电子书] 加拿大心理学家基思·斯坦诺维奇有本书叫《超越智商》,书中说决策的能力和智商,是两种完全不同的东西。可能你特别善于学习,日常工作都做得很好,还是一位技术高手,但是你不一定能做好决策。而像刘邦这样的人,带兵打仗和治国安邦的业务水平都比不上专业人士,他为啥还是个好领导呢?也许最重要的就是因为他的决策能力强。 决策能力

统计推断

别来无恙 提交于 2019-12-17 03:48:56
贝叶斯统计 贝叶斯估计 1.总体信息:即总体分布或总体所属分布族给我们的信息。譬如,“总提示正太分布”这句话九个我们带来很多信息;它的密度函数是一条钟形曲线;它的一切阶矩都存在;基于正态分布有许多成熟的统计推断方法可供我们选用等。总体信息是很重要的信息,为了获取此种信息往往耗资巨大。 2.样本信息,即样本提供给我们的信息,这是最“新鲜”的信息,并且越多越好,我们希望通过样本对总体分布或总体的某些特种做出较精确的统计推断。没有样本,就没有统计学可言。 基于以上两种信息统计推断的统计学就称为经典统计学。前述的矩估计、最大似然估计、最小方差无偏估计等都属于经典统计学范畴。然而我们周围还存在第三种信息-先验信息,它也可用于统计推断。 3.先验信息,即在抽样之前有关统计问题的一些信息。一般来说,先验信息来源于经验和历史资料。先验信息在日常生活和工作中都很重要的,人们自觉或不自居地在使用它。 贝叶斯公式的密度函数形式 1.依赖于参数θ的密度函数在经典统计中记为P(x;θ),它表示参数空间θ中不同的θ对应不同的分布。在贝叶斯统计中应记为p(x|θ),它表示随机变量θ给定某个值时,X的条件密度函数。 2.根据参数θ的先验信息确定先验分布π(θ) 3.从贝叶斯观点看,样本x=(x1,x2,…,xn)的产生要分两步进行。首先,设想从先验分布π(θ)产生一个样本θ’。这一步是“老天爷”做的

算法第三章作业

﹥>﹥吖頭↗ 提交于 2019-12-03 07:45:49
一、动态规划的理解 动态规划的实质是分治思想和解决冗余,因此动态规划是一种将问题实例分析为更小的、相似的子问题,并存储子问题的解而避免计算重复的子问题,以解决最优化问题的算法策略 动态规划所针对的问题有一个显著的特征,即它对应的子问题树中的子问题呈现大量的重复。动态规划的关键在于,对于重复的子问题,只在第一次遇到时求解,并把答案保存起来,让以后再遇到时直接引用,不必要重新求解 二、动态规划算法基本求解步骤 (1)划分阶段:按照问题的时间或空间特征,把问题分为若干个阶段。在划分阶段时,注意划分后的阶段一定要是有序的或者是可排序的,否则问题就无法求解。 (2)确定状态和状态变量:将问题发展到各个阶段时所处于的各种客观情况用不同的状态表示出来。当然,状态的选择要满足无后效性。 (3)确定决策并写出状态转移方程:因为决策和状态转移有着天然的联系,状态转移就是根据上一阶段的状态和决策来导出本阶段的状态。所以如果确定了决策,状态转移方程也就可写出。但事实上常常是反过来做,根据相邻两个阶段的状态之间的关系来确定决策方法和状态转移方程。 (4)寻找边界条件:给出的状态转移方程是一个递推式,需要一个递推的终止条件或边界条件。 三、编程一、二题的递归方程 (1) 单调递增最长子序列 代码实现 int getResult(int father[],int sub[],int n){ for(int i

单调队列

匿名 (未验证) 提交于 2019-12-02 23:49:02
最大子序和 输入一个长度为n的整数序列,从中找出一段不超过m的连续子序列,使得整个序列的和最大。 容易想到计算区间和,可以转换成两个前缀和相减,用S[i]表示前i项和,则连续子序列[L,R]中的数的和为S[R]-S[L-1]. 所以原问题转化为找出两个位置x,y,使得s[y]-s[x]最大,且y-x<=M 暴力枚举O(n*m). 首先枚举右端点r,找左端点l,l范围为[r-m,r-1] 注意到: 若k<j<i,且s[k]>=s[j],那么k永远不可能是最佳选择。 以上事实说明,可能成为最佳策略的集合一定是 一个下标位置递增,对应的前缀和S的值也递增的序列。 用队列保存这一队列,随着右端点变,从前向后扫描,对每一个i: 1.判断队头决策与i的距离是否超过M的范围 2.此时队头就是右端点为i时,左端点j的最优选择。 3.不断删除队尾决策,直到队尾对应的S的值小于S[i],然后把i作为一个新的决策入队 //维护单调性,删除的都不可能是最优决策 int l=1,r=1; q[1]=0;//初始决策 j=0; for(int i=1;i<=n;i++){ while(l<=r&&q[l]<i-m)l++;//step1 ans=max(ans,sum[i]-sum[q[l]]);//step2 while(l<=r&&sum[q[r]]>=sum[i])r--;//step3 q[++r]

四边形不等式的应用

好久不见. 提交于 2019-12-02 23:47:30
四边形不等式的运用 四边形不等式的定义: 对于定义域上的任意整数a,b,c,d,其中 \(a\le b \le c \le d\) 都有 \(w(a,d)+w(b,c)\ge w(a,c)+w(b,d)\) 成立,则称函数w满足四边形不等式 (另一种定义) 对于定义域上的任意整数a,b,其中 \(a<b\) 都有 \(w(a,b+1)+w(a+1,b)\ge w(a,b)+w(a+1,b+1)\) 成立,则称函数w满足四边形不等式 一维线性DP的四边形不等式优化: 形如 \(f[i]=min_{0<=j<i}(f[i]+w(i,j))\) 如果 \(w(i,j)\) 满足四边形不等式,那么该函数具有决策单调性。令 \(f[i]\) 的决策为 \(k(i)\) ,如果 \(k\) 在 \([1,N]\) 上单调不不减,则称该函数具有决策单调性 二维区间DP的四边形不等式优化: 形如 \(f[i][j]=min_{i<=k<j}(f[i][k(+-1)]+f[k(+-1)][j]+w(i,j))\) 如果: 1. \(w(i,j)\) 满足四边形不等式 2.对于任意的 \(a<=b<=c<=d\) ,有 \(w(a,d)>=w(b,c)\) 那么 \(f\) 也满足四边形不等式。如果 \(f\) 满足四边形不等式,令 \(f[i][j]\) 的决策为 \(k[i][j]\) ,则 \

【POJ 1821】Fence

前提是你 提交于 2019-11-29 12:31:48
【原题题面】 传送门 【题解大意】 当两个决策k1<k2且 f[i-1,k1] - p*k1 <= f[i-1,k2]-p*k2,那么此时k1就是无用决策。 可以用单调队列优化。 需要支持的操作: 1.当j变大时,b把小于j-L的决策出队; 2.有新的决策入队时,在队尾检查f[i-1,k]的单调性,把无用决策从队尾直接出队,然后把新决策入队。 【code】 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define ll long long #define File "fence" inline void file(){ freopen(File".in","r",stdin); freopen(File".out","w",stdout); } inline int read(){ int x = 0,f = 1; char ch = getchar(); while(ch < '0' || ch > '9'){if(ch == '-')f = -1; ch = getchar();} while(ch >= '0' && ch <= '9'){x = (x<<1) + (x<<3) + ch-'0'; ch = getchar();}

征途堆积出友情的永恒「堆优化dp」

℡╲_俬逩灬. 提交于 2019-11-27 21:31:47
直接写题解: 很简单的dp暴力转移式子:f[i]=MAX{f[j]+max(tax[j],sum[i]-sum[j])} 观察式子,只有一个变量sum[i]; 而其他都为定量; 则考虑维护 两个定量:f[j]+tax[j] || f[j]-sum[j] 而要找耗费最小;考虑用堆维护一个量; 注意是一个量; 为什么不是两个量? 想想,你在dp式子中取的max;不是取tax[j]就是取deta(sum); 那就是说如果你使一个量主动;那么另一个量就是被动的,、由你确定的这个量决定的 所以就维护tax[j]+f[j]; 按大小排序;然后取最优值; 设 pay=q.top.w; (tax[j]+f[j]) 若pay>=f[j]-sum[j]+sum[i];那就用它呗,反正是合法的; 若pay<f[j]-sum[j]+sum[i] 那这种方案就不合法;那就把他的被动决策塞入另一个堆中维护; 那么会形成两个堆,两个堆中的状态都是合法的,然后直接取堆顶元素就是最优的; 而可能你会想到那第一个堆中的元素pop掉了,会不会有后效性; 其实不会;因为sum[i]-sum[j] 的sum[j]固定而sum[i]递增; 所以当他从1pop出去后,他在2中就会一直呆着了; 总结: 1.对于这种dp优化,若dp式子中出现变量很少而定量很多,就要考虑到维护定量; 2.而对于dp式子中有max(),min(

决策树算法原理

走远了吗. 提交于 2019-11-27 16:11:37
//2019.08.17 #决策树算法 1、 决策树算法是一种非参数的决策算法 ,它根据数据的不同特征进行多层次的分类和判断,最终决策出所需要预测的结果。 它既可以解决分类算法,也可以解决回归问题 ,具有很好的解释能力。 图 原理图 2、对于决策树的构建方法具有多种出发点,它具有多种构建方式,如何构建决策树的出发点主要在于决策树每一个决策点上需要在哪些维度上进行划分以及在这些维度的哪些阈值节点做划分等细节问题。 3、 信息熵entropy 是决策树构建过程中最为常见的一种构建方式,熵在信息论中的含义是随机变量的不确定度, 熵越大,不确定性越大,越不确定,熵越小,表示不确定度越小,越确定。 图 4、信息熵的划分方式总体原则是 不断地使得整体的决策系统的熵值越来越小 ,使得系统越来越确定的方向发展。 5、 基尼系数gini 是决策树划分的另外一种方式,它和信息熵的原理是类似的,随着基尼系数的增大,整体的随机性在不断地增大。 6、对于 基尼系数和信息熵的决策树划分方式,其效果一般情况下都是大致相同的,只是信息熵的计算方式比起基尼系数要慢一些 ,sklearn中默认选用的是基尼系数。因此,对于决策树的决策方式信息熵和基尼系数这个超参数对于模型的好坏并没有太大的影响。 7、 CART的决策树形式 既可以解决回归问题,也可以解决分类问题