机器学习+深度学习
1、人工智能概述
人工智能发展必备三要素:
- 数据
- 算法
- 计算力
人工智能、机器学习、深度学习
- 机器学习是人工智能的一个实现途径
- 深度学习是机器学习的一种方法
机器学习、深度学习能做什么
- 传统预测:店铺销量预测、量化投资、广告推荐、企业客户分类、SQL语句安全检测分类
- 图像识别:街道交通标志检测、人脸识别
- 自然语言处理:文本分类、情感分析、自动聊天、文本检测
什么是机器学习
定义:机器学习是从数据中自动分析获得模型,并利用模型对未知数据进行预测
构成:数据+模型+预测
数据集构成:特征值+目标值
例如:识别猫和狗:
特征值:图片
目标值:猫/狗**-类别**
目标值:猫/狗**-类别**
机器学习算法分类
算法分类:监督学习+无监督学习
监督学习:预测
- 定义:输入数据是由输入特征和目标值所组成,即有标准答案;函数的输出可以是一个连续的值,称为回归;也可以是一个离散的值,称为分类
- 分类:k-近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归
- 回归:线性回归、岭回归
无监督学习
- 定义:输入数据是由输入特征值组成,没有目标值,即无标准答案。
- 聚类:k-means
半监督学习:
- 定义:训练集同时包含有标记样本数据和未标记样本数据
强化学习:
- 定义:实质是make decisions 问题,即自动进行决策,并且可以做连续决策
机器学习工作流程
- 获取数据
- 数据基本处理
- 特征工程
- 机器学习(模型训练)
- 模型评估
1)结果达到要求,上线服务
2)没有达到要求,重新上面步骤
- 应用
二、特征工程
1、数据集
1.1数据集组成
可用数据集、sklearn数据集
1.2数据集的划分
机器学习一般的数据集会划分为两个部分:
- 训练数据:用于训练,构建模型
- 测试数据:在模型检验时使用,用于评估模型是否有效
划分比例:
- 训练集:70%、80%
- 测试集:30%、20%
2、特征工程
2.1 为什么需要特征工程
数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已
2.2 什么是特征工程
- 特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程
- 意义:会直接影响机器学习的效果
2.3特征工程的位置与数据处理的比较
- pandas:一个数据读取非常方便以及基本的处理格式的工具
- sklearn:对于特征的处理提供了强大的接口
特征工程包含内容:
- 特征抽取/特征提取
- 特征预处理
- 特征降维
2.4特征提取
定义: 将任意数据(如文本或图像)转换为可用于机器学习的数字特征
提取方法:
- 字典特征提取(特征离散化)
- 文本特征提取
- 图像特征提取
2.5特征预处理
定义:通过一些转换函数,将特征数据转换成更适合算法模型的特征数据的过程
数值数据的无量纲化方法:
- 归一化:通过对原始的数据进行变换把数据映射到(默认为[0,1]之间)
- 标准化:通过对原始数据进行变换把数据变换到均值为0,标准差为1的范围内
2.6特征降维
定义:降维是指在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程
降维的方式:
- 特征选择:数据中包含冗余或相关变量(或称特征、属性、指标等),旨在从原有特征中找出主要特征
- 主成分分析(可以理解一种特征提取的方式):高维数据转换为低维数据的过程,在此过程中可能会舍弃原有数据、创造新的变量
特征选择
- (1)方差选择法:低方差特征过滤
- (2)相关系数:特征与特征之间的相关程度
主成分分析(PCA)
- 作用:是数据维数的压缩,尽可能降低原数据的维数(复杂度),损失少量信息
- 应用:回归分析或者聚类分析中
三、学习和训练模型(算法)
四、模型评估
定义:
- 模型评估是模型开发过程不可或缺的一部分。它有助于发现表达数据的最佳模型和所选模型将来工作的性能如何。
- 按照数据集的目标值不同,可以把模型评估分为分类模型评估和回归模型评估。
模型评估方法:
- 分类模型评估:准确率
- 回归模型评估:RMSE -- 均方根误差
- 拟合
- 欠拟合(学习到的东西太少,模型学习的太过粗糙)
- 过拟合(学习到的东西太多,学习到的特征多,不好泛化)
五、深度学习
1、深度学习与机器学习的区别
1.1深度学习没有特征提取
1.2特征提取方面
- 机器学习的特征工程步骤是要靠手动完成的,而且需要大量领域专业知识
- 深度学习通常由多个层组成,它们通常将更简单的模型组合在一起,将数据从一层传递到另一层来构建更复杂的模型。通过训练大量数据自动得到模型,不需要人工特征提取环节
- 深度学习算法试图从数据中学习高级功能,这是深度学习的一个非常独特的部分。因此,减少了为每个问题开发新特征提取器的任务。适合用在难提取特征的图像、语音、自然语言处理领域
1.3数据量和计算性能要求
- 第一,机器学习需要的执行时间远少于深度学习,深度学习参数往往很庞大,需要通过大量数据的多次优化来训练参数
- 第二,深度学习需要大量的训练数据集
- 第三,训练深度神经网络需要大量的算力(可能要花费数天、甚至数周的时间,才能使用数百万张图像的数据集训练出一个深度网络。所以深度学习通常需要强大的GPU服务器来进行计算)
1.4算法代表
- 机器学习:朴素贝叶斯,决策树
- 深度学习:神经网络
1.5深度学习的应用场景
- 图像识别:物体识别、场景识别、车型识别、人脸检测跟踪、人脸关键点定位、人脸身份认证
- 自然语言处理技术:机器翻译、文本识别、聊天对话
- 语音技术:语音识别
补充:
CPU:
- 综合能力比较强
- 核芯的数量更少
- 更适用于处理连续性(sequential)任务。
GPU:
- 专做某一个事情很好
- 核芯的数量更多
- 更适用于并行(parallel)任务
2、深度学习框架
2.1tensorflow框架
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性