百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

机器学习中有哪些形式简单却很巧妙的 idea?

ztj100 2025-02-08 13:56 7 浏览 0 评论


来源:机器学习与大数据挖掘

本文约1600字,建议阅读5分钟

本文介绍了几种企业中简单而适用的算法。

1. 异常检查算法Isolation Forest(孤立森林)

作者:桔了个仔

https://www.zhihu.com/question/347847220/answer/836019446

原理超简单,但检测效果可以说是state of the art. 对一个空间进行二分,早划分「孤立」出来的就是很可能异常的。「孤立」指的是这一边只有这一个数据点。因为是二分,我们可以构建一颗二叉树。例如下图的一棵树,第一次二分,左边有数据的a,b,c,右边只有d,那么d大概率就是异常点。为啥?想想你画一条线,把一把米分成了两边,左边只有一粒,那左边那粒很可能是离其他米粒很远。

为了更直观,有更多一步了解,请看下图,直觉上我们就知道 [公式] 是普通点, [公式] 是异常点。那么用Isolation tree怎么解释呢?

如果要把xi孤立出来,需要很11次划线,而x0需要的次数要少很多。所以x0比xi更可能是异常点。一棵树不够可信?没事,记得随机森林random forest不?没错,这里也引进一堆树。如果多数的树都在前几次分割时分出同一个点,那么这个点是异常点的概率就非常高了。

可以看到,树的数量(横轴)超过10时,平均分割次数(纵轴)就收敛了。从这个图我们可以看出,某个点x0 被「孤立」前,平均分割次数低于5,那么x0就是异常点。

原理是不是超级简单呢。如果想了解更多数学上的原理,可以参考下面的参考文献。

参考文献:

https://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/icdm08b.pdf

2. word2vec

作者:苘郁蓁

https://www.zhihu.com/question/347847220/answer/881216785

2013年Mikolov的神作word2vec,目前两篇paper的引用量已经达到15669和12670了!这个工作属于nlp预训练和graph embedding的里程碑,而且思想还贼好理解。

word2vec的思想可以简单的归结为一句话:利用海量的文本序列,根据上下文单词预测目标单词共现的概率,让一个构造的网络向概率最大化优化,得到的参数矩阵就是单词的向量。

具体来说,对于Skip-Gram模型,就是给定句子中一个特定的词(input word),随机选它附近的一个词,网络的目标是预测选到这个附近词的概率。而对于CBOW模型则相反。而对于一个单词,先作one-hot,乘以参数矩阵,就得到了单词的向量表示,一图胜千言:

更加细致的negative sampling和hierarchical softmax都是针对训练问题的优化,但这一思想的本质就是很简单优雅。

举个简单的例子:词表大小为9的一段文本序列one-hot,乘以一个参数矩阵(蓝色部分),做均值pooling,乘以一个参数矩阵然后经过softmax层得到对应目标单词的概率向量(最后的红色部分),向量维度为词表大小,再根据ground truth反向传播优化参数矩阵,最后得到的就是类似图1的参数矩阵,列为词表大小9,行为词向量的维度4(注意:参数矩阵方向跟图1反过来了)。

word2vec在nlp领域的应用就不用说了,目前已经成为所有nlp模型的标配步骤。

更令我吃惊的是它在其他领域的遍地开花。这里整理一下最近几年在其他领域的embedding工作合集,全部是顶会!全部都有落地!就是这么简单粗暴而优雅!

3. 成分分析(Principal components analysis,PCA)

作者:Evan

https://www.zhihu.com/question/347847220/answer/871450361

4. Residual learning

作者:我爱吃三文鱼

https://www.zhihu.com/question/347847220/answer/854604632

Kaiming大神的Residual learning:

形式:y = f(x) + x

影响了后续的3万份研究工作。

5. SVM

作者:Cuute

https://www.zhihu.com/question/347847220/answer/874707947

我不知道svm的形式算不算简单,但是从图上来讲很直观。

这个小东西是上个世纪六七十年代就已经提出来的一个想法。通过不同类别分界的某些点来画出一个分割面,进而实现了分类。很像夹逼定理。

svm的精巧在于这个想法,是一个很自然的方法,不用数学光看图就能看出来的一个方法。并且能很自然的去发散。

比如说,图中的两个类别的边界极其明显,是一个线性的边界。但是一定会存在这样的两类点,不能在当前的平面上使用一个线性的分类来解决。那么如果这些点只是三维向二维平面的投影呢?

如果这两类点是有高度差的,那么是不是有可能还会找到一个分界面在三维空间进行分类?

三维找不到,那会不会是四维……

于是,我们引出了核方法。

最后,你觉得机器学习中有哪些形式简单却又很巧妙 idea?欢迎留言评论~

原文链接:

https://www.zhihu.com/question/347847220

编辑:王菁

校对:汪雨晴

相关推荐

利用navicat将postgresql转为mysql

导航"拿来主义"吃得亏自己动手,丰衣足食...

Navicat的详细教程「偷偷收藏」(navicatlite)

Navicat是一套快速、可靠并价格适宜的数据库管理工具,适用于三种平台:Windows、macOS及Linux。可以用来对本机或远程的MySQL、SQLServer、SQLite、...

Linux系统安装SQL Server数据库(linux安装数据库命令)

一、官方说明...

Navicat推出免费数据库管理软件Premium Lite

IT之家6月26日消息,Navicat推出一款免费的数据库管理开发工具——NavicatPremiumLite,针对入门级用户,支持基础的数据库管理和协同合作功能。▲Navicat...

Docker安装部署Oracle/Sql Server

一、Docker安装Oracle12cOracle简介...

Docker安装MS SQL Server并使用Navicat远程连接

...

Web性能的计算方式与优化方案(二)

通过前面《...

网络入侵检测系统之Suricata(十四)——匹配流程

其实规则的匹配流程和加载流程是强相关的,你如何组织规则那么就会采用该种数据结构去匹配,例如你用radixtree组织海量ip规则,那么匹配的时候也是采用bittest确定前缀节点,然后逐一左右子树...

使用deepseek写一个图片转换代码(deepnode处理图片)

写一个photoshop代码,要求:可以将文件夹里面的图片都处理成CMYK模式。软件版本:photoshop2022,然后生成的代码如下://Photoshop2022CMYK批量转换专业版脚...

AI助力AUTOCAD,生成LSP插件(ai里面cad插件怎么使用)

以下是用AI生成的,用AUTOLISP语言编写的cad插件,分享给大家:一、将单线偏移为双线;;;;;;;;;;;;;;;;;;;;;;单线变双线...

Core Audio音频基础概述(core 音乐)

1、CoreAudioCoreAudio提供了数字音频服务为iOS与OSX,它提供了一系列框架去处理音频....

BlazorUI 组件库——反馈与弹层 (1)

组件是前端的基础。组件库也是前端框架的核心中的重点。组件库中有一个重要的板块:反馈与弹层!反馈与弹层在组件形态上,与Button、Input类等嵌入界面的组件有所不同,通常以层的形式出现。本篇文章...

怎样创建一个Xcode插件(xcode如何新建一个main.c)

译者:@yohunl译者注:原文使用的是xcode6.3.2,我翻译的时候,使用的是xcode7.2.1,经过验证,本部分中说的依然是有效的.在文中你可以学习到一系列的技能,非常值得一看.这些技能不单...

让SSL/TLS协议流行起来:深度解读SSL/TLS实现1

一前言SSL/TLS协议是网络安全通信的重要基石,本系列将简单介绍SSL/TLS协议,主要关注SSL/TLS协议的安全性,特别是SSL规范的正确实现。本系列的文章大体分为3个部分:SSL/TLS协...

社交软件开发6-客户端开发-ios端开发验证登陆部分

欢迎订阅我的头条号:一点热上一节说到,Android客户端的开发,主要是编写了,如何使用Androidstudio如何创建一个Android项目,已经使用gradle来加载第三方库,并且使用了异步...

取消回复欢迎 发表评论: