【学习笔记】Day 20

一、进度概述

        1、机器学习常识12-18,以及相关代码复现

二、详情

12、SVM(support vector machines,支持向量机)

        实际上,支持向量机是一种二分类模型,它将实例的特征向量映射为空间中的一些点,SVM 的目的就是想要画出一条线,以 “最好地” 区分这两类点,以至如果以后有了新的点,这条线也能做出很好的分类。
        关于例子与基本方案的说明,这篇文章所提及的例题有助于理解:
机器学习常识 12: SVM_svm数据线性分类图-CSDN博客
        需要注意的是,对于上一个链接中的基本方案,表明了 SVM 的核心思想就是最大间隔化。
        关于核函数,其使用动机可能如下:

        映射可以看作是一种拉伸,把低维数据拉伸到了高维。虽然现在我们到了高维空间号称线性可分,但是有几个困难:

  • 不知道什么样的映射函数是完美的。
  • 难以在各种映射函数中找到一个合适的。
  • 高维空间计算量比较大。这样就会产生维灾难,计算内积是不现实的。

        幸运的是,在计算中发现,我们需要的只是两个向量在新的映射空间中的内积结果,而映射函数到底是怎么样的其实并不需要知道。于是这样就引入了核函数的概念。
核函数事先在低维上计算,而将实质上的分类效果表现在了高维上,也就是

  • 包含映射,内积,相似度的逻辑。
  • 消除掉把低维向量往高维映射的过程。
  • 避免了直接在高维空间内的复杂计算。

        即核函数除了能够完成特征映射,而且还能把特征映射之后的内积结果直接返回。即把高维空间得内积运算转化为低维空间的核函数计算。

        核函数相当于一种映射,可以将原本不可线性分割的数据转化到另一个维度,实现线性分割(如典型的圆分布)。上文链接中提到的那个不忍直视的例子,虽然很不忍直视,但确实挺生动形象的。
        对于软间隔,可以理解为针对极端数据的一种处理方法,如下文中那个跑到红点中去的蓝点,具体介绍如下:
SVM学习笔记(二)——软间隔(soft-margin)_soft-margin linear svm-CSDN博客
        关于代码实现,参考了以下文章中鸢尾花的实战:
        机器学习之支持向量机(SVM)-CSDN博客

13、PCA(principal component analysis, 主成分分析)

        这个在线性回归分析中有讲过,现回去复习复习,同时也给出几个讲的挺好的文章链接。
        降维算法之PCA:从原理到应用,8000多字,助你彻底理解!_pca降维-CSDN博客
        PCA(主成分分析方法)-CSDN博客
        其实 PCA 的数学基础十分厚实,但是在数据处理中一般只是用于预处理。
        从数学角度来讲这是因为(1)主成分各个特征维度的含义具有一定的模糊性,不如原始样本特征的解释性强。(2)方差小的非主成分也可能含有对样本差异的重要信息,因降维丢弃可能对后续数据处理有影响。
        对于机器学习的角度,则是 PCA 是一个无监督模型,不一定适用于有监督数据。
        这里关于特征选择和特征提取的例子中就能感受到一定程度上的缺陷。

        特征选择是指从已有的特征里面选择出一个子集. 例如: 身高、体重、性别、年龄、体温、血相等等, 如果要一个人是否患流感,身高、体重等不但没有作用, 反而还会让分类器效果变差. 回头想想  kNN, 在计算距离时考虑一些不相关的特征, 会使得相似的样本变得不相似.
        特征提取则是指从已有特征中生成新的特征. 例如: 人们常说自己有多重, 然后表达想减肥的意愿. 但这种想法是错误的, 应该从身高和体重计算 BMI, 以此确定自己是否偏胖. 这里 “从计算 BMI”, 就是一个特征提取的过程.
        总的来说, 特征选择相对简单, 而特征提取有很大的相像空间. 后面将会介绍的神经网络, 其最本质的任务就是特征提取.

14、半监督学习

        基本概念
        (1)监督学习: 训练数据都有标签, 相应的任务为分类、回归等.
        (2)无监督学习:训练数据都没有标签, 相应的任务为聚类、特征提取 (如 PCA) 等.
        (3)半监督学习:部分训练数据没有标签, 相应任务与监督学习一致.
        从三者的关系可以看出, 半监督学习是从监督学习与无监督学习自然推导出来的.
        对于学习场景的理解,除了文中举得十分形象的例子外,以下链接中的讲解也十分不错。

半监督学习的一大意义在于, 它导出了学习场景这个概念.

  • 上午来了 100 个就诊者, 主治医生啥也没说, 实习生自悟, 把他们分成几个簇, 并且无法解释每簇的语义 (是否患病之类), 这是无监督学习场景中的聚类问题.
  • 上午来了 100 个就诊者, 主治医生对每个人判断, 哪些患流感 (正例), 哪些没有 (负例). 实习生学习到流感的诊断方法. 下午来了新的就诊者, 实习生对他们进行诊断. 这是监督学习场景中的二分类问题.
  • 上午来了 100 个就诊者, 主治医生对其中的 40 个人判断, 哪些患流感 (正例), 哪些没有 (负例). 实习生对剩下的 60 人进行诊断. 这是封闭世界半监督学习场景中的二分类问题.
  • 上午来了 100 个就诊者, 主治医生对其中的 40 个人判断, 哪些患流感 (正例), 哪些没有 (负例). 下午来了新的就诊者, 实习生对他们进行诊断. 这是开放世界半监督学习场景中的二分类问题.

        关于学习场景的理论讲解:机器学习:监督学习、无监督学习、半监督学习、强化学习-CSDN博客
        关于常见半监督学习模型的讲解:一文看遍半监督学习模型(Semi-Supervised Learning)_effective self-training for parsing-CSDN博客

15、主动学习

        主动学习的提出,其关键是如何更低成本的获得更多高质量的标签。

        机器学习主要研究计算机如何利用经验数据提高自身性能。在监督学习中,数据的质量和数量直接决定模型的性能高低,监督学习不仅要求数据全部是标记好的,并且需要大量的数据,然而人工标注大量数据需要耗费巨大的时间和精力,一个更合理的方案是挑选一部分数据进行标注,这就要提到机器学习中的主动学习。

        实际上,不同数据样本对于学习模型的贡献度不一样,过多的低质量数据反而会降低模型的鲁棒性,如果我们能够选取一部分最有价值的数据进行标注,就有可能仅基于少量数据就能获得同样高效的模型。实现这一目标的关键在于,如何选择出最有价值的数据样本并去获取它们的标记信息。

        主动学习地目的是通过标记少量的数据训练处表现较好的模型。其核心任务是制定选择样本的标准,从而选择尽可能少的样本进行标注来选出一个好的学习模型。

        关于主动学习更细节上的讲解,可以参考这几篇文章:
        超详细的主动学习Active Learning介绍【理论+代码】-CSDN博客
        主动学习(Active Learning)概述及最新研究
        从主动学习的提出我们可以发现,其核心问题在于 “哪些样本的标签更有价值?”

  • 代表性强的样本. 把数据进行聚类, 聚类中心的样本具有良好的代表性. 其它样本很可能与它有相同的标签. 用这种思想可以设计出"基于聚类的主动学习方法".
  • 不确定性强的样本. 有些样本有墙头草的潜质, 难于界定正负. 如果知道它们的标签, 就可以使用 SVM 进行分类, 相应地, 这次样本可能成为支撑向量 (support vector). 

16、代价敏感学习

        引入代价敏感学习,其意义在于使得模型与现实更加相符合。

代价是基础数据, 与应用有紧密联系.

  • 测试代价. 很多数据不是免费的, 如体检时, 测血常规花 20 2020 元, 心电图花 15 1515 元, B 超花 200 200200 元. 这些代价被称为测试代价 (test cost).
  • 标记代价. 在主动学习场景下, 请专家给数据打标签需要付钱, 如每个标签花费 100 元. 这被称为标记代价 (label cost).
  • 误分类代价. 将患有流感的病人叫回家, 医院要赔偿 10 , 000 10,00010,000 元, 即 c (FN) = 10 , 000 c(FN) = 10,000c(FN)=10,000; 将没有流感的就诊者留着住院治疗, 医院要赔偿 500 500500 元, 即 c (FP) = 500 c(FP) = 500c(FP)=500. 相应地, 可以给出一个误分类代价矩阵.
  • 延迟代价. 不清楚就诊者是否患病, 让其留院观察, 就诊者的误工开销为 200 200200 元.

        对于代价敏感学习,需要注意的两点是:

  • 代价作为基础数据, 都应该事先给出, 要么专家给出, 要么制度给出. 它们必须是输入, 而绝不会是输出 (被机器学习出来). 这是常识.
  • 代价敏感学习的优化目标必须由代价定义, 而不应该是准确率之类.

        同时也补充关于代价敏感错误率的相关知识:误分类代价与类不均衡数据-CSDN博客
        这个例子在线性回归分析中着重讲过好几次,其实第一二类错误有着其在具体问题下的现实意义,在考虑实际中的预测时是需要考虑到这点的。

17、多标签学习

        多标签在我们的生活中是十分常见的,最典型的包括影视作品的分类(比如科幻、动作等)。多标签学习所主要应对的问题有以下三种:

  • 标签相关性. 例如, 从训练数据看, 有猫和狗的时候, 多半也有老鼠. 根据这种规律就可以把一些图片中不明显的老鼠找出来. 如何有效利用标签相关性, 是多标签学习的核心问题.
  • 标签稀疏性. 共有 100 种可能的动物, 但每张图片里一般只出现 1–5 种, 或者某些动物仅在少于 10 张图片里出现. 在极限多标签中, 标签稀疏性可能低于 1 % 1\%1%.
  • 数据稀疏性. 数据的多个属性值为空, 或者无效. 在极限多标签中很严重.

        对于多标签学习理论上的学习,可以参考这三篇文章:
        多标签学习之白话版_跨标签学习-CSDN博客
        多标签学习之数学语言版_arg min∥y xw∥2 + λ∥w∥1, 1维向量-CSDN博客
        论文笔记:多标签学习综述(A review on multi-label learning algorithms) - PilgrimHui - 博客园 (cnblogs.com)
        对于常见的多标签学习模型,可以参考以下文章:
        多标记学习(大大杂烩,有点乱)_多标签学习-CSDN博客

18、多示例学习

        与多标签学习类似, 多示例学习从数据的角度进行概念的扩展.
        一个数据集由若干包 (bag) 组成, 每个包有若干示例 (即样本、对象, sample). 如果某个包中含有至少一个正样本, 则它为正包, 否则为负包.
        感性上理解有点像逆向的聚类算法,不知道对不对。
        对于这个正包的理解,这篇文章给的两个例子还比较形象:多示例学习(Multiple Instance Learning)-CSDN博客
        常见方案如下:

  • 包映射. 将一个包映射为一个对象.
  • 新的距离计算方式. 两个包的距离可以定义为:
    • 最近点对的距离;
    • 最远点对的距离;
    • 包重心之间的距离.

        最后,这里再给出进一步了解多示例学习的一些参考:多示例学习 (multi-instance learning, MIL) 学习路线 (归类、重点文章列举、持续更新)_mil领域 llm-CSDN博客


后记

        在完成今天的学习任务后,有一个挺大的感触是,机器学习其实是比较依赖统计学的。对于很多学习,从数学原理上的分析,个人认为这其实与线性回归分析中讲过的挺多概念重合了。统计学更着重于如何从数学上去实现,而机器学习则是着重于如何把这个人工的任务交给机器,从而更高效的获得更准确的信息。

        还需要注意的一点是,实际上对每个概念的理解还是很有限的,很多东西由于能力的不足,还停留在表面(甚至连深一点的问题都提不出来,这是比较致命的),在后续需要补足相关训练来加深理解。

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

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

相关文章

如何将CSDN文章导出为pdf文件

第一步: 打开想要导出的页面,空白处点击鼠标右键⇒点击“检查”或“check”,或直接在页面按F12键。 第二步: 复制以下代码粘贴到控制台,并按回车。 若提示让输入“允许粘贴”或“allow pasting”,按提示…

百度地图路书实现历史轨迹回放、轨迹回放进度、聚合点、自定义弹框和实时监控视频、多路视频轮巡播放

前言 分享一个刚做完项目集成技术,一个车辆行驶轨迹监控、行车视频监控、对特种车辆安全监管平台,今年政府单位有很多监管平台项目,例如:渣土车监控、租出车监管、危害气体运输车监管等平台,这些平台都有车辆行驶轨迹…

Linux基础知识学习(五)

1. 用户组管理 每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理(开发、测试、运维、root)。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户…

QT聊天室基于Tcp

server.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget),server(new QTcpServer(this)) // 给服务器指针对象实例化空间{ui->setupUi(this); }Widget::~Widget() {delete ui; }…

音频采集spring_ws_webrtc (html采集麦克风转gb711并发送广播播放)完整案例

下载地址:http://www.gxcode.top/code 项目说明 springbootwebscoektwebrtc 项目通过前端webrtc采集麦克风声音,通过websocket发送后台,然后处理成g711-alaw字节数据发生给广播UDP并播放。 后台处理项目使用线程池(5个线程)接受webrtc数据并…

mac如何恢复被同名替换掉的文件夹 mac文件被替换如何恢复

Mac系统一直以高性能遥遥领先其他的Windows系统,因此,Mac虽然价格远远高出其他的笔记本电脑,但是还是受到了一众用户的青睐。使用mac时,我们也经常会将一个文件命名为已经有了相同文件的文件名,且保存到同一个目标地址…

MATLAB-PSO-BiTCN-BiLSTM-Attention多变量分类

一、数据集 数据特征:12个多分类:4分类 ​ 二、PSO-BiTCN-BiLSTM-Attention网络 PSO-BiTCN-BiLSTM-Attention 网络是一种结合了多种深度学习技术和优化算法的复杂模型,用于处理时序数据任务,如时间序列预测、分类或其他相关问题…

【Linux】——进程概念(万字解读)

一 冯诺依曼体系结构 在此之前,我们先要理解我们计算机的冯诺依曼体系结构,因为是进程的基础 我们所有的操作其实都是基于这样一个模型,比如你在qq上,和别人发送消息,这个消息肯定是先通过输入设备进行输入&#xf…

一个注解轻松搞定审计日志服务!

【审计日志】,简单的说就是系统需要记录谁,在什么时间,对什么数据,做了什么样的更改!任何一个 IT 系统,如果要过审,这项任务基本上也是必审项! 实现【审计日志】这个需求&#xff0…

整体思想以及取模

前言&#xff1a;一开始由于失误&#xff0c;误以为分数相加取模不能&#xff0c;但是其实是可以取模的 这个题目如果按照一般方法&#xff0c;到达每个节点再进行概率统计&#xff0c;但是不知道为什么只过了百分之十五的测试集 题目地址 附上没过关的代码 #include<bits…

联想闪电鲨移动硬盘文件没删除却消失了怎么办

在日常的数据存储与管理中&#xff0c;移动硬盘作为便携且容量可观的存储设备&#xff0c;深受用户青睐。然而&#xff0c;当您发现联想闪电鲨移动硬盘中的文件突然消失&#xff0c;而您确信并未进行删除操作时&#xff0c;这无疑会令人感到困惑与焦虑。本文旨在为您揭开这一谜…

vue-element-admin——<keep-alive>不符合预期缓存的原因

vue-element-admin——<keep-alive>不符合预期缓存的原因 本文章&#xff0c;以现在中后台开发用的非常多的开源项目vue-element-admin为案例。首先&#xff0c;列出官方文档与缓存<keep-alive>相关的链接&#xff08;请认真阅读&#xff0c;出现缓存<keep-ali…

在IEDA里打包Maven项目记录

之前在网上查找到的方式发现比较繁琐&#xff0c;所以把自己的解决办法记录一下分享给兄弟们 <plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.2.4</vers…

集合及数据结构第一节————初识集合框架和数据结构

系列文章目录 集合及数据结构第一节————初识集合框架和数据结构 初始集合框架和数据结构 什么是集合框架&#xff1f;集合框架的重要性背后所涉及的数据结构以及算法数据结构的基本概念和术语逻辑结构和物理结构数据类型 文章目录 系列文章目录集合及数据结构第一节——…

文件的读写(标准库函数与系统调用函数),文件描述符的复制

文件描述符 为了解决内核对象在可访问性与安全”性之间的矛盾&#xff0c;Unix系统通过所谓的文件描述符&#xff0c;将位于内核空间中的文件表项间接地提供给运行于用户空间中的程序代码。为了便于管理在系统中运行的各个进程&#xff0c;内核会维护一张存有各进程信息的列表&…

C++智能指针配合STL模板类

代码 #include <unordered_map> #include <set> #include <memory> class ResID { public:using SP std::shared_ptr<ResID>;ResID() default;ResID(const std::string& id, const std::string& type): m_id(id), m_type(type){}public:~Re…

HoloLens 坐标系统 Coordinate systems

Hololens 和 Unity 空间坐标系统-CSDN博客文章浏览阅读79次。这意味着&#xff0c;在 X、Y 或 Z 轴上相距 2 个单位的物体&#xff0c;在混合现实中的渲染效果是相距 2 米。虽然左手坐标和右手坐标是最常见的系统&#xff0c;但 3D 软件中也会使用其他坐标系。例如&#xff0c;…

Veritas NBU8.3.0.2 安装部署环境备份实施介绍(篇一)

1、本次有两台NBU服务器&#xff0c;都是Windows Server 2016 Standard 2、一台作为Master Server角色&#xff0c;另外一台则作为Media Server角色 3、两台服务器均已加入域并关闭防火墙 4、后期备份客户端会有Linux和Windows系统&#xff0c;也会对接VCenter无代理备份虚拟…

xss靶场详解

目录 1.第一题 2.第二题 3.第三题 4.第四题 5.第五题 6.第六题 7.第七题 8.第八题 1.第一题 在源码script标签里边&#xff0c;innerhtml是用于访问或修改 HTML 元素内的 HTML 内容的&#xff0c;这里是访问spaghet这个元素的&#xff0c;并通过括号里面的东西搜索当前…

图搜v1.1.3 - 图库几千张图片再也不怕了

图搜是一款使用先进的自然语言处理技术的相册搜索助手&#xff0c;支持通过简单的描述来搜索相册中的图片&#xff0c;如“草丛中的猫”或“公园里的狗”。这款应用完全免费、无需内购&#xff0c;且完全离线使用&#xff0c;保证了用户数据的安全与私密性。它的高效索引系统确…