机器学习day01
机器学习day1
1.环境准备
python
Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。
Python 由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。
像 Perl 语言一样, Python 源代码同样遵循 GPL(GNU General Public License) 协议。
pycharm
PyCharm是一种Python IDE(Integrated Development Environment,集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
anaconda
就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。即它可以在你的电脑上创建多个你想要的python环境,并为每个python环境安装不同的包,不同环境相互切换,操作简单,使用方便!
2.pycharm专业版破解
1.下载并安装pycharm
[点击跳转到pycharm下载界面](Download PyCharm: The Python IDE for data science and web development by JetBrains)
2.pycharm的破解
[点击跳转到pycharm破解步骤教程](2023 年 Pycharm 最新激活码、激活破解教程,亲测可用,永久激活 | 程序员徐公 (junxu666.top))
专业版破解成功后如下图
3.通义灵码的下载
- 点击File点击Settings
-
点击Plugins,并在搜索框中输入tongyi
-
安装好后点击登录,登陆好后即可使用。(注:需使用阿里云账号)
4.机器学习概述
1.1人工智能的概念
- 什么是人工智能:
- Artificial Intelligence 人工智能
- AI is the field that studies the synthesis and analysis of computational agents that act intelligently •
- AI is to use computers to analog and instead of human brain
- AI的期望
- systems that think like humans
- Systems that think rationally
- Systems that act like humans
- think like human s Systems that act rationally
1.1.1机器学习
-
什么是机器学习
- Machine Learning 机器学习
- Field of study that gives computers the ability to learn without being explicitly programmed
-
机器如何学习
1.1.2深度学习
- 深度学习(DL, Deep Learning) : ,也叫深度神经网络,大脑仿生,设计一层一层的神经元模拟万事万物
1.1.3学习方式
-
基于规则的学习 : 程序员根据经验利用手工的if-else方式进行预测
-
有很多问题无法明确的写下规则,此时我们无法使用规则学习的方式来解决这一类问题,比如:图像和语音 识别和自然语言处理
-
基于模型的学习 : 从数据中自动学出规律
-
基于模型的学习 : 房价预测
1 利用线性关系来模拟面积和房价之间的关系 eg:让直线尽可能多的经过这些点,不能经过的点分布直线两侧 2机器学习模型 eg:直线记成y = ax + b 就是模型,其中 a、b 就是我们要训练的模型参数!
1.1.4总结
- 人工智能 • Artificial Intelligence(AI):仿智,使用计算机来模拟或者代替人类
- 机器学习 • Machine Learning(ML) :机器自动学习,不是人为规则编程
- 深度学习 • Deep Learning (DL) :大脑仿生,设计一层一层的神经元模拟万事万物
- AI、ML、DL三者之间的关系 • 机器学习是实现人工智能的一种途径 • 深度学习是机器学习的一种方法发展而来的
- 算法的学习方式有哪两种? • 基于规则的学习 • 基于模型的学习
1.2机器学习发展史
- 符号主义 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:专门针对大型网络训练而设计 的一款处理器
1.2.1总结
-
机器学习的应用领域
-
计算机视觉CV:对人看到的东西进行理解 总结
-
自然语言处理:对人交流的东西进行理解
-
数据挖掘和数据分析:也属于人工智能的范畴
-
-
人工智能发展史
- 1956年人工智能元年
- 2012年计算机视觉深度神经网络方法研究兴起
- 2017年自然语言处理应用大幕拉开
- 2022年chatGPT的出现,引起AIGC的发展
-
人工智能发展三要素
- 数据,算法,算力
- CPU:主要适合I\O密集型的任务
- GPU:主要适合计算密集型任务
- TPU:专门针对大型网络训练而设计的一款处理器
1.3机器学习常用术语
样本 :一行数据就是一个样本;多个样本组成数据集;有时一条样本被叫成一条记录
特征 :一列数据一个特征,有时也被称为属性
标签:模型要预测的那一列数据。本场景是就业薪资
1.3.2数据集划分
数据集可划分两部分:训练集、测试集 比例:8 : 2,7 : 3
训练集(training set) :用来训练模型(model)的数据集
测试集(testing set):用来测试模型的数据集
x_train 训练集中的x x_test 测试集中的x y_train 训练集中的y y_test 测试集中的y
1.3.3总结
- 样本和数据集
- 样本(sample) :一行数据就是一个样本 总结 • 数据集dataset:多个样本组成数据集
- 特征
- 特征(feature) :一列数据一个特征,有时也被称为属性
- 标签
- 标签/目标(label/target) :模型要预测的那一列数据。
- 数据集划分
- 训练集用来训练模型、测试集用来测试评估模型 。
- 一般划分比例7:3 ~ 8:2
1.4有监督学习 & 无监督学习
1.4.1有监督学习
-
定义:输入数据是由输入特征值和目标值所组成,即 输入的训练数据有标签的
-
数据集:需要标注数据的标签/目标值
1.4.2无监督学习
- 定义:输入数据没有被标记,即样本数据类别未知,没有标签, 根据样本间的相似性,对样本集聚类,以发现事物内 部 结构及相互关系
1.4.3有监督分类问题 & 回归问题
-
分类问题
- 目标值(标签值)是不连续的
- 分类种类:二分类、多分类
-
回归问题
- 目标值(标签值)是连续的
1.4.4无监督学习特点
- 训练数据无标签
- 根据样本间的相似性对样本集进行聚类,发现事物内部结构及相互关系
1.4.5半监督学习
- 工作原理:
- 让专家标注少量数据,利用已经标记的数据(也就 是带有类标签)训练出一个模型
- 再利用该模型去套用未标记的数据
- 通过询问领域专家分类结果与模型分类结果做对比
1.4.6机器学习算法分类 – 强化学习
- 强化学习(Reinforcement Learning):机器学习的一个重要分支
- 应用场景:里程碑AlphaGo围棋、各类游戏、对抗比赛、无人驾驶场景
- 基本原理:通过构建四个要素:agent,环境状态,行动,奖励, agent根据环境状态进行行动获得最多的累计奖励。
1.5机器学习建模流程
- 获取数据:获取经验数据 图像数据 文本数据
- 数据基本处理:数据缺失值处理 异常值处理
- 特征工程:特征提取 特征预处理 特征降维
- 机器学习(模型训练):线性回归 逻辑回归 决策树 GBDT
- 模型评估:回归评测指标 分类评测指标 聚类评测指标
1.5.1总结
机器学习建模的一般步骤:
- 获取数据:搜集与完成机器学习任务相关的数据集
- 数据基本处理:数据集中异常值,缺失值的处理等
- 特征工程:对数据特征进行提取、转成向量,让模型达到最好的效果
- 机器学习(模型训练):选择合适的算法对模型进行训练
- 根据不同的任务来选中不同的算法;有监督学习,无监督学习,半监督学 习,强化学习
- 模型评估:评估效果好上线服务,评估效果不好则重复上述步骤
1.6特征工程概念入门
特征(feature)
特征工程 (Feature Engineering) :利用专业背景知识和技巧处理数据,让机器学习算法效果最好。这个过程就是特征工程 Coming up with features is difficult, time-consuming, requires expert knowledge. “Applied machine learning” is basically feature engineering. ” 数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已
1.6.1特征工程概念入门 – 涉及内容
- 特征提取 feature extraction:原始数据中提取与任务相关的特征,构成特征向量
- 特征预处理 feature preprocessing:特征对模型产生影响;因量纲问题,有些特征对模型影响大、有些影响小
- 特征降维 Feature decomposition:将原始数据的维度降低,叫做特征降维,一般会对原始数据产生影响
- 特征选择 feature selection:原始数据特征很多,与任务相关是其中一个特征集合子集,不会改变原数据
- 特征组合 feature crosses:把多个的特征合并成一个特征。利用乘法或加法来完成
1.6.2特征工程概念入门 – 涉及内容
- 特征提取 feature extraction :从原始数据中提取与任务相关的特征
- 特征预处理 feature preprocessing :特征对模型产生影响;因量纲问题,有些特征对模型影响大、有些影响小
- 特征降维 Feature decomposition:将原始数据的维度降低,叫做特征降维
- 特征选择 feature selection :原始数据特征很多,但是对模型训练相关是其中一个特征集合子集。
- 特征组合 feature crosses :把多个的特征合并成一个特征。一般利用乘法或加法来完成
1.6.3总结
-
特征工程 Feature Engineering
- 特征Feature:对任务有用的属性信息
- 特征工程:利用专业背景知识和技巧处理数据,让模型效果更好
-
特征工程的内容
- 特征提取 feature extraction :特征向量
- 特征预处理 feature preprocessing:不同特征对模型影响一致性
- 特征降维 Feature decomposition:保证数据的主要信息要保留下来
- 特征选择 feature selection :从特征中选择出一些重要特征训练模型
- 特征组合 feature crosses:把多个特征合并组合成一个特征
1.7拟合
拟合 fitting:用在机器学习领域,用来表示模型对样本点的拟合情况
欠拟合under-fitting:模型在训练集上表现很差、在测试集表现也很差
过拟合over-fitting:模型在训练集上表现很好、在测试集表现很差
1.7.1模型表现效果 – 欠拟合欠拟合 – 从样本分布角度看
- 欠拟合产生的原因:模型过于简单
- 过拟合产的原因:模型太过于复杂、数据不纯、训练数据太少
- 泛化 Generalization :模型在新数据集(非训练数据)上的表现好坏的能力。
- 奥卡姆剃刀原则:给定两个具有相同泛化误差的模型,较简单的模型比较复杂的模型更 可取
1.7.2总结
-
过拟合欠拟合?
- 拟合:用来表示模型对样本分布点的模拟情况 总结
- 模型在训练集上表现很差、在测试集表现也很差,是欠拟合
- 模型在训练集上表现很好、在测试集表现很差,是过拟合
-
过拟合欠拟合产生的原因
- 欠拟合产生的原因:模型过于简单
- 过拟合产生的原因:模型太过于复杂、数据不纯、训练数据太少
-
泛化概念
- 泛化 Generalization :具体的、个别的扩大为一般的能力
- 奥卡姆剃刀原则:给定两个具有相同泛化误差的模型,倾向选择较简单的模 型
1.8机器学习开发环境
1.8.1基于Python的 scikit-learn 库
- 简单高效的数据挖掘和数据分析工具
- 可供大家使用,可在各种环境中重复使用
- 建立在NumPy,SciPy和matplotlib上
- 开源,可商业使用-获取BSD许可证
安装方法: pip install scikit-learn