本文为数据茶水间群友原创,经授权在本公众号发表。
关于作者:Japson,职场新人。某人工智能公司AI平台研发工程师,专注于AI工程化及场景落地。持续学习中,期望与大家多多交流技术以及职业规划。
0x00 前言
大数据、处理器等技术的成熟,将已经有60多年历史的“人工智能”推向了舞台中心。随着机器学习、深度学习等概念的火热,很多同学也摩拳擦掌,准备在人工智能这一“弯道”进行超车。
但是也有很多同学在打开这人工智能的大门时,发现里面充斥了大量的数学公式、推导过程等早已归还给大学老师的知识。在头晕眼花的同时无奈地又把门关上了。
居士发起的“学习小组”的初衷正是希望组织大家成体系地对统计学知识进行温习、掌握常用算法模型并提高相应的工程能力。本文作为“学习小组”的第一篇入门向的输出内容,主要讲一下机器学习以及深度学习的概念,并引出sklearn和tensorflow这两个在领域中举足轻重的学习库对其进行简单的科普介绍。
0x01 ML/DL简介
机器学习
相信“机器学习”这个词,这两年大家已经听烦了,这里就简单介绍一下定义:
一个程序要完成任务(T),如果程序获取关于T的经验(E)越多则表现的越好,那么就可以说程序学习了关于T的经验。
简单地说:传统的编程方式是人类自己积累经验,并将这些经验转换为规则或者数学公式,然后用不同的编程语言去描述这些规则和公式。而机器学习则只需要人订制学习步骤,将大量的数据输入给计算机,计算机则可以根据数据和学习步骤自己总结经验,自动升级,借助计算机的计算性能,接近甚至超越人类自身水平。
机器学习的方法包括:
监督学习 supervised learning;
非监督学习 unsupervised learning;
半监督学习 semi-supervised learning;
强化学习 reinforcement learning;
遗传算法 genetic algorithm.
(以上相关概念不在本文重点范围内)
特征工程
为什么要在“机器学习”和“深度学习”之间夹着“特征工程”这一概念的,因为特征工程是机器学习,甚至是深度学习中最为重要的一部分,也是最难讲的一部分。因为特征工程往往与具体的数据相结合,是要撸起袖子动手干的实战技巧,因此很难系统地讲清楚。本部分向大家介绍基本概念,方便大家后续阅读。
在kaggle中有一句经典的话:
数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。
数据里面提取出来的特征好坏与否直接影响模型的效果。从某些层面上来说,所使用的特征越好,得到的效果就会越好。
要了解特征工程,首先要知道什么是特征
特征(feature),是反映对象在某方面的表现或性质的事项,也可以被称作属性(attribute)。比如我们在描述一个人外表时,“身高”、“体重”、“发型”、“肤色”等就是特征,那么与之对应的“偏高”、“偏瘦”、“短发”、“较白”就是特征值。这四个特征值组成一行,就是所谓的特征向量。n条特征向量组成的一个矩阵,就是所谓的数据集。
特征值1 | 特征值2 | 特征值3 | 特征值4 | |
---|---|---|---|---|
特征向量1 | 偏高 | 中等 | 短发 | 较白 |
特征向量2 | 中等 | 偏胖 | 光头 |