机器学习和深度学习入门问题形象解答
作者:谭东时间:2017年12月20日以下是我做Gitchat现场分享的部分实录。http://gitbook.cn/gitchat/activity/5a1fd0e305662a2507dc30da1、内容太多了,可以用简单易懂生动形象的话描述下人工智能,机器学习和深度学习的关系和含义吗?深度学习是机器学习的一个大的分支,而机器
作者:谭东
时间:2017年12月20日
以下是我做Gitchat现场分享的部分实录。
http://gitbook.cn/gitchat/activity/5a1fd0e305662a2507dc30da
1、内容太多了,可以用简单易懂生动形象的话描述下人工智能,机器学习和深度学习的关系和含义吗?
深度学习是机器学习的一个大的分支,而机器学习是人工智能的一个分支,是人工智能的核心,他们是子类和父类的关系。人工智能其实可以说是仿生学,仿照人类的一些思维方式来模拟人类的大脑进行处理相关的问题,可以像人一样具有识别和判断的能力。其实我们的大脑就是一个深度学习的超级计算机。例如我们的指纹识别、人脸识别、语音识别、智能客服系统、各种推荐系统都是人工智能的一个很好的应用案例。
举个例子,我们人类在刚出生时看到一个手机,那么他是不知道这个是什么的,并且有各种各样形状和样式的手机,此时我们的深度学习系统初始状态就是这样的。但是经过父母和周围的分类和指导,我们渐渐的知道了这种样子和形状、功能的物体是手机,那么我们通过大量的数据就具有了学习和分辨手机的能力模型,那么这就是我们的深度学习系统在经过数据和算法训练后所具备的功能和学习能力。就是这么简单,可以说就是仿生学。
机器学习(Machine Learning)是让计算机拥有像人一样的学习能力,模拟和实现人的学习行为和能力,可以像人一样具有识别和判断的能力。机器学习应用领域很广泛,例如:数据挖掘、数据分类、计算机视觉、自然语言处理(NLP)、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用等。机器学习就是设计一个算法模型来处理数据,输出我们想要的结果,我们可以针对算法模型进行不断的调优,形成更准确的数据处理能力。但这种学习不会让机器产生意识。机器学习的过程,就是通过训练数据寻找目标函数。数据质量会影响机器学习精度,所以数据预处理非常重要。机器学习的代表是统计学习方法。
深度学习(Deep Learning)是机器学习的一个字类。具有机器学习的特征,又扩展结合了人工神经网络的概念进去,用复杂、庞大的神经网络进行机器学习。仿照了人的神经系统处理问题的行为逻辑原理。加入了人工干预,也就是调优的方式,不断的调整和学习,改进模型的能力。
2、机器学习的几种学习方式有哪些?含义是什么?可以用举例形象的来讲解下吗?
机器学习的学习方式大的分类主要有:监督学习和非监督学习。细分的话还有半监督学习和强化学习。
监督学习(Supervised Learning)是指利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练或有教师学习。也就是我们输入的数据是有标签的样本数据(有一个明确的标识或结果、分类)。例如我们输入了50000套房子的数据,这些数据都具有房价这个属性标签。监督学习就是人们常说的分类,通过已有的训练样本(即已知数据以及其对应的输出)去训练得到一个最优模型(这个模型属于某个函数的集合,最优则表示在某个评价准则下是最佳的),再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的。
举个例子,我们从小并不知道什么是手机、电视、鸟、猪,那么这些东西就是输入数据,而家长会根据他的经验指点告诉我们哪些是手机、电视、鸟、猪。这就是通过模型判断分类。当我们掌握了这些数据分类模型,我们就可以对这些数据进行自己的判断和分类了。
非监督学习(Unsupervised Learing)是另一种研究的比较多的学习方法,它与监督学习的不同之处,在于我们事先没有任何训练样本,而需要直接对数据进行建模。是否有监督(Supervised),就看输入数据是否有标签(Label)。输入数据有标签(即数据有标识分类),则为有监督学习,没标签则为无监督学习(非监督学习)。在很多实际应用中,并没有大量的标识数据进行使用,并且标识数据需要大量的人工工作量,非常困难。那么我们就需要非监督学习根据数据的相似度,特征及相关联系进行模糊判断分类。
半监督学习(Semi-supervised Learning)是有标签数据的标签不是确定的,类似于:肯定不是某某某,很可能是某某某。是监督学习与无监督学习相结合的一种学习方法。半监督学习使用大量的未标记数据,以及同时使用标记数据,来进行模式识别工作。当使用半监督学习时,将会要求尽量少的人员来从事工作,同时,又能够带来比较高的准确性。
强化学习(Reinforcement Learning)也叫再励学习、评价学习,在智能控制和机器人领域有许多应用。输入数据作为对模型的反馈,不像监督模型那样,输入数据仅仅是作为一个检查模型对错的方式,在强化学习下,输入数据直接反馈到模型,模型必须对此立刻作出调整。常见算法包括Q-Learning、TD算法(时间差分学习,Temporal Difference)、SARSA算法、。
重点:强化学习其实就是自动进行决策,并且可以做连续决策。强化学习有很多应用,比如自动直升机,机器人控制,市场决策,工业控制,无人驾驶,AlphaGo,玩游戏,还在制造业、库存处理、电商、广告、推荐、金融、医疗等与我们生活息息相关的领域也有应用。例如一家日本公司 Fanuc,工厂机器人在拿起一个物体时,会捕捉这个过程的视频,记住它每次操作的行动,操作成功还是失败了,积累经验,下一次可以更快更准地采取行动。
举个例子:以小孩学习走路为例,走路时候小孩需要知道先进行决定先迈那条腿,如果第一步作对了,那么就会得到奖励,错了,那么记录下来,再进行第二次走路时候进行学习更正。例如在向用户推荐新闻文章的任务中,非监督式会找到用户先前已经阅读过类似的文章并向他们推荐其一,而强化学习将通过向用户先推荐少量的新闻,并不断获得来自用户的反馈,最后构建用户可能会喜欢的文章的“知识图”。
3、机器学习和深度学习如何入门?能生动形象的介绍下机器学习进行应用的流程吗?
我这里把机器学习和深度学习统称机器学习了。
机器学习需要借助一些数学函数公式作为模型设计训练的工具。可以看下线性代数、概率论、高等数学。例如线性代数里面会涉及到机器学习里用到的矩阵概念、特征值等等。其次也要熟悉一门编程语言,进而可以更好的理解针对模型的编程。如数据的输入、清洗处理、模型函数的构建、调优、输出以及最后的模型应用等。
机器学习核心就是数据、算法(模型函数)、算力(计算机运算能力)。我们研究的核心就是算法,也就是针对某一应用需求场景,选择各种合适的函数公式进行构建和叠加形成一个处理数据的模型(也就是常说的训练数据模型)。这个模型的作用是什么呢?就是能够将我们的普通数据输入进去,经过这个模型处理后,输出数据或者一个结果,这个输出的就是供我们参考或者使用的。那么我们怎么评判这个模型的好坏呢?例如每年ImageNet都会进行比赛,那么评判的结果就是你这个模型算法进行数据分析和处理的准确度。例如人脸识别,有的算法识别率80%,有的达到98%。那么这个高识别率的模型算法就要好一些。我们需要改进的也就是这个模型算法(也就是调优),其中就会涉及到权重(Weight)和损失函数(Loss)。当然损失函数越低说明我们的算法处理数据越接近最佳结果。
整个流程就是:选择训练数据(用于训练模型)->模型设计和调优(通过训练数据进行反复调优)->形成比较准确的模型->输入真实数据(用于模型进行数据处理)->模型处理数据->输出处理结果。
举个例子:我们进行预测房价的价格,这是一个需求。一套房子的价格,会受到很多因素的影响,例如地段、朝向、房龄、面积、银行利率等等,这些因素可能会有几十个。在深度学习模型里,这些影响结果的因素我们称之为特征。那么我们可以通过一些有标签的房价数据去输入到我们的模型里,不断的给各个特征设置权重、损失函数,不断的进行调优。最后形成能够很好的准确预测房价的一个模型。
以上这些是我进行Gitchat现场分享时候的部分问题实录。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)