Python - 机器学习

什么是机器学习

机器学习在许多方面都可以看作是数据科学能力延伸的主要手段。机器学习是用数据科学的计算能力和算法能力去弥补统计方法的不足,其最终结果是为那些目前既没有高效的理论支持、又没有高效的计算方法的统计推理与数据探索问题提供解决方法。

机器学习的本质就是借助数学模型理解数据。当我们给模型装上可以适应观测数据的可调参数时,“学习”就开始了;此时的程序被认为具有从数据中“学习”的能力。一旦模型可以拟合旧的观测数据,那么它们就可以预测并解释新的观测数据。

机器学习一般可以分为两类:

  • 有监督学习(supervised learning):对数据的若干特征与若干标签(类型)之间的关联性进行建模的过程;只要模型被确定,就可以应用到新的未知数据上。这类学习过程可以进一步分为分类(classification)任务与回归(regression)任务。在分类任务中,标签都是离散值;而在回归任务中,标签都是连续值。

  • 无监督学习(unsupervised learning):对不带任何标签的数据特征进行建模,通常被看成是一种“让数据自己介绍自己”的过程。这类模型包括聚类(clustering)任务和降维(dimensionality reduction)任务。聚类算法可以将数据分成不同的组别,而降维算法追求用更简洁的方式表现数据。

另外,还有一种半监督学习(semi-supervised learning)方法,介于有监督学习与无监督学习之间。半监督学习方法通常可以在数据标签不完整时使用。

代码地址:https://github.com/jakevdp/PythonDataScienceHandbook

1、分类:预测离散标签(离散点)

假如我们有一些带标签的数据点,希望用这些信息为那些不带标签的数据点进行分类。

我们看到的是二维数据,也就是说每个数据点都有两个特征,在平面上用数据点的 (x, y) 位置表示。另外,我们的数据点还用一种颜色表示一个类型标签,一共有两种类型,分别用两种颜色表示。我们想根据这些特征和标签创建一个模型,帮助我们判断新的数据点是“蓝色”还是“红色”。

5-1

虽然有许多可以解决分类任务的模型,但是这里还是先用最简单的一种。假设平面上有一条可以将两种类型分开的直线,直线的两侧分别是一种类型。那么,我们的模型其实就是“一条可以分类的直线”,而模型参数其实就是直线位置与方向的数值。这些模型参数的最优解都可以通过学习数据获得(也就是机器学习的“学习”),这个过程通常被称为训练模型。

5-2

模型现在已经训练好了,可以对一个新的、不带标签的数据进行分类了。也就是说,我们可以拿一组新数据,把这个模型的直线画在上面,然后根据这个模型为新数据分配标签。这个阶段通常被称为预测。

5-3

机器学习方法的真正用途是要解决大型高维度数据集的分类问题。

常见的分类任务:垃圾邮件自动识别,通常会获得以下特征与标签:

  • 特征 1、特征 2……特征 n → 垃圾邮件关键词与短语出现的频次归一化向量(“Viagra”“Nigerian prince”等)

  • 标签 → “垃圾邮件”或“普通邮件”

在训练数据集中,这些标签可能是人们通过观察少量邮件样本得到的,而剩下的大量邮件都需要通过模型来判断标签。一个训练有素的分类算法只要具备足够好的特征(通常是成千上万个词或短语),就能非常高效地进行分类。

一些重要的分类算法:包括高斯朴素贝叶斯分类、支持向量机,以及随机森林分类。

2、回归:预测连续标签(连续值)

所有样本的标签都在一个连续的区间内。有一个二维数据,每个数据点有两个特征。数据点的颜色表示每个点的连续标签。

5-4

用简单线性回归模型作出假设,如果我们把标签看成是第三个维度,那么就可以将数据拟合成一个平面方程——这就是著名的在二维平面上线性拟合问题的高阶情形。如果将三维数据拟合成一个平面,就可以对任何输入参数集进行预测。

5-5

回到原来的二维投影图形上,拟合平面时获得的结果:

5-6

这个拟合平面为预测新数据点的标签提供了依据。

5-7

类似的回归任务:计算通过天文望远镜观测到的星系的距离,可能会用到以下特征与标签:

  • 特征 1、特征 2……特征 n → 具有若干波长或颜色的星系的亮度

  • 标签 → 星系的距离或红移(redshift)

少量星系的距离可以通过直接观察(通常成本也非常高)进行测量。之后,我们就可以利用适当的回归模型估计其他星系的距离,而不需要为整个星系集合使用昂贵的观察设备。在天文学领域中,这种问题通常被称为“测光红移”(photometric redshift)。

一些重要的回归算法:包括线性回归、支持向量机,以及随机森林回归。

3、聚类:为无标签数据添加标签

回归与分类示例都是有监督学习算法,需要建立一个模型来预测新数据的标签。无监督学习涉及的模型将探索没有任何已知标签的数据。

聚类:数据被聚类算法自动分成若干离散的组别。

5-8

仅通过肉眼观察,就可以很清晰地判断出这些点应该归于哪个组。一个聚类模型会根据输入数据的固有结构判断数据点之间的相关性。通过最快、最直观的 k-means 聚类算法,就可以发现类簇(cluster)。

k-means 会拟合出一个由 k 个簇中心点构成的模型,最优的簇中心点需要满足簇中的每个点到该中心的总距离最短。显然,在二维平面上用聚类算法显得非常幼稚,但随着数据量越来越大、维度越来越多,聚类算法对于探索数据集的信息会变得十分有效。

5-9

其他重要的聚类算法还有高斯混合模型和谱聚类。

4、降维:推断无标签数据的结构

降维是另一种无监督算法示例,需要从数据集本身的结构推断标签和其他信息。一般来说,降维其实就是在保证高维数据质量的条件下从中抽取出一个低维数据集。不同的降维算法用不同的方式衡量降维质量。

5-10

可以清晰地看出数据存在某种结构:这些数据点在二维平面上按照一维螺旋线整齐地排列。从某种程度上,你可以说这些数据“本质上”只有一维,虽然这个一维数据是嵌在高维数据空间里的。适合这个示例的降维模型不仅需要满足数据的非线性嵌套结构,而且还要给出低维表现形式。

5-11

图中的颜色(表示算法提取到的一维潜在变量)沿着螺旋线呈现均匀变化,表明这个算法的确发现了肉眼所能观察到的结构。

降维算法同样要在处理高维数据时才能大展拳脚。例如,我们可能需要对一个包含 100 或 1000 个特征的数据集内部的关联性进行可视化。要对一个 1000 维的数据进行可视化是个巨大的挑战,一种解决办法就是通过降维技术,让我们可以在更容易处理的二维或三维空间中对数据进行可视化。

一些重要的降维算法:包括主成分分析和各种流形学习算法,如 Isomap 算法、局部线性嵌入算法。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,192评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,858评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,517评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,148评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,162评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,905评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,537评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,439评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,956评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,083评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,218评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,899评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,565评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,093评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,201评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,539评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,215评论 2 358

推荐阅读更多精彩内容

  • 机器学习类型 机器学习模型评估步骤 深度学习数据准备 特征工程 过拟合 解决机器学习问题的一般性流程 机器学习四分...
    七八音阅读 708评论 0 1
  • 关于预测的两类核心算法 函数逼近/预测分析问题(分类问题、回归问题)解决方法:惩罚线性回归、集成方法 当数据含有大...
    maocy阅读 1,493评论 0 1
  • 监督学习的目标 利用一组带有标签的数据,学习从输入到输出的映射,然后将这种映射关系应用到未知数据上,达到分类或回归...
    不做大哥好多年阅读 2,942评论 0 4
  • 刚上火车,我是在两座靠窗的位置,旁边三个位置坐了三个老头,拿的东西挡的我都进不去,看他们的穿着也知道农村来的,所以...
    大鼻子的Autism阅读 405评论 0 5
  • 关系型数据库 引用百度百科的定义:关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以...
    珏_Gray阅读 361评论 0 0