IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 打卡Datawhale31期Task02 -> 正文阅读

[人工智能]打卡Datawhale31期Task02

Task02机器学习基础

机器学习

  1. 机器学习可以分为有监督、无监督 和 强化学习
  2. 常见数据集
    MNIST、CIFAR10、CIFAR100等
    常用数据集可以使用pytorch、tensorflow等导入。
    比如使用CIFAR10数据聚集
import torchvision.transforms as transforms
import torchvision
train_dataset = torchvision.datasets.CIFAR10(root=r'./data/',
        train=True,   
        transform=transforms.ToTensor(),
        download = True) 

但是昨天发现直接下载有点难,可以提前下载好,然后再从本地地址下载。找到的解决方案是看的这位大佬的文章:下载CIFAR10数据集

误差分析

只记录几个我容易混淆的概念

  1. 测试误差:模型在测试集上的误差
  2. 泛化误差:模型在总体样本上的误差

泛化误差分析

截图来自Datawhale教程

泛化误差可以分解为偏差、方差和噪声之和。

  1. 偏差:反映模型在 样本上的期望输出与真实标记之间的差距,即模型本身的精准度,反映的是模型本身的拟合能力。 偏差大,对应着模型的拟合较差。

  2. 方差:反映了模型在不同训练数据集下学得的函数的输出与期望输出之间的误差,即模型的稳定性,反映的是模型的波动情况
    周志华老师西瓜书上说:方差度量了同样大小的训练集的变动所导致的学习性能的变化,刻画了数据扰动所造成的影响。
    所以方差大,模型就容易受到数据扰动,数据发生的轻微扰动都会导致学习器发生显著变化。

  3. 欠拟合:高偏差,低方差
    解决方案:

  • 寻找更好的特征;
  • 增加特征数量;
  • 选择更加复杂的模型;
  1. 过拟合:低偏差,高方差
    解决方案:
  • 增加训练样本数量;【这一条我不理解。参考这个文章,因为数据量小很容易导致过拟合,所以反过来如果过拟合了,可以考虑增加样本数量】;
  • 减少特征维数;
  • 加入正则化项

交叉验证

分成10折或者5折比较多,留一法适合数据量小的情况。
可以直接用sklearn中的KFold进行交叉验证。

import numpy as np
from sklearn.model_selection import KFold
import pandas as pd

# 假设数据X_train,y_train
y_train = np.array([1,0,1,1,0])  
X_train = pd.DataFrame([[1,2],[3,4],[5,6],[7,8],[9,10]])
# 五折交叉验证
K = 5  # 折数改这里
folds = KFold(n_splits= K, shuffle = True, random_state= 0) # 设置random_state,是为了每次都可以重复

#  这是把全部的训练数据拆分成了K份,K-1 份测试,1份验证  
for trn_idx, val_idx in folds.split(X_train,y_train):
    train_df, train_label = X_train.iloc[trn_idx,:],y_train[trn_idx]
    valid_df, valid_label = X_train.iloc[val_idx,:],y_train[val_idx]
    #X_train可以使用iloc, 注意y_train必须使用np.array()转化一下才能使用列表作为索引
    接着在这个for循环里就可以将训练集和验证集分别用于训练和验证了

有监督学习

  1. 线性回归
  2. 逻辑回归
  3. 支持向量机
  4. 决策树
  5. 随机森林

无监督学习

  1. 聚类
  2. 降维

参考:1. Datawhale31期的机器学习基础 。 蓝色截图也来源于该教程。
2. 这个文章回答了我对于过拟合为什么要增加数据集的问题
3.这个文章解决了我pytorch下载CIFAR10的问题
4. 周志华《机器学习》

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-19 17:37:57  更:2021-11-19 17:40:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 23:42:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码