pytorch + sklearn

目录

    • pytorch
      • PyTorch 简介
      • PyTorch 神经网络基础
      • 建造第一个神经网络
        • 关系拟合(回归)
        • 区分类型(分类)
        • 快速搭建法
        • 保存和提取
        • 批训练
        • 优化器:加速神经网络训练
      • 高级神经网络结构
        • CNN
        • RNN:序列数据
        • LSTM
        • AutoEncoder
        • DQN 强化学习
        • GAN
      • 高阶内容
        • pytorch
        • 过拟合
          • 批标准化
    • sklearn
      • 一般使用
      • 高级使用

pytorch

PyTorch 动态神经网络 (莫烦 Python 教学)
pytorch教程系列 | 莫烦Python

PyTorch 简介

最大优点就是建立的神经网络是动态的。另外,更容易理解底层代码。
PyTorch 会安装两个模块, 一个是 torch, 一个 torchvision。torch 是主模块, 用来搭建神经网络的;torchvision 是辅模块, 有数据库, 还有一些已经训练好的神经网络等着你直接用, 比如 (VGG, AlexNet, ResNet).

PyTorch 神经网络基础

  1. numpy.ndarray和torch.Tensor之间转换:
torch_data = torch.from_numpy(np_data)
np_data = torch_data.numpy()
  1. 矩阵运算最重要!!
  2. 激励函数。

建造第一个神经网络

关系拟合(回归)

  1. 建立数据集
  2. 建立神经网络 torch.nn.Module
  3. 训练网络 torch.optim. 和 torch.nn.MSELoss()
optimizer.zero_grad()   # 清空上一步的残余更新参数值
loss.backward()         # 误差反向传播, 计算参数更新值
optimizer.step()        # 将参数更新值施加到 net 的 parameters 上

区分类型(分类)

  1. 建立数据集
  2. 建立神经网络
  3. 训练网络 torch.nn.CrossEntropyLoss()

快速搭建法

torch.nn.Sequential()

保存和提取

def save():
def restore_net(): 提取整个神经网络, 网络大的时候可能会比较慢
def restore_params(): 提取所有的参数

批训练

torch.utils.data
TensorDataset(x , y)
DataLoader()

优化器:加速神经网络训练

SGD Momentum AdaGrad RMSProp Adam等

高级神经网络结构

CNN

Conv2d() —— ReLU() —— MaxPool2d()

RNN:序列数据

分类
回归

LSTM

输入控制
输出控制
忘记控制

AutoEncoder

压缩与解压

DQN 强化学习

神经网络 + Q learning

GAN

Generator:由随机数生成有意义的数据
Discriminator:判断真实数据和虚拟数据

高阶内容

pytorch

动态
GPU加速

过拟合

增加数据量
正则化 L1 L2 dropout

批标准化

mini-batch

sklearn

Scikit-learn (sklearn) 优雅地学会机器学习 (莫烦 Python 教程))
sklearn 通用机器学习 教程系列 | 莫烦Python

一般使用

四类算法:分类,回归,聚类,降维
学习模式
数据库
常用属性和功能

高级使用

正则化 scale
交叉验证 cross-validation
保存模型

你可能感兴趣的:(机器学习)