机器学习实战项目汇总

2023-05-16

ML assignments, about Regression, Classification, CNN, RNN, Explainable AI, Adversarial Attack, Network Compression, Seq2Seq, GAN, Transfer Learning, Meta Learning, Life-long Learning, Reforcement Learning. It will be challenge but cheerful work!

Learning Map

  • 学习笔记:https://github.com/Sakura-gh/ML-notes
  • 实战项目:https://github.com/Sakura-gh/ML-assignments

Assignments

  • 1_Regression

  • 2_Classification

  • 3_CNN

  • 4_RNN

  • 5_Explainable AI

  • 6_Adversarial Attack

  • 7_Network Compression

  • 8_Seq2Seq

  • 9_Unsupervised Learning

  • 10_Anomaly Detection

  • 11_GAN

  • 12_Transfer Learning

  • 13_Meta Learning

  • 14_Life Long Learning

  • 15_Reinforcement Learning

Introduction

  • machine learning的本质就是寻找一个function

    当然它可以相当复杂,以至于根本没有人能够把这个function的数学式给手写出来

  • 首先要做的是明确你要找什么样的function,大致上分为以下三类:

    • Regression——让机器输出一个数值,如预测PM2.5
    • Classification——让机器做选择题
      • 二元选择题——binary classification,如用RNN做文本语义的分析,是正面还是负面
      • 多元选择题——muti-class classification,如用CNN做图片的多元分类
    • Generation——让机器去创造、创生
      • 如用seq2seq做机器翻译
      • 如用GAN做二次元任务的生成
  • 其次是要告诉机器你想要找什么样的function,分为以下三种方式:

    • Supervised Learning:用labeled data明确地告诉机器你想要的理想的正确的输出是什么
    • Reinforcement Learning:不需要明确告诉机器正确的输出是什么,而只是告诉机器它做的好还是不好,引导它自动往正确的方向学习
    • Unsupervised Learning:给机器一堆没有标注的data,看看机器到底能做到哪一步
  • 接下来就是机器如何去找出你想要的function

    当机器知道要找什么样的function之后,就要决定怎么去找这个function,也就是使用loss去衡量一个function的好坏

    • 第一步,给定function寻找的范围

      • 比如Linear Function、Network Architecture都属于指定function的范围

        两个经典的Network Architecture就是RNN(会用到Seq2Seq的架构里)和CNN(会用到大部分其他的架构里)

    • 第二步,确定function寻找的方法

      • 主要的方法就是gradient descent以及它的扩展

        可以手写实现,也可以用现成的Deep Learning Framework——PyTorch来实现

  • 前沿研究

    • Explainable AI

      举例来说,对猫的图像识别,Explained AI要做的就是让机器告诉我们为什么它觉得这张图片里的东西是猫 (用CNN)

    • Adversarial Attack

      举例来说,现在的图像识别系统已经相当的完善,甚至可以在有诸多噪声的情况下也能成功识别,而Adversarial Attack要做的事情是专门针对机器设计噪声,刻意制造出那些对人眼影响不大,却能够对机器进行全面干扰使之崩溃的噪声图像 (用CNN)

    • Network Compression

      举例来说,你可能有一个识别准确率非常高的model,但是它庞大到无法放到手机、平板里面,而Network Compression要做的事情是压缩这个硕大无比的network,使之能够成功部署在手机甚至更小的平台上 (用CNN)

    • Anomaly Detection

      举例来说,如果你训练了一个识别动物的系统,但是用户放了一张动漫人物的图片进来,该系统还是会把这张图片识别成某种动物,因此Anomaly Detection要做的事情是,让机器知道自己无法识别这张图片,也就是能不能让机器知道“我不知道”

    • Transfer Learning (即Domain Adversarial Learning)

      在用于学习的过程中,训练资料和测试资料的分布往往是相同的,因此能够得到比较高的准确率,比如黑白的手写数字识别,但是在实际场景的应用中,用户给你的测试资料往往和你用来训练的资料很不一样,比如一张彩色背景分布的数字图,此时原先的系统的准确率就会大幅下降,而Transfer Learning要做的事情是,在训练资料和测试资料很不一样的情况下,让机器也能学到东西

    • Meta Learning

      Meta Learning的思想就是让机器学习该如何学习,也就是Learn to learn,传统的机器学习方法是人所设计的,是我们赋予了机器学习的能力;而Meta Learning并不是让机器直接从我们指定好的function范围中去学习,而是让它自己有能力自己去设计一个function的架构,然后再从这个范围内学习到最好的function,我们期待用这种方式让机器自己寻找到那个最合适的model,从而得到比人类指定model的方法更为有效的结果

      传统:我们指定model->机器从这个model中学习出best function

      Meta:我们教会机器设计model的能力->机器自己设计model->机器从这个model中学习出best function

      原因:人为指定的model实际上效率并不高,我们常常见到machine在某些任务上的表现比较好,但是这是它花费大量甚至远超于人类所需的时间和资料才能达到和人类一样的能力;相当于我们指定的model直接定义了这是一个天资不佳的机器,只能通过让它勤奋不懈的学习才能得到好的结果;由于人类的智慧有限无法设计高效的model才导致机器学习效率低下,因此Meta learning就期望让机器自己去定义自己的天赋,从而具备更高效的学习能力

    • Life-long Learning

      一般的机器学习都是针对某一个任务设计的model,而life-long learning想要让机器能够具备终身学习的能力,让它不仅能够学会处理任务1,还能接着学会处理任务2、3…也就是让机器成为一个全能型人才

注:最近打算做一个微信公众号用于分享我在计算机学科学习到的知识和项目,暑假开始长期更新,欢迎大家关注:
cs学习分享

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器学习实战项目汇总 的相关文章

  • docker/overlay2磁盘占满——Linux定时清理docker日志脚本

    一 查看占用磁盘文件 df span class token operator span h 然后进入占用大的文件目录执行 du span class token operator span span class token operato
  • java3-5年面试题——数据库篇

    1 limit关键字从0到10与从100000到200000效率相差几个数量级 xff0c 为什么 xff1f 从100000到200000 这种分页查询方式会从数据库第一条记录开始扫描 xff0c 所以越往后 xff0c 查询速度越慢 x
  • java3-5年面试题——高级篇

    关于linux操作 xff1a 1 常用的文件操作命令 1 ls命令 xff1a 查看当前目录中的文件信息 ls span class token operator span a 查看所有文件列表 xff08 可查看隐藏文件 xff09 l
  • mysql行列转换

    一 行转列 建表语句 xff1a span class token keyword DROP span span class token keyword TABLE span span class token keyword IF span
  • Object Detection Api安装经测试后,出现“AlreadyExistsError: Another metric with the same name already exists.”

    在安装Object Detection Api后 xff0c 经过如下一行代码测试 xff1a span class token keyword from span object detection span class token pun
  • windows系统安装curl

    1 curl是什么 curl 是一种命令行工具 xff0c 作用是发出网络请求 xff0c 然后获取数据 xff0c 显示在 34 标准输出 34 xff08 stdout xff09 上面 安装教程 x1f447 xff1a 1 官网下载
  • 文件系统与LVM(mksf、mkswap、swapon、挂载、磁盘、UUID号)

    目录 mksfmkswapswapon挂载查看磁盘使用情况查看分区UUID号管理LVM逻辑卷 mksf 作用 创建文件系统 格式化 t 指定格式化文件类型 b 指定block大小 U 设置UUID号 mksf ext4 磁盘路径 格式化 m
  • 【踩坑记录】Slam-Gmapping建图失败--已解决

    目录 场景 仿真小车在Gazebo上进行Gmapping 步骤 xff1a 问题 xff1a 填坑过程 知识储备 解决办法 修改尝试 0 结论 0 odom由一个发布者发布 修改尝试 1 结论 1 odom信息由模型中的URDF决定 修改尝
  • 【踩坑记录】Gazebo启动慢,画面卡“Preparing your world”

    项目场景 xff1a ros kinetic 问题描述 xff1a 启动gazebo慢 xff0c 卡顿 xff0c 一直停留在Preparing your world的界面上 原因分析 xff1a gazebo在启动时需要将模型仿真出来
  • 【踩坑笔记】Linux系统无法启动,拷贝备份文件

    问题描述 xff1a Linux系统中安装输入法后 xff0c 重启后 xff0c 导致系统无法进入 xff0c 进入 recovery mode下的resume 也启动不了 xff0c 所以决定将需要的东西复制到U盘 解决方案 xff1a
  • FreeRTOS-任务基础知识

    xff08 一 xff09 多任务系统 1 单任务系统 在使用C51系列 STM32等单片机进行裸机编程时 xff0c 大都在main函数中写一个while或者for死循环函数 xff0c 用来无限轮询任务函数 很多时候会加入硬件中断来完成
  • 飞行控制全数字仿真

    在simulink中搭建飞行控制系统 基础工具是Aerospace Blockset模块 xff0c 该模块是集成的航天航空工具箱 xff0c 这个工具箱包含了在航空航天领域常用的需要模块 xff0c 共12个模块组 全数字仿真系统共由9大
  • VINS-FUSION代码解读【1】——程序入口

    VINS FUSION代码解读 1 程序入口 本人基础不太扎实所以会把代码注释的比较详细 xff0c 也会适当添加对应知识点的解读 vins fusion不像mono那样有三个node xff0c 它只有一个node xff0c 在rosN
  • Ubuntu18.04安装realsense包

    添加Keys span class token function sudo span apt key adv keyserver hkp keyserver ubuntu com 80 recv key C8B3A55A6F3EFCDE 添
  • 正则表达式中的?=、?<=

    大家好 xff0c 我是小梅 xff0c 公众号 xff1a 小梅的前端之路 原创作者 作为在前端领域不断探索的一员 xff0c 在此记录开发中遇到的问题 xff0c 如果你也遇到了相同的问题 xff0c 希望本文对你有帮助 每次写看到这些
  • unexpected error reading Dockerfile: read。。。。。: is a directory

    问题描述 xff1a 我是在dockerfile 文件中有这么一行 xff0c 进行时区的设置 RUN span class token function cp span span class token operator span usr
  • ToB和ToC的区别

    添加链接描述
  • pip3安装numpy报错

    pip3 安装numpy报错 pip3 install i https pypi doubanio com simple trusted host pypi doubanio com numpy 报错如下 xff1a Command 34
  • 2019-10-12 线性最小方差估计和正交定理

    目录 参数估计方法线性最小方差估计正交定理物理意义 很多东西再看第二遍的时候 xff0c 都有一种恍然大悟的感觉 参数估计方法 现代控制理论中往往要通过观测值对系统内部结构参数进行估计 xff0c 类似于我们常用的线性最小二乘法 xff0c

随机推荐