HTML5-基础知识

article/2025/10/14 3:46:16

HTML5

@author 鲁伟林
一直开发后端,现在开始全栈培养自己。
学习html的网址是:http://www.runoob.com/html/html5-intro.html
gitHub地址: https://github.com/thinkingfioa/Notes/tree/master/front-developer/html5

1 HTML5特性

HTML5中的一些有趣的新特性:

  • 1.用于绘画的canvas元素
  • 2.用于媒介回放的video和audio元素
  • 3.对本地离线存储提供更好的支持
  • 4.新的特殊内容元素,如:article、footer、header、nav、selection
  • 5.新的表单控件,如:calendar、date、time、email、url、search

2 HTML5 Canvas

HTML5<canvas>元素用于图形的绘制,提供图形容器,通过脚本(通常是JavaScript)来绘制图形

2.1 创建一个画布(Canvas)

一个画布在网页中是一个矩形框,通过<canvas>元素来绘制。

代码:
<body><canvas id="myCanvas" width="200px" height="100px" style="border: 1px solid #000000;">浏览器不支持Canvas标签</canvas>
</body>

2.2 使用JavaScript来绘制图像

canvas元素本身没有绘图能力,所有的绘制工作由JavaScript内部完成

代码:
<canvas id="myCanvas1" width="200px" height="100px" style="border: 1px solid #000000">浏览器不支持Canvas标签
</canvas><script>var c = document.getElementById("myCanvas1");var ctx = c.getContext("2d");ctx.fillStyle="#00FF00";ctx.fillRect(0,0,166,66);
</script>

2.3 Canvas坐标

canvas是一个二维网格,左上角坐标是(0,0),横轴是x轴,竖轴是y轴。

2.4 Canvas-路径(线条)

在Canvas上画线,可以使用下列两种方法:

  • 1.moveTo(x,y)定义线条开始坐标
  • 2.lineTo(x,y)定义线条结束坐标
代码:
<script>var c = document.getElementById("myCanvas");var ctx = c.getContext("2d");ctx.moveTo(0,0);ctx.lineTo(200,100);ctx.stroke(); 
</script>

2.5 Canvas-圆

Canvas可以画圆形,具体方法是: arc(x,y,r,start,stop)

代码:
<script>var c = document.getElementById("myCanvas");var ctx = c.getContext("2d");ctx.beginPath();ctx.arc(95,50,40,0,2*Math.PI);ctx.stroke();
</script>

2.6 Canvas-文本

使用canvas绘制文本,重要的属性和方法如下:

  • 1.font定义字体
  • 2.fillText(text, x, y)在canvas上绘制实心的文本
  • 3.strokeText(text, x, y)在canvas上绘制空心的文本
代码:
<script>var c = document.getElementId("myCanvas");var ctx = c.getContext("2d");ctx.font="30px Arial";ctx.fillText("Hello World", 10, 50);
</script>

2.7 Canvas-渐变

渐变可以填充在矩形、圆形、和文本等等。以下有两种不同的方式设置Canvas渐变:

  • 1.createLinearCradient(x,y,x1,y1)创建线条渐变
  • 2.createRadialGradient(x,y,r,x1,y1,r1)创建一个径向/圆渐变

当使用渐变对象时,必须使用两种或两种以上的停止颜色。addColorStop()方法指定颜色停止,参数使用坐标描述,可以是0或1.

代码:
// 线性变化
<script>var v5 = document.getElementById("myCanvas5");var ctx5 = v5.getContext("2d");// 创建渐变var grd = ctx5.createLinearGradient(0, 0, 200, 0);grd.addColorStop(0, "red");grd.addColorStop(1, "white");// 填充渐变ctx5.fillStyle=grd;ctx5.fillRect(10, 10, 150, 80);
</script>
//径向/圆渐变
<script>var v6 = document.getElementById("myCanvas6");var ctx6 = v6.getContext("2d");var grd6 = ctx6.createRadialGradient(75,50,5,90,60,50);grd6.addColorStop(0, "red");grd6.addColorStop(1,"white");ctx6.fillStyle=grd6;ctx6.fillRect(10,10,150,80);
</script>

2.8 Canvas-画像

将一幅图画放到画布上,使用以下方法:

  • drawImage(image,x,y)
代码:
<body><img id="myHeadPic" src="https://avatars1.githubusercontent.com/u/13462500?s=460&v=4" width="230px" height="300px" alt="无法加载"><canvas id="myCanvas7" width="400px" height="350px" style="border: 1px solid #000000">浏览器不支持Canvas标签</canvas><script>var v = document.getElementById("myCanvas7");var ctx = v.getContext("2d");var img = document.getElementById("myHeadPic");img.onload = function(){ctx.drawImage(img, 10,10);}</script>
</body>

3 HTML5内联SVG

HTML5支持内联SVG,SVG是使用XML格式定义图片。

4 HTML5 MathML

在HTML5中可以使用MathML元素,对应的标签是<math>...</math>。MathML是一个数学标记语言,是一种基于XML的标准,用来写网页版的数学符号和公式。

5 HTML5 拖放

5.1 设置元素为可拖放

为了是元素可拖动,把draggable属性设置为true,则:<img draggable="true">

5.2 拖动什么-ondragstart和setData()

规定当元素被拖动时,会发生什么。ondragstart属性需要定义函数drag(event),函数中需要填入拖动的数据。

5.3 放在何处-ondragover

ondragover事件规定在何处放置被拖动的数据

5.4 进行放置-ondrop

当放置被拖动数据时,会发生drop事件

代码:
<body><div><span><h3>拖动头像进入矩形框</h3></span></div><div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)" style="width: 350px;height: 350px;padding: 10px;border: 1px solid #000000"></div><br/><img id="img1" src="https://avatars1.githubusercontent.com/u/13462500?s=460&v=4" draggable="true" ondragstart="drag(event)" width="300px" height="300px"><script>function drag(ev) {ev.dataTransfer.setData("Text", ev.target.id);}function allowDrop(ev) {ev.preventDefault();}function drop(ev) {ev.preventDefault();var data = ev.dataTransfer.getData("Text");ev.target.appendChild(document.getElementById(data));}</script>
</body>

6 HTML5 地理定位

HTML5 Geolocation API用于获得用户的地理位置。该特性可能侵犯用户的隐私,HTML5可以做到

7 HTML5 Video(视频)

HTML5规定一种通过video元素来包含视频的标准方法,具体代码如下:

<video widht="320px" height="320" controls><source src="" type="video/mp4"><source src="" type="video/ogg">
</video>

8 HTML5 Audio(音频)

HTML5中规定音频元素标准,使用

<audio controls><source src="horse.ogg" type="audio/ogg"><source src="horse.mp3" type="audio/mpeg">
</audio>

9 HTML5 Input类型

HTML5拥有多个新的表单输入类型,新的特性提供更好的输入控制和验证。新的输入类型:color、date、datetime、datetime-local、email、month、number、range、search、tel、time、url、week。

9.1 Input类型: color

color类型用在input字段主要用于从拾色器中选择颜色

代码:
<form action="some_url.html" method="get"><div><span>选择你喜欢的颜色:</span></div><input type="color" name="favorite"><input type="submit" value="提交">
</form>

9.2 Input类型: date

date类型允许从日期选择器选择一个日期,代码:<input type="date" name="bday">

9.3 Input类型: datetime-local

datetime-local类型允许你选择一个日期,但具体怎么用的,我没整明白

9.4 Input类型: email

email类型用于应该包含e-mail的地址输入域,会进行email格式的校验。如:<input type="email" name="usremail">

9.5 Input类型: month

month类型允许选择年/月,时间精确到月份。如:<input type="month" name="bdaymonth">

9.6 Input类型: number

number类型用于包含数值的输入域。该类型有较多的属性,请看下面的代码:

代码:
<form id="myForm" action="some_url.html" method="get"><input type="number" name="points" min="0" max="10" step="3" value="6"><input type="submit" value="提交表单">
</form>

9.7 Input类型: range

range类型的显示为滑动条,包括一定的范围。如: <input type="range" name="myRange" min="1" max="10" step="2" value="4">。其中value属性是规定默认值

9.8 Input类型: search

search类型用于定义搜索域,比如站点搜索等。如:<input type="search" name="mySearch">。完全是让好理解,我觉得文本框也可以做到。

9.9 Input类型: tel

定义输入电话号码,完全是让好理解,我觉得文本框也可以做到。如:<input type="tel" name="myTel">

9.10 Input类型: time

time类型允许你选择一个时间,如:<input type="time" name="usr_time"> 

9.11 Input类型: url

url类型包含URL地址输入域,在提交表单时,自动验证url域的值。如:<input type="url" name="homepage">

9.12 Input类型: week

week类型允许选择周和年

10 HTML5表单元素

HTML5有以下新的表单元素:

  • 1.<datalist>
  • 2.<keygen>
  • 3.<output>

10.1 HTML5 <datalist>元素

<datalist>元素规定输入域的选择列表,但是如果用户自己输入,也可以。

代码:
<form action="some_url.html" method="get"><input list="girlfriends" name="girlfriends"><datalist id="girlfriends"><option value="PPP1"></option><option value="PPP2"></option><option value="PPP3"></option><option value="PPP4"></option><option value="PPP5"></option></datalist><input type="submit" value="提交">
</form>

10.2 HTML5<keygen>元素

<keygen>标签规定用于表单的密钥对生成器,我没有理解怎么用?请补充实例?

代码:

10.3 HTML5<output>元素

<output>元素用于不同类型的输出,比如计算或脚本输出:

代码:
<form oninput="x.value=parseInt(a.value)+parseInt(b.value)"><div><sapn>0</sapn><input type="range" id="a" value="50"><span>100+</span><input type="number" id="b" value="50"><span>=</span><output name="x" for="a b"></output></div>
</form>

11 HTML5表单属性

HTML的<form>和<input>标签新加了几个属性 <form>的新属性:

  • 1.autocomplete
  • 2.novalidate

<input>的新属性:

  • 1.autocomplete
  • 2.autofocus
  • 3.form
  • 4.formaction
  • 5.formenctype
  • 6.formmethod
  • 7.formnovalidate
  • 8.formtarget
  • 9.height 与 width
  • 10.list
  • 11.min 与 max
  • 12.multiple
  • 13.pattern (regexp)
  • 14.placeholder
  • 15.required
  • 16.step

11.1 <form>和<input> autocomplete属性

  • 1.autocomplete属性规定form和input域应该拥有自动完成的功能。当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项。
  • 2.autocomplete属性有可能在form元素中开启的,而是在input元素中关闭
代码:
<form action="some_url.php" method="get" autocomplete="on"><span>First name:</span><input type="text" name="firstName"><br/><span>Last Name:</span><input type="text" name="lastName"><br/><span>E-mail:</span><input type="email" name="email" autocomplete="off"><br/><input type="submit" value="submit">
</form>

11.2 <form> novalidate 属性

novalidate属性是一个boolean属性。规定在提交表单时不应该验证form或input域

代码:
<form action="some_url.php" method="get" novalidate><span>E-mail:</span><input type="email" name="myEmail"><input type="submit" value="submit">
</form>

11.3 <input> autofocus属性

autofocus属性是一个boolean属性,规定在页面加载时,域自动获得焦点

代码:
<form action="some_url.php" method="get" autofocus><span>First Name:</span><input type="text" name="firstName" ><span>Last Name:</span><input type="text" name="lastName"><input type="submit" value="submit">
</form>

11.4 <input> form属性

<input>标签中有属性form,可以指明该标签属于哪个form表单,即使该标签不在其对应的form域内。比如: 例子中lastName标签不在id=form1表单中,但是提交按钮会一起打包提交。

代码:
<form id="form1" action="some_url.php" method="get"> <span>First Name:</span><input type="text" name="firstName"><input type="submit" value="submit">
</form>
<span>Last Name:</span>
<input type="text" name="lastName" form="form1">

11.5 <input> formaction属性

formaction属性用于描述表单提交的URL地址,会覆盖<form>元素中的action属性,<form>元素中的action属性会无效

代码:
<form action="some_url.php" method="get" novalidate><span>E-mail:</span><input type="email" name="myEmail"><input type="submit" value="submit" formaction="your_ur.php">
</form>

11.6 <input> formenctype属性

formenctype属性描述了表单提交到服务器的数据编码,只对form表单中method="post"有效。且会覆盖form元素中的enctype属性

代码
<form action="some_url.html" method="post"><span>PPP:</span><input type="text" name="ppp"><input type="submit" value="提交" formenctype="multipart/form-data">
</form>

11.7 <input> formmethod属性

formmethod属性定义了表单提交的方式,会覆盖form元素中的method属性,formmethod="post"

11.8 <input> formnovalidate属性

novalidate属性是一个boolean属性,描述<input>元素提交时无需验证。formnovalidate属性可实现同样的效果,注意:formnovalidate属性与type="submit"提起使用

代码:
<form action="some_url.php" method="post"><span>lwl-E-mail:</span><input type="email" name="lwl-email"><input type="submit" value="提交" formnovalidate> 
</form>

11.9 <input> formtarget属性

formtarget属性指定一个名称或一个关键字来指明表单提交数据接收后的展示。目前没有懂,下面的例子没什么用,运行结果一样的

代码:
<form action="demo-form.php">First name: <input type="text" name="fname"><br>Last name: <input type="text" name="lname"><br><input type="submit" value="正常提交"><input type="submit" formtarget="_blank" value="提交到一个新的页面上">
</form>

11.10 <input> height和width属性

height和width属性规定用于type="image"标签的图像大小。type="image"标签用于图片代替type="submit"提交按钮

代码:
<form action="some_url.php" method="get"><span>First name:</span><input type="text" name="firstName"><br/><span>Last Name:</span><input type="text" name="lastName"><br/><span>E-mail:</span><input type="image" src="http://www.runoob.com/try/demo_source/img_submit.gif" alt="Submit" width="50" height="50">
</form>

11.11 <input> list属性

list属性规定输入域为datalist。datalist输入域定义选项列表

代码:
<form action="some_url.php" method="get"><input list="browsers" name="browser"><datalist id="browsers"><option value="Internet Explorer"></option><option value="Firefox"></option><option value="Chrome"></option></datalist><input type="submit">
</form><br/>

11.12 <input> min和max属性

min、max和step属性用于包含数字或日期的input类型的约束。适用于类型的<input>标签: date picker、number和range。

11.13 <input> multiple属性

multiple属性是一个boolean属性,规定<input>元素中可选择多个值,使用于标签: email和file

代码:
<form action="some_url.php" action="get"><span>选择图片:</span><input type="file" name="chooseFile" multiple><input type="submit" value="提交">
</form>

11.14 <input> pattern属性

  • 1.pattern属性描述了一个正则表达式,用于验证<input>元素的值。适用于一些类型标签: text、search、url、tel、email和password
  • 2.使用title显示提示信息
代码:
<form action="some_url.php" method="get"><span>Country Code:</span><input type="text" name="countryCode" pattern="[A-Za-z]{3}" title="请使用3个字母"><input type="submit" value="提交">
</form>

11.15 <input> placeholder属性

placeholder属性提供一种提示(hint),描述输入域所期待的值,适用于以下类型标签:text、search、url、telephone、email和password

代码:
<form action="some_url.php" method="get"><span>First Name:</span><input type="text" name="fName" placeholder="thinking"><span>Last Name:</span><input type="text" name="lName" placeholder="fioa"><br/><input type="submit" value="Sumbit">
</form>

11.16 <input> required属性

required属性是一个boolean属性。规定在提交之前必须填写输入域(不能为空)。适用的标签有: text、search、url、telephone、email、password、date pickers、number、checkbox、radio和file

代码:
<form action="some_url.php" method="get"><span>Username:</span><input type="text" name="userName" required><input type="submit" value="Submit">
</form>

11.17 <input> step属性

step规定了合法的数字间隔,step属性往往和min、max属性创建一个区域值。适用的标签有:number、range、date、datetime、datetime-local、month、time和week.

12 HTML5 语义元素

语义元素指的是有意义的元素,能够清楚描述其意义给开发者。比如<div>或<span>就是无意义,而<table>则是语义元素。

12.1 HTML5中新的语义元素

HTML5提供了新的语义元素来明确一个Web页面的不同部分:

  • 1.<header>
  • 2.<nav>
  • 3.<section>
  • 4.<article>
  • 5.<aside>
  • 6.<figcaption>
  • 7.<figure>
  • 8.<footer>

具体如图所示:

12.2 HTML5 <section>元素

<section>标签定义文档中的节,包含一组内容及其标题

代码:
<body><section><h1>标题1</h1><p>第一个段落</p></section><section><h1>标题2</h1><p>第二个段落</p></section>
</body>

12.3 HTML5<article>元素

<article>标签定义独立的内容

代码:
<body><article><h1>Internet Explorer 9</h1><p> Windows Internet Explorer 9(缩写为 IE9 )在2011年3月14日21:00 发布。</p></article>
</body>

12.4 HTML5<nav>元素

<nav>标签定义导航链接的部分

12.5 HTML5<aside>元素

<aside>标签定义页面主区域内容外的内容,如侧边栏。

12.6 HTML5<header>元素

<header>元素描述了文档的头部区域,在页面中可以使用多个<header>元素

12.7 HTML5<footer>元素

<footer>元素描述了文档底部区域,一个页脚通常包含文档的作者、联系信息等

代码:
<footer><p>Posted by: Hege Refsnes</p><p><time pubdate datetime="2012-03-01"></time></p>
</footer>

12.8 HTML5<figure>和<figcaption>元素

<figure>标签规定独立的流内容,如图像、图表和代码等。<figcaption>标签定义<figure>元素的标题。

代码:
<figure><img src="https://avatars1.githubusercontent.com/u/13462500?s=460&v=4" width="304px" height="228px"><figcaption>thinking_fioa的头像</figcaption>
</figure>

13 HTML5 Web存储

HTML5web存储,一个比cookie更好的本地存储方式,可以在本次存储用户的浏览数据。客户端存储数据的两个对象为:

  • 1.localStorage:没有时间限制的数据存储
  • 2.sessionStorage:针对一个session的数据存储

14 HTML5 Web Workers

当HTML页面执行脚本时,页面的状态是不可相应,直到脚本完成。web worker是运行在后台JavaScript,独立于其他脚本,不影响页面的性能。

14.1 案例代码(实现计数器): - 未跑通

<body><div><span>计数:</span><output id="rusult">0</output></div><button id="startButton" onclick="startWorker()">开始工作</button><button id="endButton" onclick="endWorker()">停止工作</button><script>var w;function startWorker() {if(typeof(Worker) !== "undefined") {if(typeof(w) == "undefined"){w = new Worker("demo_workers.js"); // 执行一段Js脚本}w.onmessage = function(event) {document.getElementById("result").innerHTML=event.data;}} else {document.getElementById("result").innerHTML = "抱歉,你的浏览器不支持 Web Workers...";}}function endWorker() {w.terminate();w = undefined;}</script>
</body>

14.2 Web Workers和DOM

由于web worker位于外部文件中,因此无法访问下列JavaScript对象:

  • 1.window对象
  • 2.document对象
  • 3.parent对象

http://chatgpt.dhexx.cn/article/wTo6c7y3.shtml

相关文章

【基础html5 基础知识点】(全)

一、新特性 1. Doctype更简单<!DOCTYPE html> 2. 简单的编码类型 <meta charset”utf-8″ /> 3. 大小写都可 <input tYPe"text" name"" id""> 4. 布尔值 <input type"radio" checked> 5. 可以省略…

HTML5前端知识图谱

HTML5知识图谱 前端知识必备概要HTML5知识概要前端开发知识库体系1. HTML5知识库2. CSS3知识库3. JavaScript知识库4. jQuery知识库5.Node.js知识库6.AngularJS知识库7.React知识库 前端开发知识库细分HTML知识图谱CSS知识图谱1. css 内容排版2. css 布局模型3. css 盒子模型4.…

html5 基础知识总结

W3C的建立 伯纳斯李1994年建立万维网联盟&#xff08;W3C&#xff09; W3C的出现为了制订网页开发的标准&#xff0c;以使同一个网页在不同的浏览器中有相同的效果。 所以&#xff0c;我们需要制订我们编写的网页都需要遵循W3C的规范&#xff01; 网页的结构思想 根据W3C标…

HTML5基础知识汇总

HTML是Hypertext Markup Language的缩写&#xff0c;中文翻译为&#xff1a;超文本标记语言 HTML文档结构和基本语法 HTML5基本语法 扩展名.html/.htm内容类型(ContentType):text/html文档类型:<!DOCTYPE html> 字符编码 HTML4: <meta http-equiv"Content-Typ…

HTML5基础知识(全面)

1. 熟记各大主流浏览器内核版本面试常问哦 浏览器名称内核opera欧朋最初是自己的Presto内核&#xff0c;后谷歌Webkit 到BlinkFirefox火狐Gecko内核俗称Firefox内核Chrome谷歌统称为Chromium或Blink内核Safari苹果Webkit不受IE、Firefox内核约束IE浏览器Trident内核360浏览器I…

HTML5 基础知识总结(全)

文章目录 1.文档类型2.字符集3.标签< h1 >到< h6 >4.文本格式化标签&#xff08;熟记&#xff09;5.标签属性6.图像标签img7.链接标签8.锚点定位9. base标签10.特殊字符11.注释标签12.相对路径13.div span标签14.无序列表ul15.有序列表ol16.自定义列表17.font标签1…

HTML5基础知识

目录 一、初识HTML 二、网页基本标签⭐ 2.1标题标签 2.3换行标签 2.4水平线标签 2.5字体样式标签 2.6注释和特殊符号 三、图像&#xff0c;超链接&#xff0c;网页布局 3.1图像标签 3.2链接标签 3.3块元素和行内元素 四、列表&#xff0c;表格&#xff0c;媒体…

lle算法c 语言,LLE(Locally Linear Embedding)算法

Core idea LLE is inherently a non-linear dimensionality reduction strategy 即局部线性嵌入算法。该算法是针对非线性信号特征矢量维数的优化方法&#xff0c;这种维数优化并不是仅仅在数量上简单的约简&#xff0c;而是在保持原始数据性质不变的情况下&#xff0c;将高维空…

(流形降维)局部线性嵌入 - LLE

文章目录 一&#xff0c;流形学习概述二&#xff0c;如何使用LLE进行数据降维1.参数说明2.官网示例 三&#xff0c;实例说明1.PCA与LLE降维的区别2.每个点的邻居数量对降维结果的影响 四&#xff0c;LLE总结 一&#xff0c;流形学习概述 更多关于LLE原理 参考&#xff1a;局部…

机器学习(二)降维(PCA,kPCA,LLE)

写在前面 这是一个新的板块&#xff0c;用于记录作者机器学习的学习历程&#xff0c;同时分享自己的学习笔记给大家&#xff0c;希望这份笔记能帮助大家&#xff0c;同时也欢迎大家一起学习交流指正&#xff0c;我会尽量做到周更。如果有用的话请记得关注点赞收藏&#xff01;&…

数据分析-降维-PCA-LDA-LLE

目录 前言 矩阵分解法 主成分分析&#xff08;PCA&#xff09; 核PCA 非负矩阵分解&#xff08;NMF&#xff09; FactorAnalysis 独立主成分分析&#xff08;ICA&#xff09; 判别分析法&#xff08;LDA&#xff09; 基于流形学习的数据降维方法 LLE MDS MDS实现 t…

对人脸数据集,采用PCA,KPCA,MDS,LLE,ISOMAPE五种方式降维 ---模式识别课程设计

对人脸数据集“Labeled Faces in the Wild”&#xff1a;sklearn.datasets.fetch_lfw_people&#xff0c;下载地址aka LFW:http://vis-www.cs.umass.edu/lfw/lfw-funneled.tgz&#xff0c; 采用PCA,KPCA,MDS,LLE,ISOMAPE五种方式降维&#xff0c;比较基于SVM或决策树等分类器的…

LLE算法实现与sklearn实现

在pyhton的机器学习库sklearn中&#xff0c;LLE等降维算法可以直接调用&#xff0c;在本次大作业中&#xff0c;根据LLE的推导过程编写算法实现了LLE&#xff0c;与mainfold自带的LLE进行对比。由于后面的实验中都是直接调用LocallyLinearEmbedding&#xff0c;所以用大量篇幅介…

一句话总结LLE(流形学习)

一句话总结LLE&#xff08;流形学习&#xff09; 核心&#xff1a;用一个样本点的邻居的线性组合近似重构这个样本&#xff0c;将样本投影到低维空间中后依然保持这种线性组合关系。 局部线性嵌入&#xff08;简称LLE&#xff09;将高维数据投影到低维空间中&#xff0c;并保持…

流行学习一LLE_机器学习

前言&#xff1a; 流行学习主要用于聚类&#xff0c;分类和回归算法,例如人脸识别&#xff08;旋转不变性&#xff0c;光照不变性&#xff09; 流行是几何中一个概念&#xff0c;它是高维空间中的几何结构&#xff0c;即高维空间中点构成的集合。 简单的理解为二维空间的曲线&a…

lle算法c 语言,局部线性嵌入算法(LLE)与其Python实现-Go语言中文社区

PCA是至今为止运用最为广泛的数据降维算法&#xff0c;它通过最小化重构误差达到将高维数据映射到低维并同时保留数据中所存在的绝大部分信息。但是一般的PCA也有缺点&#xff0c;它只能实现线性降维。当然现在也有kernel PCA可以实现非线性降维&#xff0c;但我们今天介绍的是…

LLE降维

LLE 是 Locally Linear embedding 直观是在样本点的高维空间相邻近的话&#xff0c;可以用低维的子空间描述。 基本原理分三步&#xff1a; &#xff08;1&#xff09; 找到邻居 neighbors .(可以使用多种方法&#xff0c;邻居K的数目选择影响很大) &#xff08;2&#xff09…

局部线性嵌入LLE

[1]https://www.cnblogs.com/pinard/p/6266408.html [2]Graph Embedding Techniques, Applications, and Performance: A Survey 主要参考和图片来源[1] LLE推导算法流程 局部线性嵌入(Locally Linear Embedding,LLE)&#xff0c;一种重要降维方法&#xff0c;与PCA、LDA相比…

LLE降维算法

欢迎关注”生信修炼手册”! 流形分析作为非线性降维的一个分支&#xff0c;拥有多种算法&#xff0c;常见的算法列表如下 流形分析的要点在于降维之后&#xff0c;仍然保留流形中的某些几何属性。之前介绍的isomap保留了测地距离这一几何属性&#xff0c;由于考虑的是全局关系&…

LLE算法

Locally linear embedding (LLE) (Sam T.Roweis and Lawrence K.Saul, 2000)以及Supervised locally linear embedding (SLLE) (Dick and Robert, 2002) 是最近提出的非线性降维方法&#xff0c;它能够使降维后的数据保持原有拓扑结构。 LLE算法可以有图1所示的一个例子来描述。…