机器学习讲义
- 格式:doc
- 大小:2.10 MB
- 文档页数:123
机器学习——斯坦福大学讲义第一课机器学习的动机与应用定义(Arthur Samuel 1959):在不直接针对问题进行编程的情况下,赋予计算机学习能力的研究领域。
例:Arthur的下棋程序,计算走每一步获胜的概率,最终打败程序作者本人。
(感觉使用决策树思想)定义2(Tom Mitchell 1998):一个合理的学习问题应该这样定义:对一个计算机程序来说,给它一个任务T和一个性能测量方法P,如果在经验E的影响下,P对T的测量结果得到了改进,那么就说改程序从E中学习了。
如上例:E:程序不断和自己下棋的经历,T:下棋,P:和人类选手对弈的胜率课程的四大部分:1、有监督学习(1)回归问题例:收集某地房屋价格统计、房屋大小和价格对应情况:画出一条拟合曲线,就可以通过房屋大小估计价格。
-有监督学习即给出一个数据集(正确的房屋价格及对应大小)-此例为回归问题。
回归意味着需要预测的变量是连续的(2)分类问题分类问题中需要处理的变量是离散的例:判断肿瘤是恶性还是两性-收集肿瘤大小和恶性/良性数据,大小为横轴,是否是恶性为纵轴(只有0,1)画图-肿瘤可能由多个因素导致,引入年龄,大小为横轴,年龄为纵轴,恶性以叉表示,良性以圆圈表示画图,分析患肿瘤的区域-还可引入更多属性,画在多维空间中-无限维空间如何处理?将无限维映射到内存的算法?2、学习理论学习理论即解释学习型算法有效的原因(学习算法的理论基础)寻找什么样的算法能很好地近似不同的函数,训练集的规模是否合适3、无监督学习例:如上述肿瘤例子,图中的点不知道正确答案,而是由你从中找去一定的结构,即聚类。
应用于生物基因工程,图像处理,计算机视觉等领域例:鸡尾酒会问题在嘈杂的鸡尾酒会中,将你感兴趣的声音提取出来运用两个不同位置的麦克分开来自不同位置的声音还能应用于文本处理等领域使用ICA算法,Matlab一行代码即可解决4、强化学习通过决策产生的结论或对或错,故产生一系列的决策。
机器学习ppt课件contents •机器学习概述•监督学习算法•非监督学习算法•神经网络与深度学习•强化学习与迁移学习•机器学习实践案例分析目录01机器学习概述03重要事件包括决策树、神经网络、支持向量机等经典算法的提出,以及深度学习在语音、图像等领域的突破性应用。
01定义机器学习是一门研究计算机如何从数据中学习并做出预测的学科。
02发展历程从符号学习到统计学习,再到深度学习,机器学习领域经历了多次变革和发展。
定义与发展历程计算机视觉自然语言处理推荐系统金融风控机器学习应用领域用于图像识别、目标检测、人脸识别等任务。
根据用户历史行为推荐相似或感兴趣的内容。
用于文本分类、情感分析、机器翻译等任务。
用于信贷审批、反欺诈、客户分群等场景。
A BC D机器学习算法分类监督学习包括线性回归、逻辑回归、决策树、随机森林等算法,用于解决有标签数据的预测问题。
半监督学习结合监督学习和无监督学习的方法,利用部分有标签数据进行训练。
无监督学习包括聚类、降维、异常检测等算法,用于解决无标签数据的探索性问题。
强化学习通过与环境交互来学习策略,常用于游戏AI 、自动驾驶等领域。
02监督学习算法线性回归与逻辑回归线性回归一种通过最小化预测值与真实值之间的均方误差来拟合数据的算法,可用于预测连续型变量。
逻辑回归一种用于解决二分类问题的算法,通过sigmoid函数将线性回归的输出映射到[0,1]区间,表示样本属于正类的概率。
两者联系与区别线性回归用于回归问题,逻辑回归用于分类问题;逻辑回归在线性回归的基础上引入了sigmoid函数进行非线性映射。
支持向量机(SVM)SVM原理SVM是一种二分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略是使间隔最大化,最终可转化为一个凸二次规划问题的求解。
核函数当数据在原始空间线性不可分时,可通过核函数将数据映射到更高维的特征空间,使得数据在新的特征空间下线性可分。
SVM优缺点优点包括在高维空间中有效、在特征维度高于样本数时依然有效等;缺点包括对参数和核函数的选择敏感、处理大规模数据效率低等。
1一月二月三月产品名称数量金额利润产品名称数量金额利润产品名称数量金额利润合计合计合计四月五月六月产品名称数量金额利润产品名称数量金额利润产品名称数量金额利润机器学习讲义(2010年春硕士课程试用)第一章绪论序机器学习通常被认为是人工智能领域的一个分支,但和人工智能一样,实际上是多学科的融合。
为了说明什么是机器学习,我们来看一下“自动”(automation) 和“自主”(autonomy) 这两个概念的区别。
在通常的“自动化”系统中,所有的“智能”都是系统设计者预先注入的。
当系统放入它的运行环境中去之后,将按照预定的程序进行活动。
但是如果设计者对环境的了解是不全面的,系统就有可能陷入无所适从的境地(系统中的知识是由人工编程输入的,知识中的错误也不能自动改正。
)。
这时“学习”的能力就成为唯一可依靠的解决方法,也是实现机器超过人这个终极智能的唯一手段。
具有学习能力的系统称为是“自主的”。
学习意味着根据经验改进自身。
学习的真谛在于:感知不仅用于当前的行动,而且用于改进以后的行动。
学习是系统和环境交互的结果,也来自于系统对自己决策过程的观察。
学习的范围极广,从仅仅记住经验,到创造整个的科学理论,所有这些活动都是学习的过程。
简而言之,机器学习意味着通过编程使计算机进行学习。
比如,让计算机从医疗记录中学到治疗新疾病的最佳方案;使智能房屋根据经验学到基于主人生活习惯的能源消耗优化方案;开发个人软件助手为用户从在线晨报中摘出该用户特别感兴趣的内容;等等。
机器学习研究的进展对社会经济的影响将是巨大的,它能使计算机的应用领域大为扩展,并使个人和组织的竟争力提高到新的水平,甚至形成人类全新的生活方式。
另外,对机器学习的信息处理算法的研究将导致对人脑学习能力(及其缺陷)的更好的理解。
就机器学习研究的现状而言,我们必须承认,目前还不能使计算机具有类似人那样的学习能力。
但是,对某些类型的学习任务已经发明了有效的算法,对学习的理论研究也已经开始,人们已经开发出许多计算机程序,它们显示了有效的学习能力,有商业价值的应用系统也已经开始出现。
在理论方面,关于观察例的数目,所考虑的假设的数目和学习到的假设的预计误差之间的基本关系的刻画已经取得成果。
我们已经获得人类和动物学习的初步模型,开始了解它们与计算机学习算法之间的关系。
在应用方面,近十年来的进展尤为迅速。
下面是一些突出的应用实例:语音识别:所有最成功的语音识别系统都以某种形式使用了机器学习技术。
例如,SPHINX系统学习针对具体讲话人的策略从接受到的语音信号中识别单音和单词。
神经网络学习方法和学习隐藏的Markov模型的方法可有效地应用于对个别讲话人,词汇表,麦克风的特性,背景噪音等的自动适应。
类似的技术也可用于许多其他的信号解释问题。
自动车驾驶:机器学习方法已用于训练计算机控制的车辆在各种类型的道路上的正确行驶。
例如,ALVINN系统使用学习到的策略在高速公路上与别的车辆一起以每小时70英里的速度自动行驶了90英里。
类似的技术也可用于许多其他的基于传感器的控制问题。
新天体的分类:机器学习方法已用于各种各样的大型数据库以发现隐藏在数据中的一般规律。
例如,NASA用决策树学习算法对天体进行分类。
该系统现在被用来对所有的对象进行分类,所用的数据库含有三兆字节的图象数据。
计算机弈棋:大多数成功的计算机弈棋程序均基于机器学习算法。
例如,TD-GAMMON通过与自己对弈100多万次来学习下backgammon棋的策略。
该系统目前已达到人类世界冠军的水平。
类似的技术也可用于许多其他的涉及具有非常大搜索空间的实际问题。
总之,随着我们对计算机研究的进一步加深,机器学习将不可避免地在计算机科学技术中起到越来越重要的作用。
机器学习本质上是一个多学科的领域。
下面我们列出主要的相关学科及其影响机器学习领域的主要思想。
人工智能:概念的符号表达的学习,作为搜索问题的机器学习,学习作为改善问题求解的方法,将先验知识和训练数据结合起来指导学习。
贝叶斯方法:贝叶斯定理是做猜想的概率计算的基础,简单贝叶斯分类器,计算未观察到的变量值的算法。
计算复杂性理论:各种学习任务的内在复杂性的理论边界,而复杂性是以学习所需的计算量,训练例数,错误数等来度量的。
控制论:学习控制进程以优化预定义对象,学习预测所控制的进程的下一状态。
信息论:熵和信息内容的度量,哲学。
心理学与神经生物学。
统计学。
1.1学习问题的一般表达定义如果一个计算机系统在完成某一类任务T时的性能P能够随着经验E 而改进,则称该系统为一个学习系统。
显然,要讨论一个学习系统,首先必须确定它的三个关键成分:任务T,性能指标P和经验来源E。
例子:1 下跳棋:T:下跳棋P:胜率E:自弈2 手迹辨认:T:手写字图象的识别与分类P:正确分类率E:手写字及其已知分类的数据库3 行车机器人:T:使用视觉传感器在四道高速公路上行驶P:平均无错误行驶的里程E:人类驾驶员行车的路况和操作的系列记录学习系统的设计学习系统的设计要作四个关键的设计选择(训练经验的选择,目标函数的选择,目标函数表示的选择,函数近似算法即学习算法的选择),从而确定系统的四个核心模块(行动模块,评价模块,学习模块,知识生成模块)所使用的策略和算法。
1.2.1 训练经验的选择训练经验的类型对学习系统的成败具有重要的影响。
训练经验的关键特征有:训练经验对行为模块的选择提供直接的还是间接的反馈。
比如在计算机下跳棋系统中,如果例子集由各种棋盘态势及其正确走步组成,这种训练经验就是直接的(因为例子集直接地告诉行为模块遇到什么情况走什么步);如果例子集由各盘比赛的走步序列及其胜负结果组成,这种训练经验就是间接的(因为例子集不能直接地告诉行为模块遇到什么情况走什么步,而只是提供一些间接的下跳棋经验)。
从直接经验的学习显然要比从间接经验的学习容易,因为在间接经验的情况下,走步序列中的每一走步的“得分”(即它对比赛最终胜负的影响)需要另作推敲,而且得分的估计有时是十分困难的。
学习系统对训练例子序列能够控制到何种程度。
比如在计算机下跳棋系统中,可能是由教师决定考虑何种棋盘态势及其正确走步;也可能是由系统提出自己感到困难的棋盘态势并向教师询问其正确走步;还可能是计算机自己跟自己下跳棋,它对棋盘态势及其训练分类有着完全的控制(它可以试验崭新的棋盘态势以学习新的技术,也可以对它迄今所知的最好棋局略作改变以改进自己的技术)。
在本书中我们将考虑各种各样的学习系统。
训练经验与最终用来测试系统性能P的那些例子之间的关系。
训练例与测试例的分布越相似,学习的结果就越可靠。
假如计算机下跳棋学习系统的目的是参加世界锦标赛(即P为该系统将来在世界锦标赛上的胜率),那么用计算机自己跟自己下跳棋的方式进行学习就可能是不够的,因为这时所用的训练例难以代表在世界锦标赛上所遇到的可能棋局。
在目前的有关机器学习的书中,人们通常假定训练例与测试例的分布是一致的,这样才能获得一定的理论成果。
但是,我们要记住,现实中这两者的分布是有差别的。
在下面关于学习系统设计的讨论中,我们以计算机通过自己跟自己下跳棋的方式进行学习的系统作为实例。
注意,这意味着没有外部训练者,而系统能够生成足够多的训练数据。
1.2.2 目标函数的选择学习系统的目的是改进在完成某一类任务T时的性能P。
我们通常把这一目的转换成对某目标函数的学习。
于是,目标函数的选择就成了学习系统设计的一个关键问题。
例如,在计算机下跳棋问题里,目标函数可为:ChooseMove : B M其中,B为合法棋盘态势集,M为合法走步集。
给定任一棋盘态势m,ChooseMove(m)给出m下的最佳走步。
对于计算机下跳棋问题,显然ChooseMove是一个合适的目标函数。
但是,如果训练例是间接的(即给出各盘比赛的走步序列及其胜负结果),ChooseMove 的学习将是十分困难的。
另一个可能的目标函数可为:V : B R其中,B为合法棋盘态势集,R为实数集。
给定任一棋盘态势m,V(m)给出m的估价值(估价值V(m) 越高,棋盘态势m越有利)。
根据这个估价函数V,不难求出最佳走步。
最简单的方法是:对当前棋盘态势m,可生成所有可能的后继态势m1 , m2 , …, m n,选择具有最大的V(m i)值的后继态势m i,达到m i的走步就是最佳走步。
若采取向前看几步的策略,可使用人工智能中熟知的-过程。
于是,机器学习的任务就归结为发现目标函数V的可操作的描述。
在许多实际问题里,这是一个十分困难的任务,所以仅要求描述V的一个近似V。
因此,学习目标函数的算法通常称为函数近似算法。
1.2.3 目标函数的表示的选择这里所说的目标函数V的表示即它的近似V的表示方法。
越是表达力强的方法越能够接近理想的目标函数V,但也就需要越多的训练数据来确定它的值。
在计算机下跳棋问题里,我们可用下面的棋盘特性的一个线性组合来表示V:V(b) = w0 + w1x1 + w2x2 + w3x3 + w4x4 + w5x5 + w6x6这显然是目标函数V的一个可操作的近似描述。
其中,x1为棋盘b上黑子的个数x2为棋盘b上红子的个数x3为棋盘b上黑王的个数x4为棋盘b上红王的个数x5为棋盘b上受红方威胁的黑子的个数x6为棋盘b上受黑方威胁的红子的个数w0 , w1 , w2 , w3 , w4 , w5 , w6为待定系数w i ( i = 1,2,…,6 ) 表达棋盘特性x i的相对重要性,w0则是为整个棋盘附加的一个常数。
系统的学习任务(由函数近似算法完成)就是通过训练例来设置这些系数。
一旦这些系数被确定,对任何棋盘态势b,计算机下跳棋系统很容易计算V(b)的值,从而选择最佳走步。
当然,真的让该系统参加世界锦标赛,其表现不见得就一定令人满意。
影响系统性能的因素有:V(b)表示的精密度,函数近似算法(它负责从训练例学习系数w i的值)的质量,以及训练例的数量和质量。
实际上,系数w i的值并非是一次性确定的。
开始时,不妨按某种策略设定它们的初值,然后在学习过程中不断对它们进行调整和改进。
1.2.4 函数近似算法的选择如果我们采用V(b)作为目标函数的近似表达,棋盘态势b就可以表达为元组<x1 ,x2 ,x3 ,x4 ,x5 ,x6>。
假设计算机下跳棋系统所用的间接训练经验为各盘比赛的走步序列及其胜负结果。
我们现在的任务是要通过训练例来设置V函数中的那些系数w i 。
这可以通过两个步骤完成:1.从间接训练经验提取形如(b, V train(b)) 的直接训练例子。
其中V train(b)称为训练值,是V(b)的估计值。
2.用一组(b, V train(b))例子调节系数w i的值。
下面我们分别对这两个步骤进行说明。