走出狭隘的自我,生活才真正开始。—爱因斯坦
2.1什么是机器学习
机器学习的初步认识
机器学习这个术语是1959年IMB公司的亚瑟·赛缪尔提出的:教会计算机学习它需要了解的关于世界的一切,以及如何为自己执行任务。机器学习可以理解为AI的一种形式。它的定义为“在没有明确编程的情况下赋予计算机学习能力的研究领域”。
核心“学习驱动解决新问题”
机器学习诞生于模式识别和理论,即计算机可以在没有被编程来执行特定任务的情况下学习——也就是说,系统在没有被显式编程的情况下学习。因此,学习是由数据驱动的,而智能是通过根据学习信号或反馈的性质做出有效决策的能力获得的。根据目标评估这些决策的效用。
机器学习侧重于开发适应新数据和发现的呈现的算法。机器学习体现了数据挖掘的原则,但也能够推断相关性,并从中学习以应用于新的算法。目标是模仿人类通过经验学习的能力,并在没有或只有最少外部(人类)帮助的情况下完成指定的任务。
举个例子
在中学的教导处有个规定:在学校不能穿“奇装异服”。从老师的视角去看,他见过很多样式的服装,虽然无法描述所有奇装异服的特征,但是可以通过感觉去区分。在这个过程中实际上就是在完成一个正常服装、异常服装的的分类任务。
正常服装
模型可以从没有见过的新数据里,区分出奇装异服。
奇装异服
关于“学习”的思考
什么是“学习”?学习就是人类通过观察、积累经验,掌握某项技能或能力。就好像我们从小学习识别字母、认识汉字,就是学习的过程。而机器学习(Machine Learning),顾名思义,就是让机器(计算机)也能像人类一样,通过观察大量的数据和训练,发现事物规律,获得某种分析问题、解决问题的能力。
学习的对比理解
人类学习:观察、经验积累------> 形成技能
机器学习:数据------> 形成技能
机器学习定义
Improving some performance measure with experence computed from data.
也就是机器从数据中总结经验,从数据中找出某种规律或者模型,并用它来解决实际问题。
2.2 机器学习的分类
机器学习解决的实际问题大体包括:分类问题和回归问题。
分类问题:应用分类规则对记录进行目标映射,将其划分到不同的分类中,构建具有泛化能力的算法模型,即构建映射规则来预测未知样本的类别。
例如:一张图片是猫还是狗;一段文本内容;它的情感是正面还是负面;明天的天气是晴天还是非晴天等等。
回归问题:回归分析是一种研究自变量和因变量之间关系的预测模型,用于分析当自变量发生变化时因变量的变化值,要求自变量与因变量独立。
例如:随着身高的增长体重的变化规律;随着时间的变化天气温度的变化;随时间、成交量、换手率、估值等的变化股价的变化等等。
机器学习的算法包括:监督学习和无监督学习
大家都以及了解,机器获取经验进行学习的背后,都是继续各种类型的数据进行的。
监督学习(有监督学习 是对有标签数据训练数据集进行建模,再用模型对新的数据样本进行分类或者回归分析的机器学习算法。
无监督学习(非监督式学习 是对没有标签的数据集进行建模,再用模型对新的数据样本进行分类或者回归分析的机器学习算法。
举个例子进行区分
下面我们以分类任务为例,去区分有监督/无监督学习。
你可以给小朋友看很多种找猫和狗的图片,每看一张图片,告诉他这是猫还是狗,当你带他出去玩,他可以认出哪些是猫哪些是狗。这就是监督学习 分类问题。
监督学习过程
你可以给小朋友看很多颜色的弹珠,他不需要知道什么是颜色,但是他的任务就是把相同的颜色分一堆。这就是无监督学习 分类问题(也就是聚类问题)。
无监督聚类效果
无监督学习过程
按照学习理论进行分类
部分资料按照学习理论,将机器学习分为有监督学习,半监督学习,无监督学习,迁移学习和强化学习。
1.当训练样本带有标签时是有监督学习。
2.训练样本部分有标签,部分无标签时是半监督学习。
3.训练样本全部无标签时是无监督学习。
4.迁移学习就是就是把已经训练好的模型参数迁移到新的模型上以帮助新模型训练。
5.强化学习是一个学习最优策略(policy),可以让本体(agent)在特定环境(environment)中,根据当前状态(state),做出行动(action),从而获得最大回报(reward)。强化学习和有监督学习最大的不同是,每次的决定没有对与错,而是希望获得最多的累计奖励。
2.3 机器学习的一般流程
1.确定目标
机器学在不同现实应用场景,都有一个期望的目标。换言之,这个目标实际上就是业务从业人员的需求。例如,银行想知道贷款人员违约的风险,邮件管理软件想要区分垃圾邮件,电力行业想要知道明天的用电量等。
2.诊断问题
根据机器学习建模的经验,分析业务场景中待解决的问题,是分类问题还是回归问题。分类问题输出结果是离散数值类型,表示类别。回归问题输出结果是连续数值类型,表示预测值。例如上面的邮件分类问题,可以用0表示正常邮件,1表示垃圾邮件;而电力行业,预测明天的用电量则为回归问题。
3.分析数据
想要依据问题建立机器学习模型,第一要素就是数据。
数据可能需要爬虫技术、传感器采集等多种手段获取。为了提高数据的质量,需要消耗大量的精力去完成数据预处理工作。数据预处理工作包括:缺失值处理、异常值检测、类别标签编码、数据归一化、特征筛选等。
4.数据建模
针对不同类型的问题,以及数据集的特点,挑选合适的算法,进行建模。
5.模型训练
从已有数据中学习规律,拟合数据的过程,就是模型的训练过程。
6.模型评估
针对不同类型的问题,模型有不同的评定指标,指标可以判断出模型拟合程度的优良。
在这里需要注意,建模是为解决未知的问题,训练使用的数据(训练集)模型已经获取了它们的特点,学到了经验,模型究竟好不好,需要用模型没有见过的数据(测试集)去评判。
7.模型应用
在不断优化调试重复上述5、6、7三个步骤后,如果效果不错,那么就确定了最终模型,确定了模型的最终参数,便可以尝试进行工程应用。
典型的机器学习过程