机器学习day1
1.环境准备#
python
Python 是一种解释型、面向对象、动态数据类型的高级编程语言,适合于快速开发。。
pycharm
etBrains开发的Python IDE,支持高效的代码编辑和项目管理。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
anaconda
就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。它是包管理和环境管理的Python发行版,支持创建多个隔离的Python环境。
3.通义灵码的下载#
点击File点击Settings
点击Plugins,并在搜索框中输入tongyi
安装好后点击登录,登陆好后即可使用。(注:需使用阿里云账号)
4.机器学习概述#
4.1人工智能三大概念#
人工智能: 使用计算机模拟或替代人类智能的技术。
机器学习: 未明确编程的情况下,赋予计算机学习能力的学科领域。
深度学习: 基于大脑神经网络模拟的一种机器学习技术。
三者之间的关系:
机器学习是实现人工智能的一种途径
深度学习是机器学习的一种方法
4.2学习方式#
基于规则的学习 : 程序员根据经验利用手工的if-else方式进行预测
有很多问题无法明确的写下规则,此时我们无法使用规则学习的方式来解决这一类问题,比如:图像和语音 识别和自然语言处理
基于模型的学习 : 从数据中自动学出规律
基于模型的学习 : 房价预测
(1)利用线性关系来模拟面积和房价之间的关系 eg:让直线尽可能多的经过这些点,不能经过的点分布直线两侧
(2)器学习模型 eg:直线记成y = ax + b 就是模型,其中 a、b 就是我们要训练的模型参数!
4.3总结#
人工智能 • Artificial Intelligence(AI):仿智,使用计算机来模拟或者代替人类
机器学习 • Machine Learning(ML) :机器自动学习,不是人为规则编程
深度学习 • Deep Learning (DL) :大脑仿生,设计一层一层的神经元模拟万事万物
AI、ML、DL三者之间的关系 • 机器学习是实现人工智能的一种途径 • 深度学习是机器学习的一种方法发展而来的
算法的学习方式有哪两种? • 基于规则的学习 • 基于模型的学习
5.机器学习的应用领域和发展史#
符号主义 20世纪50-70
专家系统占主导 1950:图灵设计国际象棋程序 1962:IBM Arthur Samuel 的跳棋程序战胜人类高手(人工智能第一次浪潮)
统计主义 20世纪80-2000
主要用统计模型解决问题 •1993:Vapnik提出SVM •1997:IBM 深蓝战胜卡斯帕罗夫(人工智能第二次浪潮)
神经网络 21世纪初期
神经网络、深度学习流派 •2012: AlexNet深度学习的开山之作 •2016:Google AlphaGO 战胜李世石(人工智能第三次浪潮)
大规模预训练模型 2017-至今
大规模预训练模型 2017年,自然语言处理NLP的Transformer框架出现 2018年,Bert和GPT的出现 2022年,chatGPT的出现,进入到大模型AIGC发展的阶段
AI发展三要素
CPU:主要适合I\O密集型的任务
GPU:主要适合计算密集型任务
TPU:专门针对大型网络训练而设计 的一款处理器
5.1总结#
机器学习的应用领域
计算机视觉CV:对人看到的东西进行理解 总结
自然语言处理:对人交流的东西进行理解
数据挖掘和数据分析:也属于人工智能的范畴
人工智能发展史
1956年人工智能元年
2012年计算机视觉深度神经网络方法研究兴起
2017年自然语言处理应用大幕拉开
2022年chatGPT的出现,引起AIGC的发展
人工智能发展三要素
数据,算法,算力
CPU:主要适合I\O密集型的任务
GPU:主要适合计算密集型任务
TPU:专门针对大型网络训练而设计的一款处理器
6.机器学习常用术语#
6.1样本、特征、标签
样本 :一行数据就是一个样本;多个样本组成数据集;有时一条样本被叫成一条记录
特征 :一列数据一个特征,有时也被称为属性
标签:模型要预测的那一列数据。本场景是就业薪资
6.2数据集划分#
数据集可划分两部分:训练集、测试集 比例:8 : 2,7 : 3
训练集(training set) :用来训练模型(model)的数据集
测试集(testing set):用来测试模型的数据集
x_train 训练集中的x x_test 测试集中的x y_train 训练集中的y y_test 测试集中的y
6.3总结#
样本和数据集
样本(sample) :一行数据就是一个样本 总结 • 数据集dataset:多个样本组成数据集
特征
特征(feature) :一列数据一个特征,有时也被称为属性
标签
标签/目标(label/target) :模型要预测的那一列数据。
数据集划分
训练集用来训练模型、测试集用来测试评估模型 。
一般划分比例7:3 ~ 8:2
7.有监督学习 & 无监督学习#
7.1有监督学习#
定义:输入数据是由输入特征值和目标值所组成,即 输入的训练数据有标签的
数据集:需要标注数据的标签/目标值
7.2无监督学习#
定义:输入数据没有被标记,即样本数据类别未知,没有标签, 根据样本间的相似性,对样本集聚类,以发现事物内 部 结构及相互关系
7.3有监督分类问题 & 回归问题#
分类问题
目标值(标签值)是不连续的
分类种类:二分类、多分类
回归问题
目标值(标签值)是连续的
7.4无监督学习特点#
训练数据无标签
根据样本间的相似性对样本集进行聚类,发现事物内部结构及相互关系
7.5半监督学习#
工作原理:
让专家标注少量数据,利用已经标记的数据(也就 是带有类标签)训练出一个模型
再利用该模型去套用未标记的数据
通过询问领域专家分类结果与模型分类结果做对比
7.6机器学习算法分类 – 强化学习#
强化学习(Reinforcement Learning):机器学习的一个重要分支
应用场景:里程碑AlphaGo围棋、各类游戏、对抗比赛、无人驾驶场景
基本原理:通过构建四个要素:agent,环境状态,行动,奖励, agent根据环境状态进行行动获得最多的累计奖励。
8.机器学习建模流程#
获取数据:获取经验数据 图像数据 文本数据
数据基本处理:数据缺失值处理 异常值处理
特征工程:特征提取 特征预处理 特征降维
机器学习(模型训练):线性回归 逻辑回归 决策树 GBDT
模型评估:回归评测指标 分类评测指标 聚类评测指标
8.1总结#
机器学习建模的一般步骤:
获取数据:搜集与完成机器学习任务相关的数据集
数据基本处理:数据集中异常值,缺失值的处理等
特征工程:对数据特征进行提取、转成向量,让模型达到最好的效果
机器学习(模型训练):选择合适的算法对模型进行训练
根据不同的任务来选中不同的算法;有监督学习,无监督学习,半监督学 习,强化学习
模型评估:评估效果好上线服务,评估效果不好则重复上述步骤
9.特征工程概念入门#
特征(feature)
特征工程 (Feature Engineering) :利用专业背景知识和技巧处理数据,让机器学习算法效果最好。这个过程就是特征工程 Coming up with features is difficult, time-consuming, requires expert knowledge. “Applied machine learning” is basically feature engineering. ” 数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已
9.1特征工程概念入门 – 涉及内容#
特征提取 feature extraction:原始数据中提取与任务相关的特征,构成特征向量
特征预处理 feature preprocessing:特征对模型产生影响;因量纲问题,有些特征对模型影响大、有些影响小
特征降维 Feature decomposition:将原始数据的维度降低,叫做特征降维,一般会对原始数据产生影响
特征选择 feature selection:原始数据特征很多,与任务相关是其中一个特征集合子集,不会改变原数据
特征组合 feature crosses:把多个的特征合并成一个特征。利用乘法或加法来完成
9.2特征工程概念入门 – 涉及内容#
特征提取 feature extraction :从原始数据中提取与任务相关的特征
特征预处理 feature preprocessing :特征对模型产生影响;因量纲问题,有些特征对模型影响大、有些影响小
特征降维 Feature decomposition:将原始数据的维度降低,叫做特征降维
特征选择 feature selection :原始数据特征很多,但是对模型训练相关是其中一个特征集合子集。
特征组合 feature crosses :把多个的特征合并成一个特征。一般利用乘法或加法来完成
9.3总结#
特征工程 Feature Engineering
特征Feature:对任务有用的属性信息
特征工程:利用专业背景知识和技巧处理数据,让模型效果更好
特征工程的内容
特征提取 feature extraction :特征向量
特征预处理 feature preprocessing:不同特征对模型影响一致性
特征降维 Feature decomposition:保证数据的主要信息要保留下来
特征选择 feature selection :从特征中选择出一些重要特征训练模型
特征组合 feature crosses:把多个特征合并组合成一个特征
10.拟合#
拟合 fitting:用在机器学习领域,用来表示模型对样本点的拟合情况
欠拟合under-fitting:模型在训练集上表现很差、在测试集表现也很差
过拟合over-fitting:模型在训练集上表现很好、在测试集表现很差
10.1模型表现效果 – 欠拟合欠拟合 – 从样本分布角度看#
欠拟合产生的原因:模型过于简单
过拟合产的原因:模型太过于复杂、数据不纯、训练数据太少
泛化 Generalization :模型在新数据集(非训练数据)上的表现好坏的能力。
奥卡姆剃刀原则:给定两个具有相同泛化误差的模型,较简单的模型比较复杂的模型更 可取
10.2总结#
过拟合欠拟合?
拟合:用来表示模型对样本分布点的模拟情况 总结
模型在训练集上表现很差、在测试集表现也很差,是欠拟合
模型在训练集上表现很好、在测试集表现很差,是过拟合
过拟合欠拟合产生的原因
欠拟合产生的原因:模型过于简单
过拟合产生的原因:模型太过于复杂、数据不纯、训练数据太少
泛化概念
泛化 Generalization :具体的、个别的扩大为一般的能力
奥卡姆剃刀原则:给定两个具有相同泛化误差的模型,倾向选择较简单的模 型
11.机器学习开发环境#
11.1基于Python的 scikit-learn 库#
简单高效的数据挖掘和数据分析工具
可供大家使用,可在各种环境中重复使用
建立在NumPy,SciPy和matplotlib上
开源,可商业使用-获取BSD许可证
安装方法: pip install scikit-learn