一. 相关概述
人工智能(AI)
人工只能(Artificial Intelligence): 像人一样机器智能的综合与分析;机器模拟人类
释义:是一个系统,像人那样思考 像人那样理性思考
释义:是一个系统,像人那样活动 像人那样合理系统
机器学习(ML)
机器学习(Machine Learning): 让机器自动学习,而不是基于规则的编程(不依赖特定规则编程)
深度学习(DL)
深度学习(DL, Deep Learning) : 也叫深度神经网络,大脑仿生,设计一层一层的神经元模拟万事万物
三者之间的关系
机器学习是实现人工智能的一种途径
深度学习是机器学习的一种方法
学习方式
基于规则的学习
程序员根据经验利用手工的if-else方式进行预测
很多问题无法明确写下规则, 此时需要使用规则学习的方式来解决这类问题
基于模型的学习
从数据中自动学出规律
案例:
比如房价预测,数据如下图
利用线性关系模拟面积和房价的关系
-
我们可以使用一条直线尽可能多的通过这些点,不通过的点尽量分布在直线的两侧,利用这条直线所表示的线性关系,我们就可以预测房价。
-
直线可以写成y=ax+b,若a,b已知,我们就能够预测房价。机器学习中a,b称为 参数 ,y=ax+b称为 模型 。通常a,b未知,是我们需要求解的量。
二. 机器学习发展三要素
1956年
: 计算机元年
数据、算法、算力
三要素相互作用,是AI发展的基石
-
CPU(中央处理器):调度任务、计算任务等;主要适合I\O密集型的任务
-
GPU(图形处理器):更加适合矩阵运算;主要适合计算密集型任务
-
TPU(张量处理器:Tensor,专门针对神经网络训练设计一款处理器
三. 常用术语
样本/记录
样本(sample
) :一行数据就是一个样本;多个样本组成数据集;有时一条样本被叫成一条记录
特征/属性
特征(feature
) :一列数据一个特征,有时也被称为属性
标签/目标值
标签/目标(label/target
) :模型要预测的那一列数据。本场景是就业薪资
就业薪资 与 培训学科、作业考试、学历、工作经验、工作地点 5个特征有关系
特征如何理解(重点):特征是从数据中抽取出来的,对结果预测有用的信息 eg:房价预测、车图片识别
数据集
可划分两部分:训练集 :
测试集 比例:8 : 2,7 : 3
训练集(train)
用来训练模型(model)的数据集
x_train: 特征训练集
y_train: 目标训练集
测试集(test)
用来测试模型的数据集
x_train: 特征测试集
y_train:目标测试集
四. 机器学习算法分类
有监督-有特征有标签
-
定义:输入数据是由输入特征值和目标值所组成,即输入的训练数据有标签的
-
数据集:需要人工标注数据
分类
目标值(标签值)是不连续的(离散)
分类种类:二分类、多分类任务
回归
目标值(标签值)是连续的
无监督-有特征无标签
概念
-
定义:输入数据没有被标记,即样本数据类别未知,没有标签,根据样本间的相似性,对样本集聚类,以发现事物内部 结构及相互关系。
-
数据集:不需要标注数据
-
特点:
-
训练数据无标签
-
根据样本间的相似性对样本集进行聚类,发现事物内部结构及相互关系
-
聚类(物以类聚人以群分)
根据特征, 将相似的放到一起(物以类聚, 人以群分)
半监督
半监督学习方式可大幅降低标记成本
工作原理
-
让专家标注少量数据,利用已经标记的数据(也就是带有类标签)训练出一个模型
-
再利用该模型去套用未标记的数据
-
通过询问领域专家分类结果与模型分类结果做对比,从而对模型做进一步改善和提高
强化学习(深度学习)
概念
-
强化学习(Reinforcement Learning):机器学习的一个重要分支
-
应用场景:里程碑AlphaGo围棋、各类游戏、对抗比赛、无人驾驶场景
-
基本原理:基本原理:
通过构建四个要素:
agent,环境状态,行动,奖励
agent根据环境状态进行行动获得最多的累计奖励。
举例
小孩子学走路
-
小孩就是 agent,他试图通过采取行(即行走)来操纵环境(地面)
-
并且从一个状态转变到另一个状态(即他走的每一步)
-
当他完成任务的子任务(即走了几步)时,孩子得到奖励(给巧克力吃)
-
并且当他不能走路时,就不会给巧克力(惩罚)。
总结
五. 机器学习建模流程
建模流程
-
获取数据
-
数据基本处理(缺失值, 非法值)
-
特征工程(抽取专业词汇)(特征提取, 特征预处理, 特征降维, 选择, 合并)
-
模型训练
-
模型评估
注:
数据基本处理 和 特征工程最为耗时
六. 特征工程入门
特征工程
从数据集角度来看: 一列一列的数据为特征。
从模型训练角度来看: 对预测结果有用的属性为特征
特征工程是:
利用专业背景知识和技巧处理数据,让机器学习算法效果最好。这个过程就是特征工程
Coming up with features is difficult, time-consuming, requires expert knowledge. “Applied machine learning” is basically feature engineering. ”
释义:特征工程是困难、耗时、需要专业知识。应用机器学习基础就是特征工程
【理解】
数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。
特征提取-必做
从原始数据中提取与任务相关的特征,构成特征向量(标准化和归一化)
对于文本、图片这种非行列形式的数据行列形式转换,
一旦转换成行列形式一列就是特征
特征预处理-必做
特征对模型产生影响;因量纲问题,有些特征对模型影响大、有些影响小
将不同的单位的特征数据转换成同一个范围内
使训练数据中不同特征对模型产生较为一致的影响
特征降维-可选
将原始数据的维度降低,叫做特征降维
会丢失部分信息。降维就需要保证数据的主要信息要保留下来,
对原始数据有影响
原始数据会发生变化,不需要了解数据本身是什么含义,它保留了最主要的信息
特征选择-可选
原始数据特征很多,但是对任务相关是其中一个特征集合子集。
从特征中选择出一些重要特征(选择就需要根据一些指标来选择)
对原始数据无影响
特征选择不会改变原来的数据
特征组合-可选
把多个的特征合并成一个特征, 通过加法, 乘法等方法将特征值合并(矩阵运算)
总结
七. 模型拟合问题
拟合:用来表示模型对样本点的拟合情况
欠拟合:模型在训练集上表现很差、在测试集表现也很差
原因:模型过于简单
过拟合:模型在训练集上表现很好、在测试集表现很差
原因:模型太过于复杂、数据不纯、训练数据太少
泛化:模型在新数据集(非训练数据)上的表现好坏的能力
奥卡姆剃刀原则:给定两个具有相同泛化误差的模型,较简单的模型比较复杂的模型更可取
八. 开发环境
基于Python的 scikit-learn 库:
-
简单高效的数据挖掘和数据分析工具
-
可供大家使用,可在各种环境中重复使用
-
建立在NumPy,SciPy和matplotlib上
-
开源,可商业使用-获取BSD许可证
pip install scikit-learn