sklearn和tensorflow的理解

人工智能的实现是基于机器学习,机器学习的一个方法是神经网络,以及各种机器学习算法库。

有监督学习:一般数据构成是【特征值+目标值】

无监督学习:一般数据构成是【特征值】

Scikit-learn(sklearn)的定位是通用机器学习库,传统的机器学习库。

sklearn主要适合中小型的、实用机器学习项目,尤其是那种数据量不大且需要使用者手动对数据进行处理,并选择合适模型的项目。这类项目往往在CPU上就可以完成,对硬件要求低

sklearn更倾向于使用者可以自行对数据进行处理,比如选择特征、压缩维度、转换格式,是传统机器学习库,SKLearn中,因为做了上层的封装,分类模型、回归模型、聚类与降维模型、预处理器等等都叫做估计器(estimator)

  • 机器学习基础知识 :机器学习定义与四要素:数据、任务、性能度量和模型。机器学习概念,以便和SKLearn对应匹配上。

  • SKLearn讲解 :API设计原理,SKLearn几大特点:一致性、可检验、标准类、可组合和默认值,以及SKLearn自带数据以及储存格式。

  • SKLearn三大核心API讲解 :包括估计器、预测器和转换器。这个板块很重要,大家实际应用时主要是借助于核心API落地。

  • SKLearn高级API讲解 :包括简化代码量的流水线(Pipeline估计器),集成模型(Ensemble估计器)、有多类别-多标签-多输出分类模型(Multiclass 和 Multioutput 估计器)和模型选择工具(Model Selection估计器)。

TensorFlow(tf)的定位主要是深度学习库,tf主要适合已经明确了解需要用深度学习,且数据处理需求不高的项目。这类项目往往数据量较大,且最终需要的精度更高,一般都需要GPU加速运算

不过小样本的也可以使用Tf的Keras来完成:一般使用流程

复制代码
model = Sequential() # 定义模型
model.add(Dense(units=64, activation='relu', input_dim=100)) # 定义网络结构
model.add(Dense(units=10, activation='softmax')) # 定义网络结构
model.compile(loss='categorical_crossentropy', # 定义loss函数、优化方法、评估标准
              optimizer='sgd',
              metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5, batch_size=32) # 训练模型
loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128) # 评估模型
classes = model.predict(x_test, batch_size=128) # 使用训练好的数据进行预测


常用:
model.fit训练
loss,accuracy = model.evaluate模型评估计算准确率
model.predict预测

model.summary 打印模型结构
model.get_config

DNN介绍:

深度神经网络(DNN)是一种多层无监督神经网络,并且将上一层的输出特征作为下一层的输入进行特征学习,通过逐层特征映射后,将现有空间样本的特征映射到另一个特征空间,以此来学习对现有输入具有更好的特征表达。深度神经网络具有多个非线性映射的特征变换,可以对高度复杂的函数进行拟合。如果将深层结构看作一个神经元网络,则深度神经网络的核心思想可用三个点描述如下:

(1)每层网络的预训练均采用无监督学习;

(2)无监督学习逐层训练每一层,即将上一层输出作 下一层的输入;

(3)有监督学习来微调所有层(加上一个用于分类的分类器)。

深度神经网络与传统神经网络的主要区别在于训练机制。

为了克服传统神经网络容易过拟合及训练速度慢等不足,深度神经网络整体上采用逐层预训练 的训练机制,而不是采用传统神经网络的反向传播训练机制。

优点:

  • 克服了人工设计特征费时、费力的缺点;
  • 通过逐层数据预训练得到每层的初级特征;
  • 分布式数据学习更加有效(指数级);
  • 相比浅层建模方式,深层建模能更细致高效的表示实际的复杂非线性问题。

DNN模型的神经网络层分为三类,其中第一层为输入层,最后一层为输出层,中间都为隐藏层。每一层之前是完全连接的,整体上看是复杂的,但从局部来看,实质上还是感知机模型。DNN可拟合任意函数。

相关推荐
珂朵莉MM3 分钟前
2024 睿抗机器人开发者大赛CAIP-编程技能赛-专科组(国赛)解题报告 | 珂学家
开发语言·人工智能·算法·leetcode·职场和发展·深度优先·图论
ㄣ知冷煖★18 分钟前
【论文阅读】A Survey on Multimodal Large Language Models
人工智能·语言模型·自然语言处理
视觉语言导航1 小时前
兼顾长、短视频任务的无人机具身理解!AirVista-II:面向动态场景语义理解的无人机具身智能体系统
人工智能·无人机·具身智能
墨绿色的摆渡人1 小时前
pytorch小记(二十二):全面解读 PyTorch 的 `torch.cumprod`——累积乘积详解与实战示例
人工智能·pytorch·python
moonsims1 小时前
低空态势感知:基于AI的DAA技术是低空飞行的重要安全保障-机载端&地面端
人工智能·安全
若叶时代1 小时前
数据分析_Python
人工智能·python·数据分析
虾球xz1 小时前
游戏引擎学习第286天:开始解耦实体行为
c++·人工智能·学习·游戏引擎
武子康2 小时前
大语言模型 11 - 从0开始训练GPT 0.25B参数量 MiniMind2 准备数据与训练模型 DPO直接偏好优化
人工智能·gpt·ai·语言模型·自然语言处理
羽凌寒3 小时前
图像对比度调整(局域拉普拉斯滤波)
人工智能·计算机视觉
大模型铲屎官3 小时前
【Python-Day 14】玩转Python字典(上篇):从零开始学习创建、访问与操作
开发语言·人工智能·pytorch·python·深度学习·大模型·字典