有人知道为什么我不能仁王 离线刷武功道了,而且一登录就自动收到离线经验啊是

离线刷道出的不公平
全部答案(共1个回答)
,离线刷道太离谱了,如果有人真心想道高做道王必须离线刷道,那样才更快更多,公平性就在于道行,你努力坚持刷道的话贫民完全有机会打得过土豪,因为贫民努力了,但是你这一个离线刷道,把这一个公平性打破了,你在怎么努力刷道也不会变成道王,既然我们是道友,请问一下,如果你们是贫民的话你希望出现一个离线刷道吗?不知道这个离线刷道是谁想出来的
答: 第一,在怀孕期间肯定是不建议给他住在装修完的地方,建议你给他带一个口罩,第二,可以给他放一些植物,植物,可以稀释甲醛的成分,比如说吊兰,或者是仙人掌。
答: 朋友相处要严以律己,宽以待人。
朋友出去玩,AA制最好。如果不是,自己要抢先付钱,不要斤斤计较。你就是不坐船也要抢先付钱才对。
意欲取之,必先予之。其实朋友只是...
答: 我对客服是彻底没信心的
以前我问过不知道多少问题
回答全是千篇一律的:你好请在问道官网查询,网址XXXX
我草他NND 官网我都能默背出来了 要是有我也不会...
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区离线离线《离线》是一份科技文化周刊。订阅:关注专栏更多置顶文章最新文章{&debug&:false,&apiRoot&:&&,&paySDK&:&https:\u002F\\u002Fapi\u002Fjs&,&wechatConfigAPI&:&\u002Fapi\u002Fwechat\u002Fjssdkconfig&,&name&:&production&,&instance&:&column&,&tokens&:{&X-XSRF-TOKEN&:null,&X-UDID&:null,&Authorization&:&oauth c3cef7c66aa9e6a1e3160e20&}}{&database&:{&Post&:{&&:{&title&:&机器学习原来这么有趣!第一章:全世界最简单的机器学习入门指南&,&author&:&zhao95&,&content&:&\u003Cp\u003E作者:Adam Geitgey\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E原文:\u003Ca href=\&https:\\u002F@ageitgey\u002Fmachine-learning-is-fun-80ea3ec3c471#.ak1of1xbg\& class=\&\&\u003Ehttps:\\u002F@ageitgey\u002Fmachine-learning-is-fun-80ea3ec3c471#.ak1of1xbg\u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003Cp\u003E翻译:巡洋舰科技——赵95\u003C\u002Fp\u003E\u003Cp\u003E校对:离线Offline——林沁\u003C\u002Fp\u003E\u003Cp\u003E转载请联系译者。\u003C\u002Fp\u003E\u003Cp\u003E你是否曾经听到过人们谈论机器学习,而你却对其含义只有一个模糊的概念呢?你是否已经厌倦了在和同事对话时只能点头呢?现在,让我们一起来改变这个现状吧!\u003C\u002Fp\u003E\u003Ch2\u003E\u003Cb\u003E这篇指南是为那些对机器学习感兴趣,但又不知从哪里开始的人而写的。我猜有很多人曾经尝试着阅读机器学习的维基百科词条,但是读着读着倍感挫折,然后直接放弃,希望能有人给出一个更直观的解释。本文就是你们想要的东西。\u003C\u002Fb\u003E\u003C\u002Fh2\u003E\u003Cp\u003E本文的写作目标是让任何人都能看懂,这意味着文中有大量的概括。但是那又如何呢?只要能让读者对机器学习更感兴趣,这篇文章的任务也就完成了。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E什么是机器学习?\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E机器学习是一种概念:不需要写任何与问题有关的特定代码,\u003Cb\u003E泛型算法(Generic Algorithms)\u003C\u002Fb\u003E[1]就能告诉你一些关于你数据的有趣结论。不用编码,你将数据输入泛型算法当中,它就会在数据的基础上建立出它自己的逻辑。\u003C\u002Fp\u003E\u003Cp\u003E比如说,有一种算法被称为分类算法,它可以将数据分为不同的组。分类算法可以用来识别手写数字;不用修改一行代码,它也可以用来区分垃圾邮件和非垃圾邮件。如果给同样的算法输入不同的训练数据,它就能得出不同的分类逻辑。\u003Cimg src=\&v2-23a81ef1c13b665e0d62.jpg\& data-rawwidth=\&1010\& data-rawheight=\&939\&\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E机器学习算法是个黑盒,它可以重复使用于很多不同的分类问题。\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E「机器学习」是一个涵盖性术语,它覆盖了大量类似的泛型算法。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E两类机器学习算法\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E你可以把机器学习算法分为两大类:\u003Cb\u003E监督式学习(supervised Learning)\u003C\u002Fb\u003E和\u003Cb\u003E非监督式学习(unsupervised Learning)\u003C\u002Fb\u003E。要区分两者很简单,但也非常重要。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E监督式学习\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E假设你是一名房地产经纪人,你的生意蒸蒸日上,因此你雇了一批新员工来帮忙。但是问题来了——虽然你可以一眼估算出房子的价格,但新员工却不像你这样经验丰富,他们不知道如何给房子估价。\u003C\u002Fp\u003E\u003Cp\u003E为了帮助你的新员工(也许就是为了给自己放个假嘻嘻),你决定写一个可以根据房屋大小、地段以及同类房屋成交价等因素来评估一间房屋的价格的小软件。\u003C\u002Fp\u003E\u003Cp\u003E近三个月来,每当你的城市里有人卖了房子,你都记录了下面的细节——卧室数量、房屋大小、地段等等。\u003Cb\u003E但最重要的是,你写下了最终的成交价:\u003Cimg src=\&v2-aa95a053fbf2afd736d69.jpg\& data-rawwidth=\&800\& data-rawheight=\&437\&\u003E\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E这就是我们的「训练数据」。\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E使用这些训练数据,我们要来编写一个能够估算该地区其他房屋价值的程序:\u003Cimg src=\&v2-d00f6b6ce46.jpg\& data-rawwidth=\&800\& data-rawheight=\&150\&\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E我们希望使用这些训练数据来预测其他房屋的价格。\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E这就是\u003Cb\u003E监督式学习\u003C\u002Fb\u003E。你已经知道了每一栋房屋的售价,换句话说,你已经知道了问题的答案,并且可以反向找出解题的逻辑。\u003C\u002Fp\u003E\u003Cp\u003E为了编写你的软件,你将包含每一套房产的训练数据输入到你的机器学习算法当中去。算法会尝试找出需要做哪些数学运算来得出价格。\u003C\u002Fp\u003E\u003Cp\u003E这就好像是你已经知道了数学测试题的答案,但是算式中的运算符号都被擦去了:\u003Cimg src=\&v2-8cb3399d9.jpg\& data-rawwidth=\&800\& data-rawheight=\&388\&\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E天啊!一个阴险的学生擦去了参考答案上的算术符号!\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E你能从这张图里看出来测验中的数学题是怎样的吗?你知道自己应该对左边的数字「做些什么」,才能得到右边的答案。\u003C\u002Fp\u003E\u003Cp\u003E在监督式学习中,你让计算机为你算出这种关系。而一旦你知道了解决这类特定问题所需要的数学方法后,你就可以解答其它同类问题了!\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E非监督式学习\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E让我们回到房地产经纪人的例子。如果你不知道每栋房子的售价怎么办?即使你所知道的仅仅是每栋房屋的大小、位置等信息,你也可以搞出一些很酷炫的花样来。这就是我们所说的\u003Cb\u003E非监督式学习\u003C\u002Fb\u003E。\u003Cimg src=\&v2-4e769fb74e53a2f44b770.jpg\& data-rawwidth=\&616\& data-rawheight=\&432\&\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E即使你并不是在尝试预测未知的数据(如价格),你也可以运用机器学习做一些有意思的事。\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E这就有点像有人给你一张纸,上面写了一列数字,然后说:「我不太清楚这些数字有什么意义,但也许你能找出些规律或是把它们分类什么的——祝你好运!」\u003C\u002Fp\u003E\u003Cp\u003E所以该怎么处理这些数据呢?首先,你可以用个算法自动从数据中划分出不同的细分市场。也许你会发现,当地大学附近的购房者特喜欢户型小、卧室多的房子,而郊区的购房者偏好三卧室的大户型。了解这些不同消费者的喜好可以直接帮助你的营销。\u003C\u002Fp\u003E\u003Cp\u003E你还可以做件很酷炫的事,就是自动找出非同寻常的房屋。这些与众不同的房产也许是奢华的豪宅,而你可以将最优秀的销售人员集中在这些地区,因为他们的佣金更高。\u003C\u002Fp\u003E\u003Cp\u003E在接下来的内容中我们主要讨论监督式学习,但这并不是因为非监督式学习比较没用或是无趣。实际上,随着算法的改良,非监督式学习正变得越来越重要,因为即使不将数据和正确答案联系在一起,它也可以被使用。[2]\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E太酷炫了,但是估算房价真能被看作「学习」吗?\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E作为人类的一员,你的大脑可以应付绝大多数情况,并且在没有任何明确指令时也能够学习如何处理这些情况。如果你做房地产经纪人时间足够长,你对于房产的合适定价、房屋的最佳营销方式以及客户会感兴趣类型等等都会有一种本能般的「感觉」。\u003Ca href=\&http:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FStrong_AI\&\u003E强人工智能\u003C\u002Fa\u003E研究的目标就是要计算机复制这种能力。\u003C\u002Fp\u003E\u003Cp\u003E但是目前的机器学习算法还没有那么强大——它们只能在非常特定的、有限的问题上有效。也许在这种情况下,「学习」更贴切的定义是「在少量样本数据的基础上找出一个公式来解决特定的问题」。\u003C\u002Fp\u003E\u003Cp\u003E但是「机器在少量样本数据的基础上找出一个公式来解决特定的问题」不是个好名字。所以最后我们用「机器学习」取而代之。\u003C\u002Fp\u003E\u003Cp\u003E当然了,如果你是在 50 年后的未来读的这篇文章,而我们人类也已经得出了强人工智能的算法的话,那这篇文章看起来就像个老古董了。那样的话,就别读了,去让你的机器佣人给你做份三明治吧,未来的人类。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E让我们愉快地写代码吧!\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E所以,你打算怎么写上面例子中评估房价的程序呢?在往下看之前先思考一下吧。\u003C\u002Fp\u003E\u003Cp\u003E如果对机器学习一无所知,你很有可能会尝试写出一些基本规则来评估房价,如下:\u003C\u002Fp\u003E\u003Ccode lang=\&python\&\u003Edef\nestimate_house_sales_price(num_of_bedrooms, sqft, neighborhood):\n \nprice = 0\n
# 在我这地方,每平方英尺房屋均价是 200 美元\n \nprice_per_sqft = 200\n
if\nneighborhood == \&hipsterton\&:\n
#\n但是有些地段房价会贵一点\n
\nprice_per_sqft = 400\n
\n \nelif neighborhood == \&skid row\&:\n
#\n有些地段房价便宜点\n
\nprice_per_sqft = 100\n
# 我们先按面积大小估计房屋价格基准\n \nprice = price_per_sqft * sqft\n
# 现在根据卧室数量微调价格\n
if\nnum_of_bedrooms == 0:\n
#\n工作室类型的公寓比较便宜\n
\nprice = price — 20000\n \nelse:\n
#\n卧室数量越多,通常房价越贵\n
price\n= price + (num_of_bedrooms * 1000)\n \n return price\u003C\u002Fcode\u003E\u003Cp\u003E假如你像这样瞎忙几个小时,最后也许会得到一些像模像样的东西。但是你的程序永不会完美,而且当价格变化时很难维护。\u003C\u002Fp\u003E\u003Cp\u003E如果能让计算机找出实现上述函数功能的办法,岂不更好?只要返回的房价数字正确,谁会在乎函数具体干了些什么呢?\u003C\u002Fp\u003E\u003Ccode lang=\&python\&\u003Edef\nestimate_house_sales_price(num_of_bedrooms, sqft, neighborhood):\n \nprice = &计算机,请帮我算点数学题&\n \nreturn price\u003C\u002Fcode\u003E\u003Cp\u003E考虑这个问题的一种角度是将\u003Cb\u003E价格\u003C\u002Fb\u003E看作一碗美味的汤,而汤的原材料就是\u003Cb\u003E卧室数量、面积和地段\u003C\u002Fb\u003E。如果你能算出每种原材料对最终的价格有多大影响,也许就能得到各种原材料混合形成最终价格的具体比例。\u003C\u002Fp\u003E\u003Cp\u003E这样可以将你最初的程序(全是令人抓狂的 if else 语句)简化成类似如下的样子:\u003C\u002Fp\u003E\u003Ccode lang=\&python\&\u003Edef\nestimate_house_sales_price(num_of_bedrooms, sqft, neighborhood):\n price = 0\n \n # 一小撮这个\n price += num_of_bedrooms * .213\n \n # 一大撮那个\n price += sqft * \n \n # 或许再加一把这个\n price += neighborhood * 2.\n \n # 最后,再多加一点点盐\n price += 201.\n\n return price\u003C\u002Fcode\u003E\u003Cp\u003E注意那些用粗体标注的神奇数字——\u003Cb\u003E.213, , 2., 和201.3C\u002Fb\u003E。它们称为\u003Cb\u003E权重(weight)\u003C\u002Fb\u003E。如果我们能找出对每栋房子都适用的完美权重,我们的函数就能预测所有的房价![3]\u003C\u002Fp\u003E\u003Cp\u003E一种找出最佳权重的笨办法如下所示:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E第一步:\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E首先,将每个权重都设为 1.0:\u003C\u002Fp\u003E\u003Ccode lang=\&python\&\u003Edef\nestimate_house_sales_price(num_of_bedrooms, sqft, neighborhood):\n \nprice = 0\n
# 一小撮这个\n \nprice += num_of_bedrooms * 1.0\n
# 一大撮那个\n \nprice += sqft * 1.0\n
# 或许再加一把这个\n \nprice += neighborhood * 1.0\n
# 最后,再多加一点点盐\n \nprice += 1.0\n
\nreturn price\u003C\u002Fcode\u003E\u003Cp\u003E\u003Cb\u003E第二步:\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E将你知道的每栋房产的数据代入函数进行运算,检验估算值与正确价格的偏离程度:\u003Cimg src=\&v2-cadddea5db9a07bbef1f9.jpg\& data-rawwidth=\&800\& data-rawheight=\&346\&\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E用你的程序来预测每栋房屋的价格。\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E比如说,如果第一套房产实际成交价为 25 万美元,你的函数估价为 17.8 万美元,这一套房产你就差了 7.2 万。\u003C\u002Fp\u003E\u003Cp\u003E现在,将你的数据集中的每套房产估价偏离值平方后求和。假设你的数据集中交易了 500 套房产,估价偏离值平方求和总计为 86,123,373 美元。这个数字就是你的函数现在的「错误」程度。\u003C\u002Fp\u003E\u003Cp\u003E现在,将总和除以 500,得到每套房产的估价偏差的平均值。将这个平均误差值称为你函数的\u003Cb\u003E代价(cost)\u003C\u002Fb\u003E。\u003C\u002Fp\u003E\u003Cp\u003E如果你能通过调整权重,使得这个代价变为 0,你的函数就完美了。它意味着,根据输入的数据,你的程序对每一笔房产交易的估价都是分毫不差。所以这就是我们的目标——\u003Cb\u003E通过尝试不同的权重值,使代价尽可能的低。\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E第三步:\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E通过尝试\u003Cb\u003E所有可能的权重值组合\u003C\u002Fb\u003E,不断重复第二步。哪一个权重组合的代价最接近于 0,你就使用哪个。当你找到了合适的权重值,你就解决了问题!\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E兴奋的时刻到了!\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E挺简单的,对吧?想一想刚才你做了些什么。你拿到了一些数据,将它们输入至三个泛型的、简单的步骤中,最后你得到了一个可以对你所在区域任何房屋进行估价的函数。房价网站们,你们要小心了!\u003C\u002Fp\u003E\u003Cp\u003E但是下面的一些事实可能会让你更兴奋:\u003C\u002Fp\u003E\u003Cp\u003E1.
过去 40 年来,很多领域(如语言学、翻译学)的研究表明,这种「搅拌数字汤」(我编的词)的泛型学习算法已经超过了那些真人尝试明确规则的方法。机器学习的「笨」办法终于打败了人类专家。\u003C\u002Fp\u003E\u003Cp\u003E2.
你最后写出的程序是很笨的,它甚至不知道什么是「面积」和「卧室数量」。它知道的只是搅拌,改变数字来得到正确的答案。\u003C\u002Fp\u003E\u003Cp\u003E3.
你可能会对「\u003Cb\u003E为何\u003C\u002Fb\u003E一组特殊的权重值会有效」一无所知。你只是写出了一个你实际上并不理解却能证明有效的函数。\u003C\u002Fp\u003E\u003Cp\u003E4.
试想,如果你的预测函数输入的参数不是「面积」和「卧室数量」,而是一列数字,每个数字代表了你车顶安装的摄像头捕捉的画面中的一个像素。然后,假设预测的输出不是「价格」而是「方向盘转动角度」,\u003Cb\u003E这样你就得到了一个程序可以自动操纵你的汽车了!\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E太疯狂了,对吧?[4]\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E第三步里「尝试每个数字」是怎么一回事?\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E好吧,当然你不可能试遍所有权重组合来找到效果最好的组合。直到世界毁灭你也算不完,因为这数字和组合无穷无尽。\u003C\u002Fp\u003E\u003Cp\u003E为了避免这种情况,数学家们找到了很多种\u003Ca href=\&http:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGradient_descent\&\u003E聪明的办法\u003C\u002Fa\u003E来快速找到优秀的权重值。下面是一种:\u003C\u002Fp\u003E\u003Cp\u003E首先,写出一个简单的等式表示上面的第二步:\u003Cimg src=\&v2-b2e83b1fc1b4e9daea025.png\& data-rawwidth=\&955\& data-rawheight=\&313\&\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E这就是你的\u003Cb\u003E代价函数(Cost Function)。\u003C\u002Fb\u003E\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E现在让我们,使用机器学习数学术语(现在暂时你可以忽略它们),重新改写同样的这一等式:\u003Cimg src=\&v2-4b8a2ffc4e94a3dfd97bfdfa.png\& data-rawwidth=\&1374\& data-rawheight=\&344\&\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E θ 表示当前的权重值。 J(θ) 表示「当前权重的代价」。\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E这个等式表示,在当前权重值下,我们估价程序的偏离程度。\u003C\u002Fp\u003E\u003Cp\u003E如果我们为这个等式中所有卧室数和面积的可能权重值作图的话,我们会得到类似下图的图表:\u003Cimg src=\&v2-d1bc23e6d9aad642eb4e0c.png\& data-rawwidth=\&1600\& data-rawheight=\&1114\&\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E我们代价函数的图形就像一个碗。纵轴表示代价。\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E图中,蓝色的最低点就是代价最低的地方——在这里我们的程序偏离最小。最高点们意味着偏离最大。所以,如果我们能找到一组权重值让我们到达图中的最低点,我们就得到了答案!\u003Cimg src=\&v2-82980fdcbcdda6c279a967e630e21053.png\& data-rawwidth=\&1432\& data-rawheight=\&946\&\u003E\u003C\u002Fp\u003E\u003Cp\u003E因此,我们需要做的只是调整我们的权重,使得我们在图上朝着最低点「走下坡路」。如果我们不断微调权重,一直向最低点移动,那么我们最终不用尝试太多权重就可以到达那里。\u003C\u002Fp\u003E\u003Cp\u003E如果你还记得一点微积分的话,你也许记得如果你对一个函数求导,它会告诉你函数任意一点切线的斜率。换句话说,对于图上任意给定的一点,求导能告诉我们哪条是下坡路。我们可以利用这个知识不断走向最低点。[5]\u003C\u002Fp\u003E\u003Cp\u003E所以,如果我们对代价函数关于每一个权重求偏导,那么我们就可以从每一个权重中减去该值。这样可以让我们更加接近山底。一直这样做,最终我们将到达底部,得到权重的最优值。(读不懂?不用担心,继续往下读)。\u003C\u002Fp\u003E\u003Cp\u003E这种为函数找出最佳权重的方法叫做\u003Cb\u003E批量梯度下降(Batch Gradient Descent)\u003C\u002Fb\u003E。如果你对细节感兴趣,不要害怕,可以看看这个\u003Ca href=\&https:\u002F\\u002F\u002F24\u002Fintroduction-to-gradient-descent\u002F\&\u003E详细说明\u003C\u002Fa\u003E。\u003C\u002Fp\u003E\u003Cp\u003E当你使用一个机器学习算法库来解决实际问题时,这些都已经为你准备好了。但清楚背后的原理依然是有用的。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E还有什么是本篇文章略过的内容?\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E上面我描述的三步算法被称为\u003Cb\u003E多元线性回归(multivariate linear regression)\u003C\u002Fb\u003E。你在估算一个能够拟合所有房价数据点的直线表达式。然后,你再根据房子可能在你的直线上出现的位置,利用这个等式来估算你从未见过的房屋的价格。这是一个十分强大的想法,你可以用它来解决「实际」问题。\u003C\u002Fp\u003E\u003Cp\u003E但是,尽管我展示给你的这种方法可能在简单的情况下有效,它却不能应用于所有情况。原因之一,就是因为房价不会是简简单单一条连续的直线。\u003C\u002Fp\u003E\u003Cp\u003E不过幸运的是,有很多办法来处理这种情况。有许多机器学习算法可以处理非线性数据(如\u003Ca href=\&http:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FArtificial_neural_network\&\u003E神经网络\u003C\u002Fa\u003E或带\u003Ca href=\&https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FKernel_method\&\u003E核函数\u003C\u002Fa\u003E的\u003Ca href=\&https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSupport_vector_machine\&\u003E支持向量机\u003C\u002Fa\u003E)。除此之外,灵活使用线性回归也能拟合更复杂的线条。在所有的情况下,寻找最优权重这一基本思路依然适用。\u003C\u002Fp\u003E\u003Cp\u003E另外,我忽略了\u003Cb\u003E过拟合(overfitting)\u003C\u002Fb\u003E的概念。得到一组能完美预测原始数据集中房价的权重组很简单,但用这组权重组来预测原始数据集之外的任何新房屋其实都不怎么准确。这也是有许多解决办法的(如\u003Ca href=\&http:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRegularization_%28mathematics%29#Regularization_in_statistics_and_machine_learning\&\u003E正则化\u003C\u002Fa\u003E以及使用\u003Ca href=\&http:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCross-validation_%28statistics%29\&\u003E交叉验证\u003C\u002Fa\u003E的数据集)。学习如何应对这一问题,是学习如何成功应用机器学习技术的重点之一。\u003C\u002Fp\u003E\u003Cp\u003E换言之,尽管基本概念非常简单,要通过机器学习得到有用的结果还是需要一些技巧和经验的。但是,这是每个开发者都能学会的技巧。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E机器学习是黑魔法吗?\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E一旦你开始明白,用机器学习技术解决那些看似困难问题(如字迹识别)有多便利时,你就会有一种,只要有足够的数据,你就能够用机器学习解决任何问题的感觉。只需要输入数据,计算机就能神奇地找出拟合数据的等式!\u003C\u002Fp\u003E\u003Cp\u003E但是有一点很重要,你要记住,只有在你拥有的数据对于解决实际问题有效的时候,机器学习才能适用。\u003C\u002Fp\u003E\u003Cp\u003E例如,如果你建立了一个根据每套房屋内盆栽种类的数量来预测房价的模型,那它永远都不会有效果。因为盆栽种类的数量和房价之间没有任何的关系。所以,无论你多卖力地尝试,计算机永远也推导不出两者之间的关系。\u003Cimg src=\&v2-55cdb5bb8.jpg\& data-rawwidth=\&1010\& data-rawheight=\&322\&\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E你只能模拟实际存在的关系。\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E所以请记住,如果一个问题人类专家不能手动用数据解决,计算机可能也不能解决。然而,对于那些人类能够解决的问题,如果计算机能够更快地解决,那岂不美哉?\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E怎样学到更多机器学习的知识\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E我认为,目前机器学习的最大问题是它主要活跃于学术界和商业研究组织中。对于只想大体了解一下,而不打算成为专家的人们来说,简单易懂的资料不多。但是这种情况每天正在改善。\u003C\u002Fp\u003E\u003Cp\u003E吴恩达教授(Andrew Ng)在 \u003Ca href=\&https:\u002F\u002Fwww.coursera.org\u002Fcourse\u002Fml\&\u003ECoursera 上的免费机器学习课程\u003C\u002Fa\u003E非常棒。我强烈建议从此入手。对于任何拥有计算机或科学学位的人,或是还能记住一点点数学的人来说,都应该非常容易入门。\u003C\u002Fp\u003E\u003Cp\u003E另外,你还可以通过下载安装 \u003Ca href=\&http:\u002F\u002Fscikit-learn.org\u002Fstable\u002F\&\u003ESciKit-Learn\u003C\u002Fa\u003E,用它来试验无数个机器学习算法。它是一个 Python 框架,包含了所有常见机器学习算法的「黑盒」版本。\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E注:\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E1.
译者注:泛型,即没有特定类型,泛型算法是一种对很多不同问题都适用的算法,也叫作通用算法。如果你现在还对这个概念一知半解没关系,相信你读过这篇文章之后会对「泛型算法」有一个更深入的理解。\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E2.
作者注:还有很多\u003Ca href=\&https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMachine_learning#Algorithm_types\&\u003E其它种类\u003C\u002Fa\u003E的机器学习算法。但从这里开始讲起是一个不错的选择。\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E3.
译者注:权重可能有很多种不同的组合,每一种权重最后给出的房价预测也不同,我们的目标就是要找出一组最终价格最接近真实值的权重。\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E4.
译者注:到这里,你应该对泛型算法有一个更深刻的理解了。\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E5.
译者注:如果你还记得微积分当中,一个点求出的导数是 0的话,那么这个点就是最低点。所以返回到刚刚的代价函数里面,代价函数就等于 0,也就意味着,你的预估和真实值没有任何差别。\u003C\u002Fi\u003E\u003C\u002Fp\u003E&,&updated&:new Date(&T07:22:19.000Z&),&canComment&:false,&commentPermission&:&anyone&,&commentCount&:39,&likeCount&:1087,&state&:&published&,&isLiked&:false,&slug&:&&,&isTitleImageFullScreen&:true,&rating&:&none&,&sourceUrl&:&&,&publishedTime&:&T15:22:19+08:00&,&links&:{&comments&:&\u002Fapi\u002Fposts\u002F2Fcomments&},&url&:&\u002Fp\u002F&,&titleImage&:&https:\u002F\\u002Fv2-d3d0f61b2a3ed175e7f8_r.jpg&,&summary&:&&,&href&:&\u002Fapi\u002Fposts\u002F&,&meta&:{&previous&:null,&next&:null},&snapshotUrl&:&&,&commentsCount&:39,&likesCount&:1087},&&:{&title&:&机器学习原来这么有趣!第二章:用机器学习制作超级马里奥的关卡&,&author&:&zhao95&,&content&:&\u003Cp\u003E作者:\u003Ca href=\&https:\\u002F@ageitgey?source=post_header_lockup\& data-editable=\&true\& data-title=\&Adam Geitgey\&\u003EAdam Geitgey\u003C\u002Fa\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E原文:\u003Ca href=\&https:\\u002F@ageitgey\u002Fmachine-learning-is-fun-part-2-a26a10b68df3\& data-editable=\&true\& data-title=\& 的页面\& class=\&\&\u003Ehttps:\\u002F@ageitgey\u002Fmachine-learning-is-fun-part-2-a26a10b68df3\u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003Cp\u003E译者:巡洋舰科技——赵 95\u003C\u002Fp\u003E\u003Cp\u003E校对:离线Offline——林沁\u003C\u002Fp\u003E\u003Cp\u003E转载请联系译者。\u003C\u002Fp\u003E\u003Cp\u003E在第一章中我们谈到,机器学习是用泛型算法告诉你一些有关数据的有趣结论,而这个过程中你不需要写任何与问题有关的特定代码。(如果你还没有读过第一章,现在先去读吧!)\u003C\u002Fp\u003E\u003Ch2\u003E\u003Cb\u003E这一次,我们要来用其中一种泛型算法来做件很酷炫的事情——创造一个看起来像是人类设计的电子游戏关卡!我们会构造一个神经网络,并提供给它已存在的超级马里奥的关卡设计,然后就可以等它自己创造出新的关卡了!\u003C\u002Fb\u003E\u003C\u002Fh2\u003E\u003Cimg src=\&v2-0a4ae56dfcd98cc6e09276.jpg\&\u003E\u003Cp\u003E\u003Ca href=\&https:\u002F\u002Fsupermariomakerbookmark.nintendo.net\u002Fcourses\u002F4AC9--F3C3\& data-editable=\&true\& data-title=\&使用这种泛型算法可以创造出来关卡之一\&\u003E\u003Ci\u003E使用这种泛型算法可以创造出来关卡之一\u003C\u002Fi\u003E\u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E和第一章类似,这篇指南是为那些对机器学习感兴趣,但又不知从哪里开始的人而写的。这意味着文中有大量的概括。但是那又如何呢?只要能让读者对机器学习更感兴趣,这篇文章的任务也就完成了。\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E在开始之前,我们先来看看我们用机器学习的方法制作出的关卡吧~\u003C\u002Fp\u003E\u003Cp\u003E\u003Ca href=\&https:\u002F\\u002F?target=http%3A\u002F\\u002Fv_show\u002Fid_XMTg2NTg1MTk5Ng%3D%3D.html%3Fspm%3Da2hzp..0%26amp%3Bamp%3Bfrom%3Dy1.7-2\& data-editable=\&true\& data-title=\&有趣的机器学习 第二章:用机器学习制作超级马里奥的关卡—在线播放—优酷网,视频高清在线观看 http:\u002F\\u002Fv_show\u002Fid_XMTg2NTg1MTk5Ng==.html?spm=a2hzp..0&from=y1.7-2\& class=\&\&\u003Ehttps:\u002F\\u002F?target=http%3A\u002F\\u002Fv_show\u002Fid_XMTg2NTg1MTk5Ng%3D%3D.html%3Fspm%3Da2hzp..0%26amp%3Bamp%3Bfrom%3Dy1.7-2\u003C\u002Fa\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Ch2\u003E做出更智能更准确的预测\u003C\u002Fh2\u003E\u003Cp\u003E回到第一章,我们根据房屋各种特征属性创造了一个来估计房价的简单算法。我们给出了一所房子的如下数据:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&v2-d00f6b6ce46.jpg\& data-rawwidth=\&800\& data-rawheight=\&150\&\u003E我们得到了这个简单的预估函数:\u003C\u002Fp\u003E\u003Ccode lang=\&python\&\u003Edef estimate_house_sales_price(num_of_bedrooms, sqft, neighborhood):\n
price = 0\n
\n# 一小撮这个\n
price += num_of_bedrooms * 0.123\n# 一大撮这个\n
price += sqft * 0.41\n# 也许再来一把这个\n
price += neighborhood * 0.57\nreturn price\u003C\u002Fcode\u003E\u003Cp\u003E换句话说,我们把决定房屋价格的因素乘以它的\u003Cb\u003E权重\u003C\u002Fb\u003E,再把这些乘积求和,就可以得到房子的预估价格了。\u003C\u002Fp\u003E\u003Cp\u003E或者不使用代码,我们直接用一个图片来概括这个函数:\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E\u003Cimg src=\&v2-edbbb07900b2e.jpg\& data-rawwidth=\&883\& data-rawheight=\&589\&\u003E箭头表示了函数中的权重。\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E然而,这个算法仅仅能用于处理一些简单的问题,就是那些输入和输出有着\u003Cb\u003E线性关系\u003C\u002Fb\u003E的问题。但如果真实价格和决定因素的关系并不是如此简单,那我们该怎么办? 比如说,地段对于大户型和小户型的房屋有很大影响,然而对中等户型的房屋并没有太大影响。那我们该怎么在我们的模型中收集这种复杂的信息呢?\u003C\u002Fp\u003E\u003Cp\u003E所以为了更加的智能化,我们可以利用不同的权重来多次运行这个算法,收集各种不同情况下的估价。\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E\u003Cimg src=\&v2-543e128a073b7d19e09f70f6c474e556.jpg\& data-rawwidth=\&1485\& data-rawheight=\&1206\&\u003E让我们试着用\u003C\u002Fi\u003E\u003Ci\u003E四种不同的算法来解决该问题\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E现在,我们有了四种不同的估价方法。我们将这四种估价方法汇总到一个最终估计当中。我们再把们放到同样的算法当中再算一遍(当然这次我们使用的权重不同)!\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&v2-c7a90ccddf0c3208caa45bc8.jpg\& data-rawwidth=\&777\& data-rawheight=\&725\&\u003E我们现在就结合了解决同一问题的方法四种不同方法,得到的一个「\u003Cb\u003E超级答案\u003C\u002Fb\u003E」。正是由于此,我们才能够用它来模拟更多不同的情况。\u003C\u002Fp\u003E\u003Ch2\u003E神经网络是什么?\u003C\u002Fh2\u003E\u003Cp\u003E我们来把四种不同的预测方法概括到一个图当中:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&v2-4dbfbefa401ab23bcf5b38.jpg\& data-rawwidth=\&895\& data-rawheight=\&775\&\u003E这就是一张神经网络!每一个节点都知道如何收集一组收据,找到他们的权重,做出对应的输出值(即价格预测)。把这些节点连接到一起,我们就可以模拟更复杂的函数了!\u003C\u002Fp\u003E\u003Cp\u003E当然了,为了保持简洁性,我跳过了许多内容(例如\u003Ca href=\&https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFeature_scaling\& data-editable=\&true\& data-title=\&特征缩放\&\u003E特征缩放\u003C\u002Fa\u003E和\u003Ca href=\&https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FActivation_function\& data-editable=\&true\& data-title=\&激活函数\&\u003E激活函数\u003C\u002Fa\u003E)。但是最重要的是下面的这些内容:\u003C\u002Fp\u003E\u003Cp\u003E· 我们制造了一个权重×因素的简单函数,我们把这个函数叫做\u003Cb\u003E神经元\u003C\u002Fb\u003E。\u003C\u002Fp\u003E\u003Cp\u003E· 通过连接许许多多的简单\u003Cb\u003E神经元\u003C\u002Fb\u003E,我们能模拟那些不能被一个神经元所模拟的函数。\u003C\u002Fp\u003E\u003Cp\u003E这就好像乐高积木一样! 我们不能用一个乐高积木搭成摩天大楼,但是如果有足够多的乐高积木的话,我们能够搭建成任何东西。\u003C\u002Fp\u003E\u003Cimg src=\&v2-9c2f64e007b92eafb707e02.png\&\u003E\u003Cp\u003E\u003Ci\u003E也许未来的动物都是由积木搭成的?\u003C\u002Fi\u003E\u003Ci\u003E那只能去未来一探究竟了\u003C\u002Fi\u003E\u003Ci\u003E……\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Ch2\u003E让我们的神经网络拥有记忆的能力\u003C\u002Fh2\u003E\u003Cp\u003E如果输入相同的数据,我们刚刚看到的那个神经网络总是有着一样的输出。这是因为他没有记忆能力。用编程的语言来说,他是一个\u003Ca href=\&https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FState_%28computer_science%29\& data-editable=\&true\& data-title=\&无状态算法\&\u003E\u003Cb\u003E无状态算法\u003C\u002Fb\u003E\u003C\u002Fa\u003E\u003Cb\u003E(\u003C\u002Fb\u003E\u003Cb\u003Estateless algorithms\u003C\u002Fb\u003E\u003Cb\u003E)。\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E在许多情况下(例如说估计房价),无状态算法正是你所需要的算法。但是随着时间的增加,这种算法无法在数据中找出规律。[1]\u003C\u002Fp\u003E\u003Cp\u003E假设我现在让你在电脑上写一个故事。在你开始之前,我需要猜测你最先敲击键盘上的哪个字母。我应该猜哪个呢?\u003C\u002Fp\u003E\u003Cp\u003E我可以使用我的语言(英语)知识来增加我猜对的概率。比如说,你可能会先打单词常见的第一个字母。如果我看一下你过去写过的故事,我能够根据你过去的用词选择来缩小我猜测的范围。一旦我拥有这些数据,我能够用他们来构建一个神经网络,并能计算出你用任意一个字母来开头的概率。\u003C\u002Fp\u003E\u003Cp\u003E我们的模型就像这样:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&v2-5164eccc600b135c7e426c.jpg\& data-rawwidth=\&860\& data-rawheight=\&241\&\u003E让我们把这个问题变得更难一点。现在我们假设,在整个文章中间的某一点,我们要猜测你即将输入的下一个字母是什么。这是一个更有趣的问题。\u003C\u002Fp\u003E\u003Cp\u003E让我们把海明威的著作《\u003Ca href=\&https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FThe_Sun_Also_Rises\& data-editable=\&true\& data-title=\&太阳照常升起\&\u003E太阳照常升起\u003C\u002Fa\u003E》的前几个单词当成一个例子:\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003ERobert Cohn was once middleweight boxi\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E所以,下一个字母是什么?\u003C\u002Fp\u003E\u003Cp\u003E你可能会猜是「n」,这个词有可能是「boxing」。我们是通过观察还有语言常识来猜测这个词的。同时,「middleweight」这个词也给了我们猜测的额外线索。\u003C\u002Fp\u003E\u003Cp\u003E换一个角度来说,如果我们知道了在这之前出现的字母,并结合我们的语言常识,要猜对下一个字母就会变得很简单。\u003C\u002Fp\u003E\u003Cp\u003E为了用神经网络的方法来解决这个问题,我们需要把\u003Cb\u003E状态(\u003C\u002Fb\u003E\u003Cb\u003Estate\u003C\u002Fb\u003E\u003Cb\u003E)\u003C\u002Fb\u003E加入到我们的模型当中。每次通过神经网络来解决问题的时候,我们将中间的计算结果也保存下来,并作为下次的输入的一部分再次使用。这样一来,我们的模型就能根据以往的输入数据来调整它的猜测。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&v2-7dbb0873799e.jpg\& data-rawwidth=\&860\& data-rawheight=\&458\&\u003E跟踪模型中的每一个状态(state),不仅能够让我们更好预测第一个字母,更能让我们更好的预测到任意位置的下一个字母。\u003C\u002Fp\u003E\u003Cp\u003E这就是\u003Cb\u003E循环\u003C\u002Fb\u003E神经网络(Recurrent Neural Network,简称 RNN)的基本概念。我们每次使用神经网络的时候都会对他进行升级。这使它能跟根据最近浏览的信息更新它的预测。如果数据记忆足够多的话,他甚至能够模拟出长期的规律。\u003C\u002Fp\u003E\u003Ch2\u003E猜字母有什么意义?\u003C\u002Fh2\u003E\u003Cp\u003E猜下一个字母看上去并没有什么实用价值。这么做的意义是什么呢?\u003C\u002Fp\u003E\u003Cp\u003E根据你的输入,自动补全你想输入的单词,就是一个比较酷炫的应用。\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E\u003Cimg src=\&v2-767363cfc33ac56ebf728a19.png\& data-rawwidth=\&1600\& data-rawheight=\&900\&\u003E下一个最有可能的字母是「\u003C\u002Fi\u003E\u003Ci\u003Et\u003C\u002Fi\u003E\u003Ci\u003E」。\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E但是如果我们最大程度地拓展这个想法会怎样?如果我们让我们的模型一直去预测下一个字母,永远不停止,那会怎样? 机器会不会自己写出一个完整的故事?\u003C\u002Fp\u003E\u003Ch2\u003E生成一个故事\u003C\u002Fh2\u003E\u003Cp\u003E刚刚我们看到了如何猜测海明威《太阳照常升起》中的下一个字母的。现在让我们来试一试写一个海明威式(写作风格)的故事吧!\u003C\u002Fp\u003E\u003Cp\u003E让我们用\u003Ca href=\&http:\u002F\u002Fkarpathy.github.io\u002Fabout\u002F\& data-editable=\&true\& data-title=\&安德烈·卡帕西\&\u003E安德烈·卡帕西\u003C\u002Fa\u003E(Andrej Karpathy)写的\u003Ca href=\&https:\\u002Fkarpathy\u002Fchar-rnn\& data-editable=\&true\& data-title=\&循环神经网络实现\&\u003E循环神经网络实现\u003C\u002Fa\u003E来完成我们的目标。安德烈是斯坦福的一位深度学习研究者。有关用 RNNs 生成文字,他写过\u003Ca href=\&http:\u002F\u002Fkarpathy.github.io\u002F\u002F21\u002Frnn-effectiveness\u002F\& data-editable=\&true\& data-title=\&一篇非常棒的导论\&\u003E一篇非常棒的导论\u003C\u002Fa\u003E。你可以在 \u003Ca href=\&https:\\u002Fkarpathy\u002Fchar-rnn\& data-editable=\&true\& data-title=\&GitHub 上查看这个模型的代码\&\u003EGitHub 上查看这个模型的代码\u003C\u002Fa\u003E。\u003C\u002Fp\u003E\u003Cp\u003E让我们用《太阳照常升起》中的文字构建我们的模型。全书共有 362,239 个词,使用了 84 个不同的字符(包括标点符号和大小写字母等)。和真实世界的问题相比,这组数据其实已经非常小了。如果想要更好地模仿海明威的文风,我们需要的样本文本长度可能是这本小说长度的几倍。但是这本《太阳照常升起》已经足够展示制作我们模型的过程了。\u003C\u002Fp\u003E\u003Cp\u003E当我们刚开始训练 RNN 的时候,它猜测的并不准确。这是它经过 100 个循环训练之后的结果:\u003C\u002Fp\u003E\u003Cbr\u003E\u003Cp\u003EhjCTCnhoofeoxelif edElobe negnk e iohehasenoldndAmdaI ayio pe e h’e btentmuhgehi bcgdltt. gey heho grpiahe.\u003C\u002Fp\u003E\u003Cp\u003EDdelnss.eelaishaner” cot AAfhB ht ltny\u003C\u002Fp\u003E\u003Cp\u003Eehbih a”on bhnte ectrsnae abeahngy\u003C\u002Fp\u003E\u003Cp\u003Eamo k ns aeo?cdse nh a taei.rairrhelardr er deffijha [2]\u003C\u002Fp\u003E\u003Cbr\u003E\u003Cp\u003E你可以看到的是机器已经知道单词之间应该有空格,这正是我们想要的。\u003C\u002Fp\u003E\u003Cp\u003E1000 个循环之后,结果看起来更靠谱一点:\u003C\u002Fp\u003E\u003Cbr\u003E\u003Cp\u003Ehing soor ither. And the caraos, and the crowebel for figttier and ale the room of me? Streat was not to him Bill-stook of the momansbed mig out ust on the bull, out here. I been soms\u003C\u002Fp\u003E\u003Cp\u003Einick stalling that aid.\u003C\u002Fp\u003E\u003Cp\u003E“Hon’t me and acrained on .Hw’s don’t you for the roed,” In’s pair.”\u003C\u002Fp\u003E\u003Cp\u003E“Alough marith him.”[3]\u003C\u002Fp\u003E\u003Cbr\u003E\u003Cp\u003E我们的模型已经开始识别出句子的基本构成模式了。它已经学会给句子加上句号,甚至学会了用引号。还成功的拼出了一些单词,但大部分依然在胡扯。\u003C\u002Fp\u003E\u003Cp\u003E经过几千次交互训练之后,他看起来很棒:\u003C\u002Fp\u003E\u003Cbr\u003E\u003Cp\u003EHe went over to the gate of the café. It was like a country bed.\u003C\u002Fp\u003E\u003Cp\u003E“Do you know it’s been me.”\u003C\u002Fp\u003E\u003Cp\u003E“Damned us,” Bill said.\u003C\u002Fp\u003E\u003Cp\u003E“I was dangerous,” I said. “You were she did it and think I would a fine cape you,” I said.\u003C\u002Fp\u003E\u003Cp\u003E“I can’t look strange in the cab.”\u003C\u002Fp\u003E\u003Cp\u003E“You know I was this is though,” Brett said.\u003C\u002Fp\u003E\u003Cp\u003E“It’s a fights no matter?”\u003C\u002Fp\u003E\u003Cp\u003E“It makes to do it.”\u003C\u002Fp\u003E\u003Cp\u003E“You make it?”\u003C\u002Fp\u003E\u003Cp\u003E“Sit down,” I said. “I wish I wasn’t do a little with the man.”\u003C\u002Fp\u003E\u003Cp\u003E“You found it.”\u003C\u002Fp\u003E\u003Cp\u003E“I don’t know.”\u003C\u002Fp\u003E\u003Cp\u003E“You see, I’m sorry of chatches,” Bill said. “You think it’s a friend off back and make you really drunk.”\u003C\u002Fp\u003E\u003Cp\u003E他跑到了咖啡厅的门口。它像是一个乡下的床一样。\u003C\u002Fp\u003E\u003Cp\u003E「你知道那是我。」\u003C\u002Fp\u003E\u003Cp\u003E「诅咒我们,」比尔说。\u003C\u002Fp\u003E\u003Cp\u003E「我曾经很危险,」我说。「你是她做了它并且认为我会一个好的海角你,」我说。\u003C\u002Fp\u003E\u003Cp\u003E「我不能在出租车里看起来奇怪」\u003C\u002Fp\u003E\u003Cp\u003E「你知道我是这个虽然,」布拉特说。\u003C\u002Fp\u003E\u003Cp\u003E「它是一个打架不重要?」\u003C\u002Fp\u003E\u003Cp\u003E「它让去做它」\u003C\u002Fp\u003E\u003Cp\u003E「你做的?」\u003C\u002Fp\u003E\u003Cp\u003E「坐下,」我说。「我希望我没有和那个男人做一点。」\u003C\u002Fp\u003E\u003Cp\u003E「你找到了它。」\u003C\u002Fp\u003E\u003Cp\u003E「我不知道。」\u003C\u002Fp\u003E\u003Cp\u003E「你看,我对 chatches(英文中没有 chatches 这个词)感到抱歉,」比尔说道。「你认为它是一个朋友后面并且它真的让你醉」\u003C\u002Fp\u003E\u003Cbr\u003E\u003Cp\u003E到此时,算法已经收集到了海明威写作的基本风格——简短而直接的对话形式。甚至有一些话语开始能被人类理解。\u003C\u002Fp\u003E\u003Cp\u003E和原文中的句子作比较:\u003C\u002Fp\u003E\u003Cbr\u003E\u003Cp\u003EThere were a few people inside at the bar, and outside, alone, sat Harvey Stone. He had a pile of saucers in front of him, and he needed a shave.\u003C\u002Fp\u003E\u003Cp\u003E“Sit down,” said Harvey, “I’ve been looking for you.”\u003C\u002Fp\u003E\u003Cp\u003E“What’s the matter?”\u003C\u002Fp\u003E\u003Cp\u003E“Nothing. Just looking for you.”\u003C\u002Fp\u003E\u003Cp\u003E“Been out to the races?”\u003C\u002Fp\u003E\u003Cp\u003E“No. Not since Sunday.”\u003C\u002Fp\u003E\u003Cp\u003E“What do you hear from the States?”\u003C\u002Fp\u003E\u003Cp\u003E“Nothing. Absolutely nothing.”\u003C\u002Fp\u003E\u003Cp\u003E“What’s the matter?”\u003C\u002Fp\u003E\u003Cp\u003E有几个人在里面酒吧间内,哈维·斯通独自在外面坐着。他面前放着一大堆小碟子,他需要刮刮脸了。\u003C\u002Fp\u003E\u003Cp\u003E「坐下吧,」哈维说,「我正在找你。」\u003C\u002Fp\u003E\u003Cp\u003E「什么事?」\u003C\u002Fp\u003E\u003Cp\u003E「没事儿。只不过找你来着。」\u003C\u002Fp\u003E\u003Cp\u003E「去看赛马啦?」\u003C\u002Fp\u003E\u003Cp\u003E「没有。星期天以来再没去过。」\u003C\u002Fp\u003E\u003Cp\u003E「美国有信来吗?」\u003C\u002Fp\u003E\u003Cp\u003E「没有。毫无音信。」\u003C\u002Fp\u003E\u003Cp\u003E「怎么啦?」\u003C\u002Fp\u003E\u003Cbr\u003E\u003Cp\u003E即使我们只是寻找\u003Cb\u003E每个字符之间\u003C\u002Fb\u003E的规律,我们的算法也已经用恰当的格式重新出一篇看起来可信的文章。这非常厉害!\u003C\u002Fp\u003E\u003Cp\u003E我们也不用完全从头生成文本。我们可以把前几个字母放到算法当中去,让它找到后面的几个字母。\u003C\u002Fp\u003E\u003Cp\u003E让我们一起来模仿海明威著作的封面,来伪造书名和作者玩玩吧!我们规定最开始的字母分别为「Er」、「He」、「The S」。\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E\u003Cimg src=\&v2-e551fd29a14d29f06a96bcd.png\& data-rawwidth=\&1600\& data-rawheight=\&1155\&\u003E真书在左,看起来傻乎乎的假书在右。\u003C\u002Fi\u003E[4]\u003C\u002Fp\u003E\u003Cp\u003E看起来不错呀!\u003C\u002Fp\u003E\u003Cp\u003E但是\u003Cb\u003E真正让人脑洞大开的部分\u003C\u002Fb\u003E是,这个算法能够找出任何数据序列中的规律。他可以轻松创作出\u003Ca href=\&https:\u002F\\u002Fnylki\u002F1efbaabcc\& data-editable=\&true\& data-title=\&食谱\&\u003E食谱\u003C\u002Fa\u003E或者是\u003Ca href=\&https:\\u002F@samim\u002Fobama-rnn-machine-generated-political-speeches-c8abd18a2ea0#.bkz6noh1n\& data-editable=\&true\& data-title=\&假的奥巴马的演讲\&\u003E假的奥巴马的演讲\u003C\u002Fa\u003E。但为什么一定要限定是人类语言呢?这个算法也可以用来处理任何有规律可循的数据。\u003C\u002Fp\u003E\u003Ch2\u003E不用马里奥,智造马里奥\u003C\u002Fh2\u003E\u003Cp\u003E2015年,任天堂在 Wii U 平台上发布了\u003Ca href=\&http:\u002F\\u002F\& data-editable=\&true\& data-title=\&超级马里奥制造\&\u003E超级马里奥制造\u003C\u002Fa\u003E。\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E\u003Cimg src=\&v2-ad31bb4d88c667.png\& data-rawwidth=\&779\& data-rawheight=\&438\&\u003E每个孩子的梦想!\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E在这个游戏中,你可以用编辑器创造出你自己的超级马里奥关卡,并把它们上传到互联网上和朋友们一起玩。你可以使用游戏中所有经典的道具和敌人来创造你自己的关卡。这就像是一个为成年人设计的乐高积木玩具。\u003C\u002Fp\u003E\u003Cp\u003E所以问题来了,我们能够使用创作海明威的模型来制作马里奥么?\u003C\u002Fp\u003E\u003Cp\u003E首先,我们需要一组数据来训练我们的模型。我们会使用马里奥兄弟 1985 年版所有的室外关卡的数据。[5]\u003C\u002Fp\u003E\u003Cimg src=\&v2-adc89c7ffc15aa8.png\& data-rawwidth=\&1535\& data-rawheight=\&2100\&\u003E\u003Cbr\u003E\u003Cp\u003E\u003Ci\u003E这个圣诞节棒极了!谢谢爸爸妈妈!\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E这个游戏共包含 32 关,而其中 70% 都是风格相似的户外场景。所以我们将会使用这些数据。\u003C\u002Fp\u003E\u003Cp\u003E我设计了一个小程序,把原版游戏中所有的关卡设计都提取了出来。超级马里奥兄弟是一个有着 30 年历史的游戏,网上有着丰富的资源来帮助你找出关卡设计在游戏代码中的存储位置。从一个老游戏中提取关卡数据,是一个很有趣的编程练习,你有空可以试一下!\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&v2-63074bcbd30b1a66a57e881ac8f22589.jpg\& data-rawwidth=\&2000\& data-rawheight=\&132\&\u003E这个就是游戏的第一关(如果你玩过超级马里奥,你应该会记得):\u003Ci\u003E超级马里奥关卡\u003C\u002Fi\u003E\u003Ci\u003E 1-1\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E如果我们仔细观察,我们会发现这一关是由一个个简单的小网格类型的物品构成的:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&v2-43f5efd0bde1efc06ecc.png\& data-rawwidth=\&1534\& data-rawheight=\&834\&\u003E我们可以简单的把这些网格表示成一序列字符,每一个字符都代表着一个物品:\u003C\u002Fp\u003E\u003Cp\u003E--------------------------\u003C\u002Fp\u003E\u003Cp\u003E--------------------------\u003C\u002Fp\u003E\u003Cp\u003E--------------------------\u003C\u002Fp\u003E\u003Cp\u003E#??#----------------------\u003C\u002Fp\u003E\u003Cp\u003E--------------------------\u003C\u002Fp\u003E\u003Cp\u003E--------------------------\u003C\u002Fp\u003E\u003Cp\u003E--------------------------\u003C\u002Fp\u003E\u003Cp\u003E-##------=--=----------==-\u003C\u002Fp\u003E\u003Cp\u003E--------==--==--------===-\u003C\u002Fp\u003E\u003Cp\u003E-------===--===------====-\u003C\u002Fp\u003E\u003Cp\u003E------====--====----=====-\u003C\u002Fp\u003E\u003Cp\u003E=========================-\u003C\u002Fp\u003E\u003Cp\u003E我们把物品换成了下列字母:\u003C\u002Fp\u003E\u003Cp\u003E· 「-」代表没有物品\u003C\u002Fp\u003E\u003Cp\u003E· 「=」代表砖块\u003C\u002Fp\u003E\u003Cp\u003E· 「#」代表可以打碎的砖块\u003C\u002Fp\u003E\u003Cp\u003E· 「?」代表金币砖块\u003C\u002Fp\u003E\u003Cp\u003E……就类似于这样,用不同的字字符代表关卡里的不同的物品。\u003C\u002Fp\u003E\u003Cp\u003E最后就得到了如下的文本文档:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&v2-2d7fe5daea8db66f04531dfd1c0ccee0.jpg\& data-rawwidth=\&2000\& data-rawheight=\&673\&\u003E仔细观察这个文本文档,你会发现如果以「行」的顺序观察,并没有什么规律可循:\u003Cimg src=\&v2-df4f04e9bc1.png\& data-rawwidth=\&648\& data-rawheight=\&212\&\u003E\u003C\u002Fp\u003E\u003Cp\u003E一\u003Ci\u003E行一行寻找,并找不到什么规律。你会发现很多行就是空白的。\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E当你把关卡理解为连续的列的时候,规律就浮现出来了:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&v2-426f187efeb773fece9a60b.png\& data-rawwidth=\&638\& data-rawheight=\&222\&\u003E一列一列寻找,规律就显现出来了。比如说每一列都以「=」结尾。\u003C\u002Fp\u003E\u003Cp\u003E为了让算法能找出我们数据中的规律,我们需要把数据以列的形式输入。找出你数据的最有效的表达方法(这个方法也叫作\u003Ca href=\&https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFeature_selection\& data-editable=\&true\& data-title=\&特征选择\&\u003E特征选择\u003C\u002Fa\u003E),是使用机器学习算法的重要技巧之一。\u003C\u002Fp\u003E\u003Cp\u003E为了训练模型,我需要把这个文本文档旋转 90 度。这样一来就保证了这些字符被输入进模型之后,模型能够更容易找到其中的规律。\u003C\u002Fp\u003E\u003Cp\u003E-----------=\u003C\u002Fp\u003E\u003Cp\u003E-------#---=\u003C\u002Fp\u003E\u003Cp\u003E-------#---=\u003C\u002Fp\u003E\u003Cp\u003E-------?---=\u003C\u002Fp\u003E\u003Cp\u003E-------#---=\u003C\u002Fp\u003E\u003Cp\u003E-----------=\u003C\u002Fp\u003E\u003Cp\u003E-----------=\u003C\u002Fp\u003E\u003Cp\u003E----------@=\u003C\u002Fp\u003E\u003Cp\u003E----------@=\u003C\u002Fp\u003E\u003Cp\u003E-----------=\u003C\u002Fp\u003E\u003Cp\u003E-----------=\u003C\u002Fp\u003E\u003Cp\u003E-----------=\u003C\u002Fp\u003E\u003Cp\u003E---------PP=\u003C\u002Fp\u003E\u003Cp\u003E---------PP=\u003C\u002Fp\u003E\u003Cp\u003E----------==\u003C\u002Fp\u003E\u003Cp\u003E---------===\u003C\u002Fp\u003E\u003Cp\u003E--------====\u003C\u002Fp\u003E\u003Cp\u003E-------=====\u003C\u002Fp\u003E\u003Cp\u003E------======\u003C\u002Fp\u003E\u003Cp\u003E-----=======\u003C\u002Fp\u003E\u003Cp\u003E---=========\u003C\u002Fp\u003E\u003Cp\u003E---=========\u003C\u002Fp\u003E\u003Ch2\u003E训练我们的模型\u003C\u002Fh2\u003E\u003Cp\u003E和刚刚训练海明威式文章生成器的过程一样,随着训练次数的增加,模型会渐渐被优化。\u003C\u002Fp\u003E\u003Cp\u003E经过一点点的训练,我们的模型生成了一堆垃圾:\u003C\u002Fp\u003E\u003Cp\u003E--------------------------\u003C\u002Fp\u003E\u003Cp\u003ELL+&&=------P-------------\u003C\u002Fp\u003E\u003Cp\u003E--------\u003C\u002Fp\u003E\u003Cp\u003E---------------------T--#--\u003C\u002Fp\u003E\u003Cp\u003E-----\u003C\u002Fp\u003E\u003Cp\u003E-=--=-=------------=-&--T--------------\u003C\u002Fp\u003E\u003Cp\u003E--------------------\u003C\u002Fp\u003E\u003Cp\u003E--=------$-=#-=-_\u003C\u002Fp\u003E\u003Cp\u003E--------------=----=&----\u003C\u002Fp\u003E\u003Cp\u003E-------b\u003C\u002Fp\u003E\u003Cp\u003E-\u003C\u002Fp\u003E\u003Cp\u003E它好像理解了应该有很多的「-」和「=」的思路,这已经很好了。但是还没有找到规律。\u003C\u002Fp\u003E\u003Cp\u003E经过几千个循环之后,它开始变得有模有样了:\u003C\u002Fp\u003E\u003Cp\u003E--\u003C\u002Fp\u003E\u003Cp\u003E-----------=\u003C\u002Fp\u003E\u003Cp\u003E----------=\u003C\u002Fp\u003E\u003Cp\u003E--------PP=\u003C\u002Fp\u003E\u003Cp\u003E--------PP=\u003C\u002Fp\u003E\u003Cp\u003E-----------=\u003C\u002Fp\u003E\u003Cp\u003E-----------=\u003C\u002Fp\u003E\u003Cp\u003E-----------=\u003C\u002Fp\u003E\u003Cp\u003E-------?---=\u003C\u002Fp\u003E\u003Cp\u003E-----------=\u003C\u002Fp\u003E\u003Cp\u003E-----------=\u003C\u002Fp\u003E\u003Cp\u003E模型几乎已经知道每一行应该有相同的长度。它甚至开始找出马里奥的一些逻辑:管道(绿色的管子)经常是两格宽,并且至少有两格那么高,所以数据里面的「P」应该以一种 2×2 的方格形式出现。这非常酷炫!\u003C\u002Fp\u003E\u003Cp\u003E经过大量的训练之后,模型开始能生成完美的可用数据:\u003C\u002Fp\u003E\u003Cp\u003E--------PP=\u003C\u002Fp\u003E\u003Cp\u003E--------PP=\u003C\u002Fp\u003E\u003Cp\u003E----------=\u003C\u002Fp\u003E\u003Cp\u003E----------=\u003C\u002Fp\u003E\u003Cp\u003E----------=\u003C\u002Fp\u003E\u003Cp\u003E---PPP=---=\u003C\u002Fp\u003E\u003Cp\u003E---PPP=---=\u003C\u002Fp\u003E\u003Cp\u003E----------=\u003C\u002Fp\u003E\u003Cp\u003E让我们用我们的模型来创造一整个关卡,并把它们横过来:\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E\u003Cimg src=\&v2-43a9e4eac77b88ff.png\& data-rawwidth=\&2000\& data-rawheight=\&309\&\u003E用我们的模型创造的一整关!\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E数据看起来棒棒哒!并且有以下几个优点值得关注:\u003C\u002Fp\u003E\u003Cp\u003E· 它把 \u003Ca href=\&http:\u002F\\u002Flakitu\& data-editable=\&true\& data-title=\&Lakitu\&\u003ELakitu\u003C\u002Fa\u003E(那个浮在云上的怪)放在了关卡一开始的空中,就像真实的超级马里奥关卡一样。\u003C\u002Fp\u003E\u003Cp\u003E· 它知道浮在空中的管道是要放在砖块上面的,它不能单单漂在空中。\u003C\u002Fp\u003E\u003Cp\u003E· 它把敌人放在了恰当的位置。\u003C\u002Fp\u003E\u003Cp\u003E· 它\u003Cb\u003E看上去\u003C\u002Fb\u003E就超级马里奥的一关一样,因为它是在游戏里存在的原版关卡的基础上创造出来的。\u003C\u002Fp\u003E\u003Cp\u003E最终,我们把这一个关放到超级马里奥制造里面,来创造出这一关:\u003Cimg src=\&v2-9b1ee49e9eb54b93f8a93cff51273e04.jpg\& data-rawwidth=\&546\& data-rawheight=\&81\&\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E我们的把关卡数据输入到编辑器以后得到的关卡\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Ca href=\&https:\u002F\\u002F?target=http%3A\u002F\\u002Fv_show\u002Fid_XMTg2NTg1MTk5Ng%3D%3D.html%3Fspm%3Da2hzp..0%26amp%3Bamp%3Bfrom%3Dy1.7-2\& data-editable=\&true\& data-title=\&有趣的机器学习 第二章:用机器学习制作超级马里奥的关卡—在线播放—优酷网,视频高清在线观看 http:\u002F\\u002Fv_show\u002Fid_XMTg2NTg1MTk5Ng==.html?spm=a2hzp..0&from=y1.7-2 \& class=\&\&\u003E有趣的机器学习 第二章:用机器学习制作超级马里奥的关卡—在线播放—优酷网,视频高清在线观看 http:\u002F\\u002Fv_show\u002Fid_XMTg2NTg1MTk5Ng==.html?spm=a2hzp..0&from=y1.7-2 \u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003Cp\u003E自己玩玩看吧!\u003C\u002Fp\u003E\u003Cp\u003E如果你有超级马里奥制造,你可以\u003Ca href=\&https:\u002F\u002Fsupermariomakerbookmark.nintendo.net\u002Fcourses\u002F4AC9--F3C3\& data-editable=\&true\& data-title=\&通过网页版书签\&\u003E通过网页版书签\u003C\u002Fa\u003E收藏或者是用关卡代码 \u003Ca href=\&https:\u002F\u002Fsupermariomakerbookmark.nintendo.net\u002Fcourses\u002F4AC9--F3C3\& data-editable=\&true\& data-title=\&4AC9–-F3C3\&\u003E4AC9–-F3C3\u003C\u002Fa\u003E 来找到这一关。\u003C\u002Fp\u003E\u003Ch2\u003E玩具或是真实世界的应用?\u003C\u002Fh2\u003E\u003Cp\u003E以上我们所使用的循环神经网络算法,就是真实世界中公司用来解决难题的算法。这些难题包括语音识别和文字翻译。解决难题和创造一个游戏关卡的区别,就在于数据量:我们的模型是由极少量的数据生成的。要创造一个非常好的模型,我们需要更多原版超级马里奥兄弟里面的关卡数据。\u003C\u002Fp\u003E\u003Cp\u003E如果我们像任天堂一样拥有成千上万玩家自己创作的马里奥关卡数据,我们可以制作出一个超棒的模型。但是我们不能——因为任天堂不会把这些数据给我们。天下没有免费的午餐,大公司的数据不会免费给你。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E随着机器学习在许多领域越来越重要,好程序与坏程序的区别就在于你拥有多少的数据来训练你的模型。这就是为什么像谷歌和\u003C\u002Fb\u003E\u003Cb\u003E Facebook \u003C\u002Fb\u003E\u003Cb\u003E这样的公司如此需要你的数据!\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E打个比方,谷歌最近开源了 \u003Ca href=\&https:\u002F\u002Fwww.tensorflow.org\u002F\& data-editable=\&true\& data-title=\&TensorFlow\&\u003ETensorFlow\u003C\u002Fa\u003E,这是它用来建立大规模机器学习的工具包。把如此重要,如此实用的技术免费公布出来,对谷歌来说是一个很重量级的决定。你要知道,这可是和谷歌翻译使用的原理是相同的。\u003C\u002Fp\u003E\u003Cp\u003E但如果你没有海量数据,你仍然没有办法创造一个能和谷歌翻译的匹敌的工具。数据是使谷歌处在行业顶端的源泉。想一想你打开\u003Ca href=\&https:\u002F\\u002Flocationhistory\u002Fb\u002F0\& data-editable=\&true\& data-title=\&谷歌地图历史记录\&\u003E谷歌地图历史记录\u003C\u002Fa\u003E或者是 \u003Ca href=\&https:\u002F\\u002Fhelp\u002F7516\& data-editable=\&true\& data-title=\&Facebook 地点记录\&\u003EFacebook 地点记录\u003C\u002Fa\u003E的时候,你会发现它们记录下来了你去过的每一个地方。\u003C\u002Fp\u003E\u003Ch2\u003E延伸阅读\u003C\u002Fh2\u003E\u003Cp\u003E在机器学习中,要解决问题决不只有一种方法。你总是有无数种方法预处理数据,你也有无数种机器学习算法可选。\u003Ca href=\&https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FEnsemble_learning\& data-editable=\&true\& data-title=\&综合各种方法\&\u003E综合各种方法\u003C\u002Fa\u003E之后获得的结果通常会比使用单一方法更好。\u003C\u002Fp\u003E\u003Cp\u003E以下是一些读者发给我的链接,还有这些有趣的方法可以生成马里奥兄弟关卡:\u003C\u002Fp\u003E\u003Cp\u003E· \u003Ca href=\&http:\\u002F\& data-editable=\&true\& data-title=\&埃米·K.胡佛\&\u003E埃米·K.胡佛\u003C\u002Fa\u003E(Amy K. Hoover)的团队把\u003Ca href=\&http:\u002F\\u002FHoover2015Composing.pdf\& data-editable=\&true\& data-title=\&游戏中的每一种物品(管道、地面、平台等)表示成交响乐中的一种声音\&\u003E游戏中的每一种物品(管道、地面、平台等)表示成交响乐中的一种声音\u003C\u002Fa\u003E。然后再使用一种名为功能性搭建(functional scaffolding)的方法,让系统把每一种物品添加到关卡里去。比如说,你可以先自己制作出你想要的关卡基本样式,然后系统就能通过增加水管和是问号砖块来完善你的创作。\u003C\u002Fp\u003E\u003Cp\u003E· \u003Ca href=\&http:\u002F\u002Fforskning.mah.se\u002Fen\u002Fid\u002Ftsstda\& data-editable=\&true\& data-title=\&史蒂夫·达尔斯科格\&\u003E史蒂夫·达尔斯科格\u003C\u002Fa\u003E(Steve Dahlskog)的团队,则把每一列关卡数据表示为一串 N 元语法(n-gram)的「单词」,在此之上建立模型。相比大型的 RNN ,\u003Ca href=\&http:\u002F\\u002FDahlskog2014Linear.pdf\& data-editable=\&true\& data-title=\&这种生成关卡的算法\&\u003E这种生成关卡的算法\u003C\u002Fa\u003E更简单。\u003C\u002Fp\u003E\u003Cp\u003E1. 译者注:因为没有记忆能力。\u003C\u002Fp\u003E\u003Cp\u003E2. 译者注:上面这些只是一堆字母而已,拼不成任何单词。\u003C\u002Fp\u003E\u003Cp\u003E3. 译者注:有一半内容还只是无意义的字母组合,另一半内容是有实际含义的单词,但意思并不通顺。\u003C\u002Fp\u003E\u003Cp\u003E4. 译者注:右边的书名意思是——肉用公牛的秘密。\u003C\u002Fp\u003E\u003Cp\u003E5. 译者注:就是最经典的那一版本。\u003C\u002Fp\u003E&,&updated&:new Date(&T04:35:51.000Z&),&canComment&:false,&commentPermission&:&anyone&,&commentCount&:28,&likeCount&:299,&state&:&published&,&isLiked&:false,&slug&:&&,&isTitleImageFullScreen&:true,&rating&:&none&,&sourceUrl&:&&,&publishedTime&:&T12:35:51+08:00&,&links&:{&comments&:&\u002Fapi\u002Fposts\u002F2Fcomments&},&url&:&\u002Fp\u002F&,&titleImage&:&https:\u002F\\u002Fv2-a2df2bd7a0_r.jpg&,&summary&:&&,&href&:&\u002Fapi\u002Fposts\u002F&,&meta&:{&previous&:null,&next&:null},&snapshotUrl&:&&,&commentsCount&:28,&likesCount&:299},&&:{&title&:&离线杂志上线知乎书店,正式发售单行本&,&author&:&theoffline&,&content&:&\u003Cfigure\u003E\u003Cimg src=\&https:\u002F\\u002F50\u002Fv2-c634ff6f3f_b.png\& data-rawwidth=\&1800\& data-rawheight=\&400\& class=\&origin_image zh-lightbox-thumb\& width=\&1800\& data-original=\&https:\u002F\\u002F50\u002Fv2-c634ff6f3f_r.png\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003E「离线」(\u003Ca href=\&https:\u002F\\u002F?target=https%3A\u002F\\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\\u003Ci class=\&icon-external\&\u003E\u003C\u002Fi\u003E\u003C\u002Fa\u003E)是一个专注于科技文化的品牌。\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cfigure\u003E\u003Cimg src=\&https:\u002F\\u002F50\u002Fv2-084bebd6b81f079b17f52_b.png\& data-rawwidth=\&1668\& data-rawheight=\&536\& class=\&origin_image zh-lightbox-thumb\& width=\&1668\& data-original=\&https:\u002F\\u002F50\u002Fv2-084bebd6b81f079b17f52_r.png\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003E2014 年起,陆续推出《\u003Ca href=\&https:\u002F\\u002F?target=https%3A\u002F\\u002Fsubject\u002F2F\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E开始游戏\u003Ci class=\&icon-external\&\u003E\u003C\u002Fi\u003E\u003C\u002Fa\u003E》《\u003Ca href=\&https:\u002F\\u002F?target=https%3A\u002F\\u002Fsubject\u002F2F\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E黑客\u003Ci class=\&icon-external\&\u003E\u003C\u002Fi\u003E\u003C\u002Fa\u003E》《\u003Ca href=\&https:\u002F\\u002F?target=https%3A\u002F\\u002Fsubject\u002F2F\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E科幻\u003Ci class=\&icon-external\&\u003E\u003C\u002Fi\u003E\u003C\u002Fa\u003E》《\u003Ca href=\&https:\u002F\\u002F?target=https%3A\u002F\\u002Fsubject\u002F2F\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E机器觉醒\u003Ci class=\&icon-external\&\u003E\u003C\u002Fi\u003E\u003C\u002Fa\u003E》四本 Mook。\u003C\u002Fp\u003E\u003Cfigure\u003E\u003Cimg src=\&https:\u002F\\u002F50\u002Fv2-ba1a6a80be968da0aa2b78_b.jpg\& data-rawwidth=\&1800\& data-rawheight=\&1000\& class=\&origin_image zh-lightbox-thumb\& width=\&1800\& data-original=\&https:\u002F\\u002F50\u002Fv2-ba1a6a80be968da0aa2b78_r.jpg\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003E今年 4 月,正式开启会员计划,从每期 10 万多字的传统纸书,转变为每周 3 万字左右的数字阅读产品,通过月会员和年会员\u003Ca href=\&https:\u002F\\u002F?target=https%3A\u002F\\u002Fmembership\u002F\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E付费订阅\u003Ci class=\&icon-external\&\u003E\u003C\u002Fi\u003E\u003C\u002Fa\u003E。杂志形态的转变并没有改变「离线」的初衷:\u003Cb\u003E我们探讨科技如何影响文化、商业和社会生活,发掘技术背后更人性的一面。\u003C\u002Fb\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E「离线」从创刊以来,就一直坚持长文阅读和单个话题的深度,通过每周一期选题丰富的优质内容,和线上线下的分享互动,聚集了一群热爱思考与创新的人。为了让更多更好的内容到达有观点的你,为了让更多热爱思考和创新的人相遇,「离线」开始了新一次进化——正式发售杂志单行本!\u003C\u002Fp\u003E\u003Cp\u003E今天起,离线杂志在\u003Ca href=\&https:\u002F\\u002Fpub\u002Fspecials\u002F\& class=\&internal\&\u003E知乎书店\u003C\u002Fa\u003E正式上线。大家可以直接在\u003Ca href=\&https:\u002F\\u002Fpub\u002Fspecials\u002F\& class=\&internal\&\u003E知乎书店\u003C\u002Fa\u003E付费购买与下载《离线》杂志单本电子书,并在知乎 APP 内随时阅读。我们已经出版的 40 期主题各异的电子杂志,也许能帮你从全新的视角,发现你与科技之间奇妙的化学反应;你也可以在「离线」的\u003Ca href=\&https:\u002F\\u002Ftheoffline\& class=\&internal\&\u003E知乎专栏\u003C\u002Fa\u003E先进行试读,看到感兴趣的话题,记得我们在\u003Ca href=\&https:\u002F\\u002Fpub\u002Fspecials\u002F\& class=\&internal\&\u003E知乎书店\u003C\u002Fa\u003E等你~\u003C\u002Fp\u003E\u003Cp\u003E为了感谢大家对「离线」的关注与支持,也作为对新一批读者的回馈,为期一周的「上线就促销」活动即日开始。在知乎书店最先上线的五本单行本,包括:\u003C\u002Fp\u003E\u003Cfigure\u003E\u003Cimg src=\&https:\u002F\\u002F50\u002Fv2-f40e2efe35deea3cb9beec_b.png\& data-rawwidth=\&972\& data-rawheight=\&1794\& class=\&origin_image zh-lightbox-thumb\& width=\&972\& data-original=\&https:\u002F\\u002F50\u002Fv2-f40e2efe35deea3cb9beec_r.png\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003E将以 1.99 元的价格和大家见面。一周后恢复原价 4.99 元。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cstrong\u003E让我们在知乎,和离线一起,发现更大的世界。\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cbr\u003E\u003Cblockquote\u003E现在购买请点击:\u003Ca href=\&https:\u002F\\u002Fpub\u002Fspecials\u002F\& class=\&internal\&\u003E「离线」杂志首发单行本 - 知乎\u003C\u002Fa\u003E\u003C\u002Fblockquote\u003E&,&updated&:new Date(&T12:21:33.000Z&),&canComment&:false,&commentPermission&:&anyone&,&commentCount&:4,&likeCount&:68,&state&:&published&,&isLiked&:false,&slug&:&&,&isTitleImageFullScreen&:false,&rating&:&none&,&titleImage&:&https:\u002F\\u002Fv2-06adfa574cbec95c7db033c_r.png&,&links&:{&comments&:&\u002Fapi\u002Fposts\u002F2Fcomments&},&topics&:[{&url&:&https:\u002F\\u002Ftopic\u002F&,&id&:&&,&name&:&杂志&},{&url&:&https:\u002F\\u002Ftopic\u002F&,&id&:&&,&name&:&电子书&},{&url&:&https:\u002F\\u002Ftopic\u002F&,&id&:&&,&name&:&促销&}],&adminClosedComment&:false,&href&:&\u002Fapi\u002Fposts\u002F&,&excerptTitle&:&&,&column&:{&slug&:&theoffline&,&name&:&离线&},&sourceUrl&:&&,&pageCommentsCount&:4,&snapshotUrl&:&&,&publishedTime&:&T20:21:33+08:00&,&url&:&\u002Fp\u002F&,&summary&:&\u003Cimg src=\&https:\u002F\\u002F50\u002Fv2-c634ff6f3f_200x112.png\& data-rawwidth=\&1800\& data-rawheight=\&400\& class=\&origin_image inline-img zh-lightbox-thumb\& data-original=\&https:\u002F\\u002F50\u002Fv2-c634ff6f3f_r.png\&\u003E「离线」(\u003Ca href=\&https:\u002F\\& data-editable=\&true\& data-title=\&\&\\u003C\u002Fa\u003E)是一个专注于科技文化的品牌。 2014 年起,陆续推出《\u003Ca href=\&https:\u002F\\u002Fsubject\u002F2F\& data-editable=\&true\& data-title=\&开始游戏\&\u003E开始游戏\u003C\u002Fa\u003E》《\u003Ca href=\&https:\u002F\\u002Fsubject\u002F2F\& data-editable=\&true\& data-title=\&黑客\&\u003E黑客\u003C\u002Fa\u003E》《\u003Ca href=\&https:\u002F\\u002Fsubject\u002F2F\& data-editable=\&true\& data-title=\&科幻\&\u003E科幻\u003C\u002Fa\u003E》《\u003Ca href=\&https:\u002F\\u002Fsubject\u002F2F\& data-editable=\&true\& data-title=\&机器觉醒\&\u003E机器觉醒\u003C\u002Fa\u003E》四本 Mook。今年 4 月,正式开启会员计划,从每期 10 万多字的传统纸书,转变为每周 3 万字左右的数字阅读产品,通过月会员和年会员\u003Ca href=\&https:\u002F\\u002Fmembership\u002F\& data-editable=\&true\& data-title=\&付费订阅\&\u003E…\u003C\u002Fa\u003E&,&reviewingCommentsCount&:0,&meta&:{&previous&:null,&next&:null},&commentsCount&:4,&likesCount&:68},&&:{&title&:&机器学习原来这么有趣!第三章:图像识别【鸟or飞机】?深度学习与卷积神经网络&,&author&:&zhao95&,&content&:&\u003Cp\u003E作者:\u003Ca href=\&https:\\u002F@ageitgey?source=post_header_lockup\& data-editable=\&true\& data-title=\&Adam Geitgey\& class=\&\&\u003EAdam Geitgey\u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003Cp\u003E原文:\u003Ca href=\&https:\\u002F@ageitgey\u002Fmachine-learning-is-fun-part-3-deep-learning-and-convolutional-neural-networks-f#.3n9dohehj\& data-editable=\&true\& data-title=\& 的页面\&\u003Ehttps:\\u002F@ageitgey\u002Fmachine-learning-is-fun-part-3-deep-learning-and-convolutional-neural-networks-f#.3n9dohehj\u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003Cp\u003E译者:巡洋舰科技——赵95\u003C\u002Fp\u003E\u003Cp\u003E校对:离线Offline——林沁\u003C\u002Fp\u003E\u003Cp\u003E转载请联系译者。\u003C\u002Fp\u003E\u003Cbr\u003E\u003Cp\u003E你是不是看烦了各种各样有关深度学习的报道,却仍不知其所云?让我们一起来改变这个现状吧!\u003C\u002Fp\u003E\u003Ch2\u003E\u003Cb\u003E这一次,我们将应用深度学习技术,来写一个识别图像中物体的程序。换句话说,我们会解释 Google \u003C\u002Fb\u003E\u003Cb\u003E相册搜索图片时所用到的「黑科技」:\u003C\u002Fb\u003E\u003Cimg src=\&v2-45b211fbbb7e89bb842546.jpg\& data-rawwidth=\&858\& data-rawheight=\&408\&\u003E\u003C\u002Fh2\u003E\u003Cp\u003E\u003Ci\u003EGoogle \u003C\u002Fi\u003E\u003Ci\u003E现在可以让你在你自己的图片库里面,根据你的描述搜索图片,即使这些图片根本没有被标注任何标签!这是怎么做到的??\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E和第一、二章一样,这篇指南是为那些对机器学习感兴趣,但又不知从哪里开始的人而写的。这意味着文中有大量的概括。但是那又如何呢?只要能让读者对机器学习更感兴趣,这篇文章的任务也就完成了。\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Ch2\u003E用深度学习识别物体\u003Cimg src=\&v2-c1afeead3d92d907f760.jpg\& data-rawwidth=\&534\& data-rawheight=\&896\&\u003E\u003C\u002Fh2\u003E\u003Cp\u003E\u003Ci\u003Exkcd#C\u002Fi\u003E\u003Ci\u003E(出自\u003C\u002Fi\u003E\u003Ca href=\&http:\\u002FF\& data-editable=\&true\& data-title=\&\&\u003E\\u003C\u002Fi\u003E\u003C\u002Fa\u003E\u003Ci\u003E,汉化来自\u003C\u002Fi\u003E\u003Ca href=\&http:\u002F\u002Fxkcd.tw\u002F1425\& data-editable=\&true\& data-title=\&xkcd.tw\&\u003E\u003Ci\u003Exkcd.tw\u003C\u002Fi\u003E\u003C\u002Fa\u003E\u003Ci\u003E)\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Cp\u003E你可能曾经看过这个\u003Ca href=\&http:\\u002FF\& data-editable=\&true\& data-title=\&著名的 xkcd 的漫画\&\u003E著名的 xkcd 的漫画\u003C\u002Fa\u003E。\u003C\u002Fp\u003E\u003Cp\u003E一个 3 岁的小孩可以识别出鸟类的照片,然而最顶尖的计算机科学家们已经花了 50 年时间来研究如何让电脑识别出不同的物体。漫画里的灵感就是这么来的。\u003C\u002Fp\u003E\u003Cp\u003E在最近的几年里,我们终于找到了一种通过\u003Cb\u003E深度卷积神经网络\u003C\u002Fb\u003E(deep\nconvolutional neural networks)来进行物体识别的好方法。这些个词听起来就像是威廉·吉布森科幻小说里的生造词,但是如果你把这个想法逐步分解,你绝对可以理解它。\u003C\u002Fp\u003E\u003Cp\u003E让我们开始吧——让我们一起来写一个识别鸟类的程序!\u003C\u002Fp\u003E\u003Ch2\u003E由浅入深\u003C\u002Fh2\u003E\u003Cp\u003E在我们在识别鸟类之前,让我们先做个更简单的任务——识别手写的数字「8」。\u003C\u002Fp\u003E\u003Cp\u003E在第二章中,我们已经了解到神经网络是如何通过连接无数神经元来解决复杂问题的。我们创造了一个小型神经网络,然后根据各种因素(房屋面积、格局、地段等)来估计房屋的价格:\u003Cimg src=\&v2-4dbfbefa401ab23bcf5b38.jpg\& data-rawwidth=\&895\& data-rawheight=\&775\&\u003E\u003C\u002Fp\u003E\u003Cp\u003E在第一章中我们提到了,机器学习,就是关于重复使用同样的泛型算法,来处理不同的数据,解决不同的问题的一种概念。所以这次,我们稍微修改一下同样的神经网络,试着用它来识别手写文字。但是为了更加简便,我们只会尝试去识别数字「8」。\u003C\u002Fp\u003E\u003Cp\u003E机器学习只有在你拥有数据(最好是大量数据)的情况下,才能有效。所以,我们需要有大量的手写「8」来开始我们的尝试。幸运的是,恰好有研究人员建立了\n\u003Ca href=\&http:\u002F\\u002Fexdb\u002Fmnist\u002F\& data-editable=\&true\& data-title=\&MNIST 手写数字数据库\&\u003EMNIST 手写数字数据库\u003C\u002Fa\u003E,它能助我们一臂之力。MNIST提供了 60,000 张手写数字的图片,每张图片分辨率为 18×18。下列是数据库中的一些例子:\u003C\u002Fp\u003E\u003Cp\u003E\u003Ci\u003E\u003Cimg src=\&v2-334ef2e0b4c3eb6f144371.jpg\& data-rawwidth=\&1095\& data-rawheight=\&281\&\u003EMNIST\u003C\u002Fi\u003E\u003Ci\u003E数据库中的数字\u003C\u002Fi\u003E\u003Ci\u003E「\u003C\u002Fi\u003E\u003Ci\u003E8\u003C\u002Fi\u003E\u003Ci\u003E」\u003C\u002Fi\u003E\u003C\u002Fp\u003E\u003Ch3\u003E万物皆「数」\u003C\u002Fh3\u003E\u003Cp\u003E在第二章中我们创造的那个神经网络,只能接受三个数字输入(卧室数、面积、地段)。但是现在,我们需要用神经网络来处理图像。所以到底怎样才能把图片,而不是数字,输入到神经网络里呢?\u003C\u002Fp\u003E\u003Cp\u003E结论其实极其简单。神经网络会把数字当成输入,而对于电脑来说,图片其实恰好就是一连串代表着每个像素颜色的数字:\u003Cimg src=\&v2-fb168ad8756837ecc8e2bb.jpg\& data-rawwidth=\&581\& data-rawheight=\&580\&\u003E\u003C\u002Fp\u003E\u003Cp\u003E我们把一幅 18×18 像素的图片当成一串含有 324 个数字的数组,就可以把它输入到我们的神经网络里面了:\u003Cimg src=\&v2-50a501d43fac4e6ea7610abfbba21496.png\& data-rawwidth=\&1649\& data-rawheight=\&256\&\u003E\u003C\u002Fp\u003E\u003Cp\u

我要回帖

更多关于 问道手游离线刷道计算 的文章

 

随机推荐