欢迎光临
一起学习,一起进步

贝叶斯的进进一步理解

admin@opensl.tk阅读(8)

关于之前的硬币并不是均匀分布的理论,如何反证呢?这要提到假设检验的理论:

我们通常在假设某一前提下,得到事件的分布概率,且存在某小概率事件在某区间内发生。最后我们通过实际实验(n次伯努利试验)验证我们的概率。当然我们在验证过程中需要保证一个原则:小概率事件不应在单次试验中发生。最后我们测出了多次试验中小概率事件发生的频率。

实际上对于大数据样本来说,通常用中心极限定理来证明我们所谓的频率趋于概率的理论。

当我们测出的“概率” < 拒绝域( 拒绝原假设的最小显著性水平,p-value,如下例使用单峰检验)时,我们实际上就可认定假设有问题的。

那么在假设验证领域,p-value是什么意思?

我通过翻看知乎,找到了一篇答案:

讲概率、论统计,肯定要从抛硬币说起啊,这才是正确打开姿势嘛。

1 什么是假设检验?

你说你的硬币是公平的,也就是 “花” 和“字”出现的概率是差不多的。

然后,你想和我打赌,作为一个资深的理智赌徒,我怎能听信你的一面之词,我提出要检查下你的硬币到底是不是公平的,万一是两面 “花” 怎么办?电影里面不是经常出现这样的桥段?

你神色紧张,死活不让我检查,后来我们提出了折衷的方案,抛几次硬币,看看结果是不是公平的。

总共扔了两次,都是 “花” 朝上,虽然几率是

,但是也正常,继续扔。

总共扔了四次,也都是 “花” 朝上,几率是

,感觉有点不正常,但是万一是运气呢?继续扔。

总共扔了十次,也都是 “花” 朝上,那我就认为很可能你这枚硬币不是公平的。

这就是假设检验

  • 你提出假设:说你的硬币是公平的
  • 我提出要检验你的假设:扔十次,看实验的结果是不是和你的假设相符

2 P 值

为了完成假设检验,需要先定义一个概念:P 值。我们这里就来解释什么是 P 值?

根据上面的描述,这里假设检验的思路就是:

  • 假设:硬币是公平的
  • 检验:认为假设是成立的,然后扔十次,看结果与假设是否相符

反复扔硬币应该符合二项分布(这就不解释了),也就是:

其中,

代表扔硬币的次数,

代表 “花” 朝上的概率。

在我们认为硬币是公平的前提下,扔 10 次硬币应该符合以下分布:

下图表示的就是,假如硬币是公平的情况下的分布图:

我扔了十次之后得到的结果是,有八次正面:

这个时候有个数学大佬出来定义了一个称为

值(p-value) 的概念:

罗纳德 · 艾尔默 · 费希尔爵士(1890-1962)

把八次正面的概率,与更极端的九次正面、十次正面的概率加起来:

得到的就是(单侧 P 值):

其实,出现两次正面、一次正面、零次正面的概率也是很极端的:

所以(双侧 P 值):

2.1 为什么要把更极端的情况加起来?

根据扔硬币这个例子,可能你会觉得,我知道八次正面出现不正常就行了,干嘛要把九次、十次加起来?

我觉得有这么一个现实原因,比如我要扔 1000 次硬币来测试假设是否正确。

扔 1000 次硬币用二项分布来计算很麻烦,根据中心极限定理,我们知道,可以用正态分布来近似:

比如,我扔了 1000 次,得到了 530 次正面,用正态分布来计算就比较简单。

但是,对于正态分布,我没有办法算单点的概率(连续分布单点概率为 0),我只能取一个区间来算极限,所以就取 530、以及更极端的点组成的区间:

我上面只取了单侧 P 值,说明下:

  • 取单侧还是双侧,取决于你的应用
  • 什么叫做更极端的点,也取决于你的应用

3 显著水平

总共扔 10 次硬币,那么是出现 7 次正面之后,可以认为 “硬币是不公平的”,还是 9 次正面之后我才能确认 “硬币是不公平的”,这是一个较为主观的标准。

我们一般认为

就可以认为假设是不正确的。

0.05 这个标准就是显著水平,当然选择多少作为显著水平也是主观的。

比如,上面的扔硬币的例子,如果取单侧 P 值,那么根据我们的计算,如果扔 10 次出现 9 次正面:

表示出来如下图所示:

我们可以认为刚开始的假设错的很 “显著”,也就是 “硬币是不公平的”。

如果扔 10 次出现出现 8 次正面:

呃,这个和我们的显著水平是一样的啊,我们也可以拒绝假设,只是没有那么 “显著” 了。

4 与置信区间的关系

知识要联系起来看,理解更深刻。

置信区间,目的是根据样本构造一个区间,然后希望这个区间可以把真值包含进去,但是并不知道这个真值是多少?具体可以参考 如何理解 95% 置信区间?

而假设检验,则是假设真值是多少,然后检验这个假设是否可能为真。

之所以觉得它们有关系,大概是因为它们都提到了 0.05。

它们之间的关系也简单,如果我们提出来的假设

在样本

的置信区间内,就可以通过测试:

反之,就不能通过:

贝叶斯推断的进一步理解

admin@opensl.tk阅读(27)

近期,再次研读机器学习经典算法,在阅读到逻辑斯汀回归时,又一次的遇到了贝叶斯估计。逻辑斯汀回归用后验概率作为回归结果。
那么到底什么是先验概率,什么是后验概率呢?
在我看来,先验概率就是人们根据经验或者甚至随机的给定的一个概率值,可能不准。而后验概率就是在加入了证据验证之后修正的概率。
比如说,掷硬币问题,人们偏向于相信0.5-0.5的概率分布,但实际上并不如此,因为一枚硬币不可能是完全均匀分布的,而且受到各种投掷环境的影响,所以实际的概率值并不是依照与先验概率。通过实际投掷实验(验证的过程),可以得到一个后验的概率,可这个概率也不是恒定的,它一定是不断变化的。但是人们倾向于相信在投掷无穷次之后,分布为0.5-0.5,实际如此吗?不一定!!

【转】如何掌握所有的程序语言

admin@opensl.tk阅读(1074)

注:本文转自王垠的博客——当然我在扯淡http://www.yinwang.org/blog-cn/2017/07/06/master-pl


对的,我这里要讲的不是如何掌握一种程序语言,而是所有的……
很多编程初学者至今还在给我写信请教,问我该学习什么程序语言,怎么学习。由于我知道如何掌握“所有”的程序语言,总是感觉这种该学“一种”什么语言的问题比较低级,所以一直没来得及回复他们 😛 可是逐渐的,我发现原来不只是小白们有这个问题,就连美国大公司的很多资深工程师,其实也没搞明白。
今天我有动力了,想来统一回答一下这个搁置已久的“初级问题”。类似的话题貌似曾经写过,然而现在我想把它重新写一遍。因为在跟很多人交流之后,我对自己头脑中的(未转化为语言的)想法,有了更精准的表达。
如果你存在以下的种种困惑,那么这篇文章也许会对你有所帮助:

  1. 你是编程初学者,不知道该选择什么程序语言来入门。
  2. 你是资深的程序员或者团队领导,对新出现的种种语言感到困惑,不知道该“投资”哪种语言。
  3. 你的团队为使用哪种程序语言争论不休,发生各种宗教斗争。
  4. 你追逐潮流采用了某种时髦的语言,结果两个月之后发现深陷泥潭,痛苦不堪……

虽然我已经不再过问这些世事,然而无可置疑的现实是,程序语言仍然是很重要的话题,这个情况短时间内不会改变。程序员的岗位往往会要求熟悉某些语言,甚至某些奇葩的公司要求你“深入理解 OOP 或者 FP 设计模式”。对于在职的程序员,程序语言至今仍然是可以争得面红耳赤的宗教话题。它的宗教性之强,以至于我在批评和调侃某些语言(比如 Go 语言)的时候,有些人会本能地以为我是另外一种语言(比如 Java)的粉丝。
显然我不可能是任何一种语言的粉丝,我甚至不是 Yin 语言的粉丝 😉 对于任何从没见过的语言,我都是直接拿起来就用,而不需要经过学习的过程。看了这篇文章,也许你会明白我为什么可以达到这个效果。理解了这里面的东西,每个程序员都应该可以做到这一点。嗯,但愿吧。

重视语言特性,而不是语言

很多人在乎自己或者别人是否“会”某种语言,对“发明”了某种语言的人倍加崇拜,为各种语言的孰优孰劣争得面红耳赤。这些问题对于我来说都是不存在的。虽然我写文章批评过不少语言的缺陷,在实际工作中我却很少跟人争论这些。如果有其它人在我身边争论,我甚至会戴上耳机,都懒得听他们说什么 😉 为什么呢?我发现归根结底的原因,是因为我重视的是“语言特性”,而不是整个的“语言”。我能用任何语言写出不错的代码,就算再糟糕的语言也差不了多少。
任何一种“语言”,都是各种“语言特性”的组合。打个比方吧,一个程序语言就像一台电脑。它的牌子可能叫“联想”,或者“IBM”,或者“Dell”,或者“苹果”。那么,你可以说苹果一定比 IBM 好吗?你不能。你得看看它里面装的是什么型号的处理器,有多少个核,主频多少,有多少 L1 cache,L2 cache……,有多少内存和硬盘,显示器分辨率有多大,显卡是什么 GPU,网卡速度,等等各种“配置”。有时候你还得看各个组件之间的兼容性。
这些配置对应到程序语言里面,就是所谓“语言特性”。举一些语言特性的例子:

  • 变量定义
  • 算术运算
  • for 循环语句,while 循环语句
  • 函数定义,函数调用
  • 递归
  • 静态类型系统
  • 类型推导
  • lambda 函数
  • 面向对象
  • 垃圾回收
  • 指针算术
  • goto 语句

这些语言特性,就像你在选择一台电脑的时候,看它里面是什么配置。选电脑的时候,没有人会说 Dell 一定是最好的,他们只会说这个型号里面装的是 Intel 的 i7 处理器,这个比 i5 的好,DDR3 的内存 比 DDR2 的快这么多,SSD 比磁盘快很多,ATI 的显卡是垃圾…… 如此等等。
程序语言也是一样的道理。对于初学者来说,其实没必要纠结到底要先学哪一种语言,再学哪一种。曾经有人给我发信问这种问题,纠结了好几个星期,结果一个语言都还没开始学。有这纠结的时间,其实都可以把他纠结过的语言全部掌握了。
初学者往往不理解,每一种语言里面必然有一套“通用”的特性。比如变量,函数,整数和浮点数运算,等等。这些是每个通用程序语言里面都必须有的,一个都不能少。你只要通过“某种语言”学会了这些特性,掌握这些特性的根本概念,就能随时把这些知识应用到任何其它语言。你为此投入的时间基本不会浪费。所以初学者纠结要“先学哪种语言”,这种时间花的很不值得,还不如随便挑一个语言,跳进去。
如果你不能用一种语言里面的基本特性写出好的代码,那你换成另外一种语言也无济于事。你会写出一样差的代码。我经常看到有些人 Java 代码写得相当乱,相当糟糕,却骂 Java 不好,雄心勃勃要换用 Go 语言。这些人没有明白,是否能写出好的代码在于人,而不在于语言。如果你的心中没有清晰简单的思维模型,你用任何语言表述出来都是一堆乱麻。如果你 Java 代码写得很糟糕,那么你写 Go 语言代码也会一样糟糕,甚至更差。
很多初学者不了解,一个高明的程序员如果开始用一种新的程序语言,他往往不是去看这个语言的大部头手册或者书籍,而是先有一个需要解决的问题。手头有了问题,他可以用两分钟浏览一下这语言的手册,看看这语言大概长什么样。然后,他直接拿起一段例子代码来开始修改捣鼓,想法把这代码改成自己正想解决的问题。在这个简短的过程中,他很快的掌握了这个语言,并用它表达出心里的想法。
在这个过程中,随着需求的出现,他可能会问这样的问题:

  • 这个语言的“变量定义”是什么语法,需要“声明类型”吗,还是可以用“类型推导”?
  • 它的“类型”是什么语法?是否支持“泛型”?泛型的 “variance” 如何表达?
  • 这个语言的“函数”是什么语法,“函数调用”是什么语法,可否使用“缺省参数”?
  • ……

注意到了吗?上面每一个引号里面的内容,都是一种语言特性(或者叫概念)。这些概念可以存在于任何的语言里面,虽然语法可能不一样,它们的本质都是一样的。比如,有些语言的参数类型写在变量前面,有些写在后面,有些中间隔了一个冒号,有些没有。
这些实际问题都是随着写实际的代码,解决手头的问题,自然而然带出来的,而不是一开头就抱着语言手册看得仔仔细细。因为掌握了语言特性的人都知道,自己需要的特性,在任何语言里面一定有对应的表达方式。如果没有直接的方式表达,那么一定有某种“绕过方式”。如果有直接的表达方式,那么它只是语法稍微有所不同而已。所以,他是带着问题找特性,就像查字典一样,而不是被淹没于大部头的手册里面,昏昏欲睡一个月才开始写代码。
掌握了通用的语言特性,剩下的就只剩某些语言“特有”的特性了。研究语言的人都知道,要设计出新的,好的,无害的特性,是非常困难的。所以一般说来,一种好的语言,它所特有的新特性,终究不会超过一两种。如果有个语言号称自己有超过 5 种新特性,那你就得小心了,因为它们带来的和可能不是优势,而是灾难!
同样的道理,最好的语言研究者,往往不是某种语言的设计者,而是某种关键语言特性的设计者(或者支持者)。举个例子,著名的计算机科学家 Dijkstra 就是“递归”的强烈支持者。现在的语言里面都有递归,然而你可能不知道,早期的程序语言是不支持递归的。直到 Dijkstra 强烈要求 Algol 60 委员会加入对递归的支持,这个局面才改变了。Tony Hoare 也是语言特性设计者。他设计了几个重要的语言特性,却没有设计过任何语言。另外大家不要忘了,有个语言专家叫王垠,他是早期 union type 的支持者和实现者,也是 checked exception 特性的支持者,他在自己的博文里指出了 checked exception 和 union type 之间的关系 😛
很多人盲目的崇拜语言设计者,只要听到有人设计(或者美其民曰“发明”)了一个语言,就热血沸腾,佩服的五体投地。他们却没有理解,其实所有的程序语言,不过是像 Dell,联想一样的“组装机”。语言特性的设计者,才是像 Intel,AMD,ARM,Qualcomm 那样核心技术的创造者。

合理的入门语言

所以初学者要想事半功倍,就应该从一种“合理”的,没有明显严重问题的语言出发,掌握最关键的语言特性,然后由此把这些概念应用到其它语言。哪些是合理的入门语言呢?我个人觉得这些语言都可以用来入门:

  • Scheme
  • C
  • Java
  • Python
  • JavaScript

那么相比之下,我不推荐用哪些语言入门呢?

  • Shell
  • PowerShell
  • AWK
  • Perl
  • PHP
  • Basic
  • Go
  • Rust

总的说来,你不应该使用所谓“脚本语言”作为入门语言,特别是那些源于早期 Unix 系统的脚本语言工具。PowerShell 虽然比 Unix 的 Shell 有所进步,然而它仍然没有摆脱脚本语言的根本问题——他们的设计者不知道他们自己在干什么 😛
采用脚本语言学编程,一个很严重的问题就是使得学习者抓不住关键。脚本语言往往把一些系统工具性质的东西(比如正则表达式,Web 概念)加入到语法里面,导致初学者为它们浪费太多时间,却没有理解编程最关键的概念:变量,函数,递归,类型……
不推荐 Go 语言的原因类似,虽然 Go 语言不算脚本语言,然而他的设计者显然不明白自己在干什么。所以使用 Go 语言来学编程,你不能专注于最关键,最好的语言特性。关于 Go 语言的各种毛病,你可以参考这篇文章
同样的,我不觉得 Rust 适合作为入门语言。Rust 花了太大精力来夸耀它的“新特性”,而这些新特性不但不是最关键的部分,而且很多是有问题的。初学者过早的关注这些特性,不仅学不会最关键的编程思想,而且可能误入歧途。关于 Rust 的一些问题,你可以参考这篇文章

掌握关键语言特性,忽略次要特性

为了达到我之前提到的融会贯通,一通百通的效果,初学者应该专注于语言里面最关键的特性,而不是被次要的特性分心。
举个夸张点的例子。我发现很多编程培训班和野鸡大学的编程入门课,往往一来就教学生如何使用 printf 打印“Hello World!”,进而要他们记忆 printf 的各种“格式字符”的意义,要他们实现各种复杂格式的打印输出,甚至要求打印到文本文件里,然后再读出来……
可是殊不知,这种输出输入操作其实根本不算是语言的一部分,而且对于掌握编程的核心概念来说,都是次要的。有些人的 Java 课程进行了好几个星期,居然还在布置各种 printf 的作业。学生写出几百行的 printf,却不理解变量和函数是什么,甚至连算术语句和循环语句都不知道怎么用!这就是为什么很多初学者感觉编程很难,我连 %d%f%.2f的含义都记不住,还怎么学编程!
然而这些野鸡大学的“教授”头衔是如此的洗脑,以至于被他们教过的学生(比如我女朋友)到我这里请教,居然骂我净教一些没用的东西,学了连 printf 的作业都没法完成 😛 你别跟我讲 for 循环,函数什么的了…… 可不可以等几个月,等我背熟了 printf 的用法再学那些啊?
所以你就发现一旦被差劲的老师教过,这个程序员基本就毁了。就算遇到好的老师,他们也很难纠正过来。
当然这是一个夸张的例子,因为 printf 根本不算是语言特性,但这个例子从同样的角度说明了次要肤浅的语言特性带来的问题。
这里举一些次要语言特性的例子:

  • C 语言的语句块,如果里面只有一条语句,可以不打花括号。
  • Go 语言的函数参数类型如果一样可以合并在一起写,比如 func foo(s string, x, y, z int, c bool) { ... }
  • Perl 把正则表达式作为语言的一种特殊语法
  • JavaScript 语句可以在某些时候省略句尾的分号
  • Haskell 和 ML 等语言的 currying

自己动手实现语言特性

在基本学会了各种语言特性,能用它们来写代码之后,下一步的进阶就是去实现它们。只有实现了各种语言特性,你才能完全地拥有它们,成为它们的主人。否则你就只是它们的使用者,你会被语言的设计者牵着鼻子走。
有个大师说得好,完全理解一种语言最好的方法就是自己动手实现它,也就是自己写一个解释器来实现它的语义。但我觉得这句话应该稍微修改一下:完全理解一种“语言特性”最好的方法就是自己亲自实现它。
注意我在这里把“语言”改为了“语言特性”。你并不需要实现整个语言来达到这个目的,因为我们最终使用的是语言特性。只要你自己实现了一种语言特性,你就能理解这个特性在任何语言里的实现方式和用法。
举个例子,学习 SICP 的时候,大家都会亲自用 Scheme 实现一个面向对象系统。用 Scheme 实现的面向对象系统,跟 Java,C++,Python 之类的语言语法相去甚远,然而它却能帮助你理解任何这些 OOP 语言里面的“面向对象”这一概念,它甚至能帮助你理解各种面向对象实现的差异。
这种效果是你直接学习 OOP 语言得不到的,因为在学习 Java,C++,Python 之类语言的时候,你只是一个用户,而用 Scheme 自己动手实现了 OO 系统之后,你成为了一个创造者。
类似的特性还包括类型推导,类型检查,惰性求值,如此等等。我实现过几乎所有的语言特性,所以任何语言在我的面前,都是可以被任意拆卸组装的玩具,而不再是凌驾于我之上的神圣。

总结

写了这么多,重要的话重复三遍:语言特性,语言特性,语言特性,语言特性!不管是初学者还是资深程序员,应该专注于语言特性,而不是纠结于整个的“语言品牌”。只有这样才能达到融会贯通,拿起任何语言几乎立即就会用,并且写出高质量的代码。

奥卡姆剃刀

admin@opensl.tk阅读(24)

什么叫“奥卡姆剃刀”呢?能刮胡子吗?哈哈,并不能。那它有什么用呢?这就要从它的起源说起。
在14世纪的英国,那个时候就跟今天的中国有点像,但凡有点名气的人,都喜欢著书立说,到处宣传自己的理论,而且越是大牛,越喜欢给人讲一堆虚无缥缈的概念,比如:互联网思维啊,混沌啊,不连续性啊什么的,然后你看完以后,想做点事情根本不知道从哪里下手好吗?
这时候,有个叫年轻的修道士站了出来,他叫奥卡姆,他认为,那些空洞无物的概念,都是一些无用的累赘,我们应该只承认那些确实存在的东西,不应该去关注那些虚无缥缈的概念,为了提高各方面的效率,那些无用的概念应该被无情地“剃除”掉!这就是“奥卡姆剃刀”定律,它的精神核心用8个字就能表达,那就是:如无必要,勿增实体
这个定律告诉我们:对于任何繁杂的事物,我们都需要从中找到关键的部分,去除掉多余的内容,然后直击问题的核心,你只有将复杂的事情简单化,才能够获得想要的结果。
但,把事情简单化,跟把事情想简单是两回事,真正有智慧的人,是把问题简单化,而不是把事情想简单。
举个栗子。当年抗战时期,毛主席问下面的人:“请你说说什么叫军事?”他下面的人口若悬河,从西方谈到东方,从古代谈到现代,主席看了以后,就说了一句话:“军事就是打得过就打,打不过就跑。”
主席问:“什么是政治?”下面的人又是一顿说,说了很多关于政治的基本理论和他自己在参与实践中的理解,然后,主席说:“政治的问题,我看也没有你说的那么复杂,还是两句话,就是把拥护我们的人搞得多多的,把反对我们的人搞得少少的。”
主席又问:“什么是爱情?”这次下面的人不敢回答了,主席笑了,说:“所谓爱情,就是想一起睡觉。”
所以,我们明白了,一知半解的人,总是把事情想得简单,比如:“寿司不就是米饭和鱼片做的吗?”,“马云能成功不就是靠忽悠吗?”这就是典型的把事情想简单了,很容易暴露出你的无知、自大和浅薄;而真正有智慧的人呢,他们是把复杂的问题简单化,让所有的事情简洁有序,有章可循。
作者:蓝海老师
链接:https://www.jianshu.com/p/2c2ee1182f2a
來源:简书

杂记

admin@opensl.tk阅读(32)

假期闲置在家,看看书和视频。有时候感觉,可能是没有十几岁时候的精力,那时候看书可以一次看好几个小时,看教学视频也能坚持好久。小时候,即使是无聊的电视剧也能坚持看下去,广告也不落下。现在越发觉得,精力有限。碰上个讲课没有激情的视频,看了一会就觉得困。
寒假,是我最后的闲暇时间。过完这个假期,就要去找一份工作了。目前,仍然觉得自己学的太过浅薄,很多知识还贫乏。希望自己能好好利用这个假期。

记在答辩前

admin@opensl.tk阅读(90)

今天之后,我就告别了大学的专业,以后可能也不会再接触。
答辩之后,陆续就会有同学离开,而我可能是最后离开的几个。
惨就惨在,今年我有了心动的感觉,是一个研究生。
这种感觉,真的很妙。就是,你知道他每天去图书馆学习,所以你也坚持去。如果你去的时候,看见他在那里,你会很安心。你看见他早早离开,你会很烦躁。你在路上遇见,你真的有可能会心跳加速。但是你又会装作没看见,轻声走过。
你很想听他说话的声音,可是没有机会。你很在乎他在看什么书,你甚至想看他写的字。有一次,中午风吹开了他的笔记本(他中午回去了),真的是上厕所路过瞅了几眼。你很关心他每天吃什么,你会去买一样的。你看见他在打字,笑的很开心,你很想知道原因,但是你又要立马转过头,装作不经意瞥见,干自己的事。
你可能中毒已深。。。
可是,他好像并没有注意到你的存在。或者,在他的视角,你是一个跟踪狂,烦人的家伙。每天总感觉,有个家伙贼眉鼠眼,一直装作回头,监视一样。每天吃饭,下自习时间都近乎相同。总感觉你是故意,要在路上跟着他。莫名其妙!
最后的几天,我到底应该怎么办。
也许不要说话,是我应该做的。
我的大学,现在想想,真的是有点遗憾啊。

柯洁vs Alphago第一回:柯洁以微小差距告负

admin@opensl.tk阅读(92)

2017 年 5 月 23 日,在举行于中国乌镇的 “人机终极对决” 第一局中,当今世界排名第一的中国围棋选手柯洁,输给了 Google 旗下的人工智能程序 AlphaGo。按照比赛规则,柯洁和 AlphaGo 各有三个小时的时间;但在现场的比赛中,整体的节奏比预想中的要快很多。尤其是 AlphaGo,它的平均出子时间为 30 秒左右,现场解说的职业八段棋手张璇和职业九段棋手常昊多次用 “高效、果断” 来评价它的表现。而柯洁的应对状况比较多变,有时会立刻下子,有时也会思考很长时间。
在现场注意到,当柯洁用时一个小时的时候,AlphaGo 所用的时间不到二十分钟。在比赛进行了四个多小时之后,柯洁九段执黑负于 AlphaGo,AlphaGo 赢四分之一子。
棋手范廷钰表示:从这盘棋来看,AlphaGo 明显还是强过柯洁,但是也不必神话,仍然有很多明显问题出现。
有趣的是,柯洁在赛前表示,”无论输赢,这都将是我与人工智能最后的三盘对局”

如何下载付费论文

admin@opensl.tk阅读(61)

1.在维普知网等校园已购买的数据库中查找论文。如果不是学生或者学校没有购买数据库,可以通过注册上海研发公共服务平台获得文献下载券。
2.某些外文文献在国内数据库中很难找到,首推百度学术,查看某论文所有“正版”获得渠道,如果没有免费渠道,则通过道客巴巴百度文库,查看用户分享的文献,及其下载,如果有银子就直接付费下载,没有。。可以使用冰点文库等第三方下载工具。
3.实在找不到的话,只能通过悬赏等方式获得了。