Datawhale X 南瓜书 task01学习笔记

news2024/9/25 0:59:05

机器学习三观

机器学习工程领先理论

what:什么是机器学习?

  • 机器学习定义:研究关于“学习算法”(一类能从数据中学习出其背后潜在规律的算法)的一门学科
  • PS:深度学习指的是:神经网络那一类学习算法,因此是机器学习的子集
  • 把深度学习单列出来的原因:机器学习演变到现在,神经网络算法的效果是最好的,机器学习的其他算法能做的事,神经网络也能做,所以就把深度学习单列出来了

why:为什么要学习机器学习?

  • 从事机器学习理论的研究:研究新的算法,神经网络和深度学习的可解释性
  • 从事机器学习系统的开发

(以上2种情况比较偏基础和底层)

  • 将机器学习中的算法迁移应用到自己的研究领域
  • 从事AI应用方向的研究:自然语言处理(NLP):eg:chatGPT;计算机视觉(CV):eg: 人脸识别,目标检测;推荐系统等

how:怎样学机器学习?

  • 从事纯机器学习理论的研究:
  • 本课程讲的所有内容都要听懂
  • 进一步可阅读周志华老师的《机器学习理论导引》
  • 机器学习还很年轻,当前正处于工程领先理论阶段,还有很多未解之谜
  • 从事机器学习系统的开发:在跑算法的系统框架中选算法,训练模型,然后部署
  • 进阶学习:https://ucbrise.github.io/cs294-ai-sys-sp22https://openmlsys.github.io
  • 将机器学习中的算法迁移应用到自己的研究领域
  • 从事AI应用方向的研究:
  • 自然语言处理(NLP)、
  • 计算机视觉(CV)、
  • 推荐系统等。

    机器学习引入

  • 假设空间:假设=》函数,则假设空间=》函数空间 
  • 假设的表示一旦确定,假设空间及其规模大小就确定了

  • 由此可知,假设空间>版本空间(因为版本空间是能拟合训练集的假设所构成的空间)

基本术语 

  • 算法“概念:从数据中学得“模型"的具体方法,例如后续章节中将会讲述的线性回归、对决策树等
  • 算法和模型的关系:“算法“产出的结果称为“模型",通常是具体的函数或者可抽象地看作为函数,例如一元线性回归算法产出的模型節为形如f(x)= ux +b的一元一次函数。
  • 不过由于严格区分这两者的意义不大,因此多数文献和资料会将其混用,当遇到这两个概念时,其具体指代根据上下文判断即可。
  • 样本(“示例”)概念:是关于一个事件或对象的描述。eg:一个“色泽青绿,根蒂蜷缩,敲声清脆“的西瓜用向量来表示即为:  x=(青绿;蜷缩;清脆),(ps:向量x的每一位含义:x=(x1,x2,x3)x1:色泽, x2: 根蒂,x3:敲声
  • 任何一个对象或者事件都可以用向量表示
  • 只要给的特征够多就能描述一个样本,所以在训练模型的时候
  • “特征“(“属性”)概念:向量(也叫特征向量)中的各个维度
  • 向量中的元素用分号" ; "分隔时表示此向量为列向量,用逗号" ,"分隔时表示为行向量
  • “特征工程':对特征做一些工作,eg:将人类语言描述的对象或者样本仅仅用数字描述,增加对象(样本)的特征:eg:在色泽青绿,根蒂蜷缩,敲声清脆基础上增加西瓜的种类,重量等。
  • 特征工程对不同的算法又不同的数值化,数值化保证能区分开来就行,具体取值多少无所谓
  • 特征工程的部分工作是跟算法绑定的,不同的算法,特征工程的处理方式不同
  • 标记概念:机器学习的本质就是在学习样本在某个方面的表现是否存在潜在的规律
  • 标记通常也看作为样本的一部分,因此,一个完整的样本通常表示为(x,y)一条西瓜样本:x=(青绿;蜷缩;清脆),y=好瓜  ;  一条房价样本:=(1所),y=1万/m2(标记就是你希望学习的规律,eg:图像识别:是不是人脸就是一种标记
  • 样本空间(“输入空间“)(“属性空间"):由于样本采用的是标明各个特征取值的"特征向量“来进行表示,根据线性代数的知识可知,有向量便会有向量所在的空间,因此称表示样本的特征向量所在的空间为样本空间,通常用花式大写X表示
  • 标记空间(输出空间)概念:标记所在的空间,数学表示为花式大写的y
  • 根据标记的取值类型不同,可将机器学习任务分为以下两类:
  • 分类:当标记取值为离散型时,称此类任务为"分类"。例如学习西瓜是好瓜还是坏瓜、
  • “分类”的类型
  1. “二分类”:当分类的类别只有两个时,称此类任务为“二分类”  eg:习猫的图片是白猫还是黑猫等。,通常称其中一个为“正类",另一个为“反类“或“负类”;
  2. “多分类":当分类的类别超过两个时,称此类任务为“多分类"。由于标记也属于样本的一部分,通常也需要参与运算,因此也需要将其数值化,例如对于二分类任务,通常将正类记为1,反类记为0,即)={0,1}。这只是一般默认的做法,具体标记该如何数值化可根据具体机器学习算法进行相应地调整,例如第6章的支持向量机算法则采用的是={-1,+1)
  • “回归":当标记取值为连续型时,称此类任务为“回归’,例如学习预测西瓜的成熟度、学习预测未来的房价等。由于是连续型,因此标记的所有可能取值无法直接罗列,通常只有取值范围,回归任务的标记取值范围通常是整个实数域R,即y=R。
  • 数据集:数据集通常用集合来表示,令集合D ={1,2,...,m}表示包含m个样本的数据集,一般同一份数据集中的每个样本都含有相同个数的特征,假设此数据集中的每个样本都含有d个特征,则第个样本的数学表示为d维向量Cil;i2;...;wid)其中;;表示样本必;在第j个属性上的取值。
  • 模型:机器学习的一般流程如下:首先收集若干样本(假设此时有100个),然后将其分为训练样本(80个)和测试样本(20个),其中80个训练样本构成的集合称为“训练集",20个测试样本构成的集合称为“测试集",接着选用某个机器学习算法,让其在训练集上进行“学习”(或称为“训练”),然后产出得到“模型”(或称为“学习器”),最后用测试集来测试模型的效果。
  • 真相(真实):执行以上模型的流程时,表示我们已经默认样本的背后是存在某种潜在的规律,我们称这种潜在的规律为“真相“或者"真实”,例如样本是一堆好西瓜和坏西瓜时,我们默认的便是好西瓜和坏西瓜背后必然存在某种规律能将其区分开。
  • 假设概念:当我们应用某个机器学习算法来学习时,产出得到的模型便是该算法所找到的它自己认为的规律,由于该规律通常并不一定就是所谓的真相,所以也将其称为“假设"。
  • 通常机器学习算法都有可配置的参数,同一个机器学习算法,使用不同的参数配置或者不同的训练集,训练得到的模型通常都不同。
  • 泛化概念:由于机器学习的目标是根据已知来对未知做出尽可能准确的判断,因此对未知事物判断的准确与否才是衡量一个模型好坏的关键,我们称此为“泛化"能力。
  • 分布概念:此处的"分布“指的是概率论中的概率分布,通常假设样本空间服从一个未知“分布”D,而我们收集到的每个样本都是独立地从该分布中采样得到,即“独立同分布"。通常收集到的样本越多,越能从样本中反推出D的信息,即越接近真相。
  • 归纳偏好:当在“房价预测“的例子中,当选用一元线性回归算法时,!学得的模型是一元一次函数,选用多项式回归算法时,学得的模型是一元二次函数,所以不同的机器学习算法有不同的偏好,我们称为“归纳偏好"。对于当前房价预测这个例子来说,这两个算法学得的模型哪个更好呢?著名的"奥卡姆到“简单”便见仁见刀“原则认为“若有多个假设与观察一致,则选最简单的那个",但是何为智了,如果认为函数的幂次越低越简单,则此时一元线性回归算法更好如果认为幂次越高越简单,则此时多项式回归算法更好,因此该方法其实并不“简单”,所以并不常用,而最常用的方法则是基于模型在测试集上的表现来评判模型之间的优劣。=》模型好不好看测试集的效果。
  • 例如在房价预测问题中,通常会额外留有部分未参与模型训练的数据来对模型进行测试。假设此时额外留有1条数据:(年份:2022年;学校数量:3所;房价:7万/m2)用于测试,模型y= 3x<2的预测结果为3*3-2=7,预测疋确,模型y= æ”的预测结果为3’=9,预测误,因此,在当前房价预测问题上,我们认为一元线性回归算法优于多项式画归算法。机器学习算法之间没有绝对的优劣之分,只有是否适合当前待解决的问题之分,例如上述测试集中的数据如果改为(年份:2022年;学校数量:3所;房价:9万/m2)则结论便逆转为多项式回归算法优于一元线性回归算法。
  • 没有免费的午餐定理(NFL):众算法生而平等(详细推导参见南瓜书)
  • 实际应用:哪个算法训出来的模型在测试集上表现好哪个算法就nb
  • 数据决定模型效果的上限:其中数据是指从数据量和特征工程两个角度考虑。从数据量的角度来说,通常数据量越大模型效果越好,因为数据量大即表示累计的经验多,因此模型学习到的经验也多,自然表现效果越好。例如以上举例中如果训练集中含有相同颜色但根蒂不蜷缩的坏瓜,模型a学到真相的概率则也会增大;从特征工程的角度来说,通常对特征数值化越合理,特征收集越全越细致,模型效果通常越好,因为此时模型更易学得样本之间潜在的规律。例如学习区分亚洲人和非洲人时,此时样本即为人,在进行特征工程时,如果收集到每个样本的肤色特征,则其他特征例如年龄、身高和体重等便可省略,因为只需靠肤色这一个特征就足以区分亚洲人和非洲人。
  • 算法则是让模型无限逼近上限:是指当数据相关的工作已准备充分时,接下来便可用各种可适用的算法从数据中学习其潜在的规律进而得到模型,不同的算法学习得到的模型效果自然有高低之分,效果越好则越逼近上限,即逼近真相。
  • 无论是分类还是回归,机器学习算法最终学得的模型都可以抽象地看作为以样本x为自变量,标记y为因变量的函数y= f(x),即一个从输入空间x到输出空间y的映射。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2161957.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux网络命令:用于请求和配置网络地址的命令dhclient详解

目录 一、概述 二、功能描述 三、基本使用 1. 命令格式 2. 常用选项 3. 获取帮助 ​编辑 4. 基本操作 四、工作原理 1. 发送DHCP请求 2. 接收DHCP响应 3. 请求IP地址 4. 确认IP地址 5. 配置网络接口 五、功能特点 六、配置文件 七、常用命令和示例 1、启动…

spring boot项目对接人大金仓

先确认一下依赖 第一 是否引入了mybatis-plus多数据源&#xff0c;如果引入了请将版本保持在3.5.0以上 <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>${dynam…

自闭症寄宿学校陕西:提供综合发展的教育环境

星贝育园&#xff1a;自闭症儿童的综合发展摇篮 在自闭症儿童教育的广阔领域里&#xff0c;寄宿制学校以其独特的康复环境和全方位的支持体系&#xff0c;为这些特殊的孩子点亮了希望之灯。广州的星贝育园自闭症儿童寄宿制学校&#xff0c;正是这样一所充满爱心与专业的机构&a…

【软件测试】详解测试中常用的几种测试方法

目录 一、集成测试二、 系统测试三、验收测试四、回归测试 总结 一、集成测试 术语 集成测试是继组件测试之后的又一个层次。集成测试假定交给这个层次的测试对象已经经过了组件测试&#xff0c;并且任何组件内部的缺陷都已经尽可能地被纠正。 集成 开发人员、测试人员和专…

R包:ggspatial空间画图

ggplot2语法的空间图形画图 Spatial data plus the power of the ggplot2 framework means easier mapping. 加载R包 # install.packages("ggspatial")library(ggplot2) library(ggspatial) load_longlake_data()Using layer_spatial() and annotation_spatial() g…

香港品牌JEWELRIESHOP发起商标维权,尚未TRO,跨境卖家注意排查

案件基本情况&#xff1a;起诉时间&#xff1a;2024-9-6案件号&#xff1a;2024-cv-08146品牌&#xff1a;JEWELRIESHOP原告&#xff1a;Chung Ting Yu原告律所&#xff1a;Ford Banister LLC起诉地&#xff1a;伊利诺伊州北部法院涉案商标/版权&#xff1a;原告品牌简介&#…

【触想智能】工业显示器在智慧城市中的应用市场分析

随着智能技术的快速发展和智慧城市的不断兴起&#xff0c;工业显示器作为智慧城市基础设施的重要组成部分&#xff0c;正逐渐成为市场热点。 触想工业显示器TPC-M200系列 工业显示器不仅在监控、交通、能源等领域有着广泛应用&#xff0c;还在提升智慧城市管理和运营效率方面发…

【前端】前端高级与前端全家桶——学的更深更广一点!

工作太卷了要加油呀&#xff01; 今天首次参加宣讲会&#xff0c;华测导航的&#xff0c;1/300&#xff0c;太可怕了 What can I do for your company? 前端&#xff0c; 更深一点&#xff08;JS、算法、底层原理、手写&#xff09; 当谈及前端开发的学习深度时&#xff0…

WRFDA保姆级安装教程

文章目录 前言基础环境准备Ubuntu20.04子系统安装WSL功能开启与Ubuntu子系统下载Ubuntu用户创建 Ubuntu 20.04 更换国内镜像 相关库及WRFDA安装检验和安装基础包WRF基础环境测试编译器基础环境测试基础库安装zlib安装hdf5安装netcdf4-c 安装netcdf-fortran安装mpich安装安装lib…

CSP-S 2024 提高级 第一轮(初赛) 阅读程序(1)

【题目】 CSP-S 2024 提高级 第一轮&#xff08;初赛&#xff09; 阅读程序&#xff08;1&#xff09; 1 #include <iostream> 2 using namespace std; 3 4 const int N 1000; 5 int c[N]; 6 7 int logic(int x, int y) { 8 return (x & y) ^ ((x ^ y)…

【资源三号卫星】

资源三号卫星 资源三号卫星&#xff08;ZY-3&#xff09;&#xff0c;作为中国第一颗民用高分辨率光学传输型测绘卫星&#xff0c;于2012年1月9日成功发射&#xff0c;正式拉开了我国在高分辨率对地观测领域自主发展的序幕。以下是对资源三号卫星的详细介绍&#xff1a; 基本…

从Servlet+JSP+JDBC到MyBatis:重构用户CRUD操作的高效之旅

前言 原生的JDBC&#xff1a; 原生的JDBC操作数据库&#xff0c;书写较为繁琐&#xff0c;降低开发效率。JDBC的局限性&#xff08;如代码冗余、SQL语句与Java代码紧密耦合、难以维护等&#xff09;。 相比于JDBC&#xff0c;Mybatis的优势&#xff1a; SQL与Java代码的分离、强…

2-102基于matlab的蒙特卡洛仿真

基于matlab的蒙特卡洛仿真&#xff0c;对64QAM和BPSK进行蒙特卡洛仿真&#xff0c;并绘出误码率曲线。程序已调通&#xff0c;可直接运行。 下载源程序请点链接&#xff1a; 2-102基于matlab的蒙特卡洛仿真

初探shell与bash使用指南

文章目录 一、shell二、bash第一步、新建脚本第二步、添加权限第三步、执行bash脚本 在日常开发中&#xff0c;经常使用到Linux服务器相关知识&#xff0c;输入命令获取想要的结果&#xff0c;本篇介绍shell 与 bash的相关知识。 一、shell 是命令行解释器&#xff0c;接收用户…

云岚到家 第一天实战总结

为什么使用post发送请求&#xff0c;参数依旧会被拼接带url上呢&#xff1f;这应该就是param 与data传参的区别。即param传参数参数会被拼接到url后&#xff0c;data会以请求体传递 不一定post发送请求&#xff0c;数据一定在请求体中&#xff0c;主要是看数据的格式。 后端c…

Makefile的写法以及gdb调试的使用方法

all:main # 一般makefile中的第一个目标都是all:可执行文件 # 为了保证&#xff0c;最后Makefile文件执行后一定会生成一个可执行文件main:main.o add.o gcc main.o add.o -o main main.o:main.cgcc -c main.c -o main.o add.o:add.cgcc -c add.c -o add.oclean: …

无人机之4G模块的主要功能和优势

一、增强图传 在无人机飞行过程中&#xff0c;传统的图传方式可能会受到信号遮挡或干扰的影响&#xff0c;导致图像传输不稳定甚至中断。而4G模块通过结合4G网络技术&#xff0c;能够在原有图传技术的基础上提供增强的图传功能。当传统图传信号不佳时&#xff0c;无人机可以自动…

MySQL 缓冲池管理与常见优化技巧

在 MySQL 数据库的性能优化中&#xff0c;缓冲池的管理至关重要。同时&#xff0c;了解其他常见的优化技巧也能极大地提升数据库的运行效率。今天&#xff0c;我们就来深入探讨在 MySQL 中如何管理并调整缓冲池的大小&#xff0c;以及一些常见的优化技巧。 一、缓冲池的重要性…

ZBrush入门使用介绍——17、NanoMesh

大家好&#xff0c;我是阿赵。   继续介绍ZBrush的用法&#xff0c;这次看看NanoMesh 一、 NanoMesh介绍 之前介绍过ArrayMesh&#xff0c;ArrayMesh可以把一个模型复制很多份。不过ArrayMesh有一个问题&#xff0c;复制了很多个网格之后&#xff0c;很难针对某部分网格做调…

鸿蒙开发(NEXT/API 12)【基础功能(Function Flow Runtime 开发)】任务并发调度

场景介绍 Function Flow编程模型是一种基于任务和数据驱动的并发编程模型&#xff0c;允许开发者通过任务及其依赖关系描述的方式进行应用开发。FFRT&#xff08;Function Flow运行时&#xff09;是支持Function Flow编程模型的软件运行时库&#xff0c;用于调度执行开发者基于…