网络机器人吧社区

论菜鸟们是怎么理解机器学习的

深度学习世界 2018-12-05 12:34:46

        几年来,人工智能的话题度可谓居高不下,其中两大热点“学习”,即Deep Learning(深度学习)和Machine Learning(机器学习)也是受到了越来越多的关注,今天小编就是对机器学习做一个介绍,机器学习到底是什么呢。



机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。

——百度百科   


        传统上如果我们想让计算机工作,我们给它一串指令,然后它遵照这个指令一步步执行下去。有因有果,非常明确。但这样的方式在机器学习中行不通。机器学习根本不接受你输入的指令,相反,它接受你输入的数据! 也就是说,机器学习是一种让计算机利用数据而不是指令来进行各种工作的方法。这听起来非常不可思议,但结果上却是非常可行的。机器学习就好比把大象放进冰箱,只需要三个步骤:定义一组函数、完善这组函数、挑出最好的函数。而这个定义一组函数的过程就是创建人工神经网络。让我们看一个简单的神经网络的逻辑架构。在这个网络中,分成输入层,隐藏层,和输出层。输入层负责接收信号,隐藏层负责对数据的分解与处理,最后的结果被整合到输出层。每层中的一个圆代表一个处理单元,可以认为是模拟了一个神经元,若干个处理单元组成了一个层,若干个层再组成了一个网络,也就是"神经网络"。



        人工神经网络是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型,它首先要以一定的学习准则进行学习,然后才能工作。例如,我们希望输入‘5<10’,返回‘1’,输入‘5>10’,返回‘0’,则在人工神经网络学习阶段,我们给网络的各连接权值赋予(0,1)区间内的随机值,将“5<10”所对应的图象模式输入给网络,网络将输入模式加权求和、与门限比较、再进行非线性运算,得到网络的输出。在此情况下,网络输出为“1”和“0”的概率各为50%,也就是说是完全随机的。这时如果输出为“1”(结果正确),则使连接权值增大,以便使网络再次遇到“5<10”模式输入时,仍然能作出正确的判断。


        当前机器学习算法分为两大类:监督式学习(Supervised Learning)非监督式学习(Unsupervised Learning)怎样更好的理解呢,让我们举个栗子,小明想开一家服装店,市场调研的时候发现有如下情况:


季节

款式

材质

定价

连衣裙

纱制

400

外套

牛仔

500

外套

羊绒

600

裤子

牛仔

300

...



        我们要利用这些训练数据来编写一个程序来估算市场情况,这就有点像有人给你一张纸,上面列出了很多数字,你不知道这些数字有什么意义,但也许你能从中找出规律或是能将它们分类,或是其它什么。


        你该怎么处理这些数据呢?首先,你可以用个算法自动地从数据中划分出不同的细分市场。也许你会发现今年纱制裙子款式比较多说明流行,夏天连衣裙款式比较多,冬季的牛仔裤比较贵等等。这些信息可以直接帮助你的营销。你也可以自动找出价格的离群数据,即与其它数据迥异的值。这些鹤立鸡群的价格也许是款式材质特别,而你可以将最优秀的推销员集中在这些地区,因为他们的回报率更高。这就叫做非监督式学习


        后来,小明和服装店小红混熟了,知道了衣服的月销售额:


季节

款式

材质

定价

月销售额

连衣裙

纱制

400

200

外套

牛仔

500

80

外套

羊绒

600

150

裤子

牛仔

300

180

...


        现在我们再编写一个程序来估算如何进货才能卖的更多:



季节

款式

材质

定价

月销售额

连衣裙

布制

300

???


        这就称为监督式学习。你已经知道每件衣服的销售情况,换句话说,你知道问题的答案,并可以反向找出解题的逻辑。现在我们将包含每件衣服的训练数据输入机器学习算法,算法尝试找出应该使用何种运算来得出销售额。机器学习方法是计算机利用已有的数据(经验)得出了某种模型(衣服销售的规律)并利用此模型预测未来(是否能卖出很多)的一种方法。


        首先,将每个权重都设为1.0将每款衣服带入你的函数运算,检验估算值与正确价格的偏离程度:再将你的数据集中的衣服估价偏离值平方后求和,这就反映了你的函数现在的“正确”程度。然后将总计值除以衣服件数,得到每件衣服的估价偏离平均值。将这个平均误差值称为你函数的代价。如果你能调整权重使得这个代价变为0,你的函数就完美了。它意味着,根据输入的数据,你的程序对每件衣服的销售估计都是分毫不差。而这就是我们的目标——尝试不同的权重值以使代价尽可能的低。以上我们所进行的操作换成函数,θ表示当前的权重值。 J(θ) 意为“当前权重值对应的代价”:


        一旦我们熟悉了机器学习之后,许多看似困难的问题将会迎刃而解,你会感觉,只要有足够的数据,你就能够用机器学习解决任何问题:只需要将数据输入进去,就能看到计算机变戏法一样找出拟合数据的等式。需要注意的是,机器学习只能对用现有的数据实际可解的问题才适用,就好像服装店的老板的年龄永远也没法告诉你这件衣服能卖几块钱一样。


点击下方“阅读原文”下载同声译
↓↓↓

Copyright © 网络机器人吧社区@2017