二、机器学习
机器学习
(一)scikit-learn工具
1. 介绍
开源,可商业使用
BSD 许可证
2. 特点
- 简单高效
scikit-learn提供了简单高效的算法和工具,方便用户快速进行数据分析和机器学习 - 模块化设计
scikit-learn采用模块化设计,使得用户可以根据需要自由组合不同的算法和工具 - 丰富多样的算法
scikit-learn提供了丰富多样的机器学习算法,包括分类、回归、聚类、降维等,满足用户不同需求
3. 官网
https://scikit-learn.org/
4. 适用场景
- 数据挖掘
- 机器学习
5. 安装
可以使用 pip 或 conda 等包管理工具进行安装,例如:
pip install -U scikit-learn
导入必要的模块和函数,例如:
from sklearn.linear_model import LinearRegressio
6. 机器学习的定义
(1)支持向量机
scikit-learn 支持向量机算法,用于分类和回归分析
(2)决策树
scikit-learn 决策树算法,适用于分类和回归问题
(3)随机森林
scikit-learn 随机森林算法,通过集成学习提高分类精度
7. 主要功能
(1)数据清洗
scikit-learn 提供了数据清洗的功能,包括缺失值处理和异常值检测等
(2)特征选择
scikit-learn 提供了特征选择的功能,可以帮助用户选择最重要的特征,提高模型的准确率
(3)特征转换
scikit-learn 提供了特征转换的功能,可以将原始特征转换为更符合模型需求的特征
8. 算法
(1)分类、回归算法
各种回归算法、支持向量机、决策树、随机森林等
(2)聚类算法
K-means、谱聚类、DBSCAN等
(3)降维技术
PCA(主成分分析)、LDA(线性判别分析)等
9. 优缺点
(1)优点
功能强大:scikit-learn 提供了丰富的机器学习算法和工具,可以满足各种不同的需求
易于使用:scikit-learn 的 API 设计简洁明了,易于理解和使用,降低了机器学习的门槛
社区支持:scikit-learn 拥有庞大的用户和开发者社区,为使用者提供了丰富的资源和支持
(2)缺点
不易理解:对于初学者来说,scikit-learn 的文档和 API 可能难以理解,特别是英文官网,入手难度高,中文网站API往往滞后
(二)机器学习
1. 定义
机器学习(Machine Learning)本质上就是让计算机自己在数据中学习规律,并根据所得到的规律对未来数据进行预测
机器学习包括如聚类、分类、决策树、贝叶斯、神经网络、深度学习(Deep Learning)等算法

2. 发展历史
(1)机器学习的起源
20世纪50年代,人工智能的概念被提出,旨在通过计算机模拟人类的智能行为
(2)神经网络的探索
20世纪80年代,神经网络(BP)的研究开始兴起,旨在通过模拟人脑神经元网络来处理信息
(3)支持向量机等算法的出现
随着机器学习的发展,支持向量机、朴素贝叶斯等算法相继出现,将机器学习从知识驱动转变为数据驱动的思路
(4)深度学习的火热
2012年,随着算力提升和海量训练样本的支持,深度学习成为机器学习研究热点,并带动了产业界的广泛应用
3. 分类
(1)监督学习
给模型一张图片(数据集),并且告知结果(标签)
定义
监督学习是从已有的训练数据集(标记数据)中学习模型,然后对新的数据进行预测的一种机器学习方法
常见算法
- 线性回归:通过找到最佳拟合线来预测因变量的值
- 逻辑回归:用于二元分类的监督学习算法
- 决策树:通过构建树状结构来对新的数据进行分类或回归
应用场景
- 分类问题:垃圾邮件识别、人脸识别等
- 回归问题:股票价格预测、预测天气等
(2)无监督学习
给模型一张图片(数据集),不告知结果(标签)
定义
通过分析输入数据的特点和结构,自动地找出数据中的模式和规律,而不需要人工标注和干预
常见算法
- K-means:用于聚类分析
- DBSCAN:基于密度的算法,发现任意形状的聚类
- 层次聚类:基于距离的算法,将数据点按照距离远近进行聚类
应用场景
- 聚类:将数据集划分为多个组
- 降维:将高维数据降维,更容易理解和可视化数据
- 关联规则学习:超市购物篮分析中,发现哪些商品经常一起被购买
(3)半监督学习
给模型一张图片(数据集),并且告知一部分结果(标签)
定义
利用标记和未标记的数据来进行训练和预测
常见算法
- 标签传播:通过迭代地传播标签,使得每个样本的标签都尽可能地一致
- 学习算法:通过学习算法可以训练出更好的模型,提高分类准确率
应用场景
- 分类问题:垃圾邮件识别、人脸识别等
- 聚类问题:市场细分、社交网络分析等
(4)强化学习
定义
通过试错的方式让机器学习如何做出最优决策
常见算法
Q-Learning:构建Q表来对环境进行建模实现决策Deep Q Network (DQN):结合深度学习通过训练神经网络来逼近Q函数,实现更高效的学习Policy Gradient Methods:优化策略寻找最优解
应用场景
- 游戏 AI:
AlphaGo,通过自我对弈提升技能 - 机器人控制:根据环境反馈进行自我调整,实现更精准的控制
4. 应用场合
(1)自然语言处理
机器翻译、语音识别、文本分类
(2)其他
视觉垂直领域、预测与推荐系统、决策支持与智能分析
5. 未来发展与挑战
(1)未来发展
垂直性(落地化)
很多传统的垂直领域都需要有机器学习的加入,例如医疗、市场等,这些垂直领域可以是专门完成具体的某一项任务的模型,也可以是一个什么都会的模型
多样性
机器学习衍生出来的算法、模型多种多样,它们都各有所长,也有所短,受到现场、部署环境、硬件条件、数据等影响,多样性的发展可以适配不同的领域
(2)数据质量问题
数据量不足、数据质量不均、数据隐私保护
(3)人工智能与安全问题
安全(黑盒子)、人工智能的未来、不可解释
本文来自博客园,作者:桑年,转载请注明原文链接:https://www.cnblogs.com/clover-1105/p/23531977

浙公网安备 33010602011771号