{"id":4901,"date":"2021-08-07T06:28:52","date_gmt":"2021-08-07T06:28:52","guid":{"rendered":"https:\/\/www.aiproblog.com\/index.php\/2021\/08\/07\/a-gentle-introduction-to-the-laplacian\/"},"modified":"2021-08-07T06:28:52","modified_gmt":"2021-08-07T06:28:52","slug":"a-gentle-introduction-to-the-laplacian","status":"publish","type":"post","link":"https:\/\/www.aiproblog.com\/index.php\/2021\/08\/07\/a-gentle-introduction-to-the-laplacian\/","title":{"rendered":"A Gentle Introduction to the Laplacian"},"content":{"rendered":"<p>Author: Stefania Cristina<\/p>\n<div>\n<p>The Laplace operator was first applied to the study of celestial mechanics, or the motion of objects in outer space, by Pierre-Simon de Laplace, and as such has been named after him.<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p>The Laplace operator has since been used to describe many different phenomena, from electric potentials, to the diffusion equation for heat and fluid flow, and quantum mechanics. It has also been recasted to the discrete space, where it has been used in applications related to image processing and spectral clustering.<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p>In this tutorial, you will discover a gentle introduction to the Laplacian.<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p>After completing this tutorial, you will know:<\/p>\n<ul>\n<li>The definition of the Laplace operator and how it relates to divergence.<\/li>\n<li>How the Laplace operator relates to the Hessian.<span class=\"Apple-converted-space\">\u00a0<\/span>\n<\/li>\n<li>How the continuous Laplace operator has been recasted to discrete-space, and applied to image processing and spectral clustering.<span class=\"Apple-converted-space\">\u00a0<\/span>\n<\/li>\n<\/ul>\n<p>Let\u2019s get started.<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p>\u00a0<\/p>\n<div id=\"attachment_12698\" style=\"width: 1034px\" class=\"wp-caption aligncenter\">\n<a href=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_cover-scaled.jpg\"><img decoding=\"async\" aria-describedby=\"caption-attachment-12698\" loading=\"lazy\" class=\"wp-image-12698 size-large\" src=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_cover-1024x683.jpg\" alt=\"\" width=\"1024\" height=\"683\" srcset=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_cover-1024x683.jpg 1024w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_cover-300x200.jpg 300w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_cover-768x512.jpg 768w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_cover-1536x1024.jpg 1536w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_cover-2048x1365.jpg 2048w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_cover-600x400.jpg 600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"><\/a><\/p>\n<p id=\"caption-attachment-12698\" class=\"wp-caption-text\">A Gentle Introduction to the Laplacian<br \/>Photo by <a href=\"https:\/\/unsplash.com\/photos\/7nsqPSnYCoY\">Aziz Acharki<\/a>, some rights reserved.<\/p>\n<\/div>\n<p>\u00a0<\/p>\n<h2><b>Tutorial Overview<\/b><\/h2>\n<p>This tutorial is divided into two parts; they are:<\/p>\n<ul>\n<li>The Laplacian\n<ul>\n<li>The Concept of Divergence<\/li>\n<li>The Continuous Laplacian<\/li>\n<\/ul>\n<\/li>\n<li>The Discrete Laplacian<\/li>\n<\/ul>\n<h2><b>Prerequisites<\/b><\/h2>\n<p>For this tutorial, we assume that you already know what are:<\/p>\n<ul>\n<li><a href=\"https:\/\/machinelearningmastery.com\/a-gentle-introduction-to-partial-derivatives-and-gradient-vectors\">The gradient of a function<\/a><\/li>\n<li><a href=\"https:\/\/machinelearningmastery.com\/?p=12675&amp;preview=true\">Higher-order derivatives<\/a><\/li>\n<li><a href=\"https:\/\/machinelearningmastery.com\/a-gentle-introduction-to-multivariate-calculus\/\">Multivariate functions<\/a><\/li>\n<li><a href=\"https:\/\/machinelearningmastery.com\/a-gentle-introduction-to-hessian-matrices\">The Hessian matrix<\/a><\/li>\n<\/ul>\n<p>You can review these concepts by clicking on the links given above.<\/p>\n<h2><b>The Laplacian<\/b><\/h2>\n<p>The Laplace operator (or Laplacian, as it is often called) is the divergence of the gradient of a function.<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p>In order to comprehend the previous statement better, it is best that we start by understanding the concept of <i>divergence<\/i>.<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<h3><b>The Concept of Divergence<\/b><\/h3>\n<p>Divergence is a vector operator that operates on a vector field. The latter can be thought of as representing a flow of a liquid or gas, where each vector in the vector field represents a velocity vector of the moving fluid.<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<blockquote>\n<p><i>Roughly speaking, divergence measures the tendency of the fluid to collect or disperse at a point \u2026<\/i><\/p>\n<p>\u2013 Page 432, <a href=\"https:\/\/www.whitman.edu\/mathematics\/multivariable\/multivariable.pdf\">Single and Multivariable Calculus<\/a>, 2020.<\/p>\n<\/blockquote>\n<div id=\"attachment_12691\" style=\"width: 409px\" class=\"wp-caption aligncenter\">\n<a href=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_1.png\"><img decoding=\"async\" aria-describedby=\"caption-attachment-12691\" loading=\"lazy\" class=\"wp-image-12691\" src=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_1-1024x824.png\" alt=\"\" width=\"399\" height=\"321\" srcset=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_1-1024x824.png 1024w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_1-300x241.png 300w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_1-768x618.png 768w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_1-1536x1236.png 1536w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_1.png 1963w\" sizes=\"(max-width: 399px) 100vw, 399px\"><\/a><\/p>\n<p id=\"caption-attachment-12691\" class=\"wp-caption-text\">Part of the Vector Field of (cos <em>x<\/em>, sin <em>y<\/em>)<\/p>\n<\/div>\n<p>\u00a0<\/p>\n<p>Using the nabla (or del) operator, \u2207, the divergence is denoted by \u2207 <b><sup>.<\/sup><\/b> and produces a scalar value when applied to a vector field, measuring the quantity of <i>fluid<\/i> at each point. In Cartesian coordinates, the divergence of a vector field, <b>F<\/b> = \u27e8<i>f<\/i>, <i>g<\/i>, <i>h<\/i>\u27e9, is given by:<\/p>\n<p><a href=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_2.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-12692\" src=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_2-1024x161.png\" alt=\"\" width=\"433\" height=\"68\" srcset=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_2-1024x161.png 1024w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_2-300x47.png 300w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_2-768x121.png 768w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_2-1536x241.png 1536w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_2.png 1720w\" sizes=\"(max-width: 433px) 100vw, 433px\"><\/a><\/p>\n<p>Although the divergence computation involves the application of the divergence operator (rather than a multiplication operation), the dot in its notation is reminiscent of the dot product, which involves the multiplication of the components of two equal-length sequences (in this case, \u2207 and <b>F<\/b>) and the summation of the resulting terms.<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<h3><b>The Continuous Laplacian<\/b><\/h3>\n<p>Let\u2019s return back to the definition of the Laplacian.<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/machinelearningmastery.com\/a-gentle-introduction-to-partial-derivatives-and-gradient-vectors\">Recall<\/a> that the gradient of a two-dimensional function, <i>f<\/i>,<span class=\"Apple-converted-space\">\u00a0 <\/span>is given by:<\/p>\n<p><a href=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_3.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-12693\" src=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_3.png\" alt=\"\" width=\"173\" height=\"67\" srcset=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_3.png 636w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_3-300x116.png 300w\" sizes=\"(max-width: 173px) 100vw, 173px\"><\/a><\/p>\n<p>Then, the Laplacian (that is, the divergence of the gradient) of <i>f<\/i> can be defined by the sum of unmixed <a href=\"https:\/\/machinelearningmastery.com\/?p=12675&amp;preview=true\">second partial derivatives<\/a>:<\/p>\n<p><a href=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_4.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-12694\" src=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_4.png\" alt=\"\" width=\"257\" height=\"67\" srcset=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_4.png 996w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_4-300x78.png 300w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_4-768x200.png 768w\" sizes=\"(max-width: 257px) 100vw, 257px\"><\/a><\/p>\n<p>It can, equivalently, be considered as the trace (tr) of the function\u2019s <a href=\"https:\/\/machinelearningmastery.com\/a-gentle-introduction-to-hessian-matrices\">Hessian<\/a>, <i>H<\/i>(<i>f<\/i>). The trace defines the sum of the elements on the main diagonal of a square <i>n<\/i>\u00d7<i>n<\/i> matrix, which in this case is the Hessian, and also the sum of its <i>eigenvalues<\/i>. Recall that the Hessian matrix contains the <a href=\"https:\/\/machinelearningmastery.com\/?p=12675&amp;preview=true\">own<\/a> (or unmixed) second partial derivatives on the diagonal:<\/p>\n<p><a href=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_5.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-12695\" src=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_5.png\" alt=\"\" width=\"161\" height=\"40\" srcset=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_5.png 594w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_5-300x75.png 300w\" sizes=\"(max-width: 161px) 100vw, 161px\"><\/a><\/p>\n<p>An important property of the trace of a matrix is its invariance to a <i>change of basis<\/i>. We have already defined the Laplacian in Cartesian coordinates. In polar coordinates, we would define it as follows:<\/p>\n<p><a href=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_6.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-12696\" src=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_6-1024x258.png\" alt=\"\" width=\"266\" height=\"67\" srcset=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_6-1024x258.png 1024w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_6-300x76.png 300w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_6-768x193.png 768w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_6.png 1032w\" sizes=\"(max-width: 266px) 100vw, 266px\"><\/a><\/p>\n<p>The invariance of the trace to a change of basis means that the Laplacian can be defined in different coordinate spaces, but it would give the same value at some point (<i>x<\/i>, <i>y<\/i>) in the Cartesian coordinate space, and at the same point (<i>r<\/i>, <i>\u03b8<\/i>) in the polar coordinate space.<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p>Recall that we had also mentioned that the second derivative can provide us with information regarding the curvature of a function. Hence, intuitively, we can consider the Laplacian to also provide us with information regarding the local curvature of a function, through this summation of second derivatives.<\/p>\n<p>The continuous Laplace operator has been used to describe many physical phenomena, such as electric potentials, and the diffusion equation for heat flow.<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<h2><b>The Discrete Laplacian<\/b><\/h2>\n<p>Analogous to the continuous Laplace operator, is the discrete one, so formulated in order to be applied to a discrete grid of, say, pixel values in an image, or to a graph.<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p>Let\u2019s have a look at how the Laplace operator can be recasted for both applications.<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p>In image processing, the Laplace operator is realized in the form of a digital filter that, when applied to an image, can be used for edge detection. In a sense, we can consider the Laplacian operator used in image processing to, also, provide us with information regarding the manner in which the function curves (or <i>bends<\/i>) at some particular point, (<i>x<\/i>, <i>y<\/i>).<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p>In this case, the discrete Laplacian operator (or filter) is constructed by combining two, one-dimensional second derivative filters, into a single two-dimensional one:<\/p>\n<p><a href=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_7.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-12697\" src=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_7-1024x156.png\" alt=\"\" width=\"262\" height=\"40\" srcset=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_7-1024x156.png 1024w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_7-300x46.png 300w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_7-768x117.png 768w, https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/07\/laplacian_7.png 1048w\" sizes=\"(max-width: 262px) 100vw, 262px\"><\/a><\/p>\n<p>In machine learning, the information provided by the discrete Laplace operator as derived from a graph can be used for the purpose of data clustering.<\/p>\n<p>Consider a graph, <i>G<\/i> = (<i>V<\/i>, <i>E<\/i>), having a finite number of <i>V<\/i> vertices and <i>E<\/i> edges. Its Laplacian matrix, <i>L<\/i>, can be defined in terms of the degree matrix, <i>D<\/i>, containing information about the connectivity of each vertex, and the adjacency matrix, <i>A<\/i>, which indicates pairs of vertices that are adjacent in the graph:<\/p>\n<p><i>L<\/i> = <i>D<\/i> \u2013 <i>A<\/i><\/p>\n<p>Spectral clustering can be carried out by applying some standard clustering method (such as <i>k<\/i>-means) on the eigenvectors of the Laplacian matrix, hence partitioning the graph nodes (or the data points) into subsets.<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p>One issue that can arise in doing so relates to a problem of scalability with large datasets, where the eigen-decomposition (or the extraction of the eigenvectors) of the Laplacian matrix may be prohibitive. The use of deep learning has been <a href=\"https:\/\/arxiv.org\/pdf\/1801.01587.pdf\">proposed<\/a> to address this problem, where a deep neural network is trained such that its outputs approximate the eigenvectors of the graph Laplacian. The neural network, in this case, is trained using a constrained optimization approach, to enforce the orthogonality of the network outputs.<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<h2><b>Further Reading<\/b><\/h2>\n<p>This section provides more resources on the topic if you are looking to go deeper.<\/p>\n<h3><b>Books<\/b><\/h3>\n<ul>\n<li>\n<a href=\"https:\/\/www.whitman.edu\/mathematics\/multivariable\/multivariable.pdf\">Single and Multivariable Calculus<\/a>, 2020.<\/li>\n<li>\n<a href=\"https:\/\/www.amazon.com\/Handbook-Processing-Communications-Networking-Multimedia-dp-0121197921\/dp\/0121197921\/ref=mt_other?_encoding=UTF8&amp;me=&amp;qid=1626692109\">Handbook of Image and Video Processing<\/a>, 2005.<span class=\"Apple-converted-space\">\u00a0<\/span>\n<\/li>\n<\/ul>\n<h3><b>Articles<\/b><\/h3>\n<ul>\n<li>\n<a href=\"https:\/\/en.wikipedia.org\/wiki\/Laplace_operator\">Laplace operator, Wikipedia<\/a>.<span class=\"Apple-converted-space\">\u00a0<\/span>\n<\/li>\n<li>\n<a href=\"https:\/\/en.wikipedia.org\/wiki\/Divergence\">Divergence, Wikipedia<\/a>.<span class=\"Apple-converted-space\">\u00a0<\/span>\n<\/li>\n<li>\n<a href=\"https:\/\/en.wikipedia.org\/wiki\/Discrete_Laplace_operator\">Discrete Laplace operator, Wikipedia<\/a>.<\/li>\n<li>\n<a href=\"https:\/\/en.wikipedia.org\/wiki\/Laplacian_matrix\">Laplacian matrix, Wikipedia<\/a>.<span class=\"Apple-converted-space\">\u00a0<\/span>\n<\/li>\n<li>\n<a href=\"https:\/\/en.wikipedia.org\/wiki\/Spectral_clustering\">Spectral clustering, Wikipedia<\/a>.<span class=\"Apple-converted-space\">\u00a0<\/span>\n<\/li>\n<\/ul>\n<h3><b>Papers<\/b><\/h3>\n<ul>\n<li>\n<a href=\"https:\/\/arxiv.org\/pdf\/1801.01587.pdf\">SpectralNet: Spectral Clustering Using Deep Neural Networks<\/a>, 2018.<\/li>\n<\/ul>\n<h2><b>Summary<\/b><\/h2>\n<p>In this tutorial, you discovered\u00a0a gentle introduction to the Laplacian.<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p>Specifically, you learned:<\/p>\n<ul>\n<li>The definition of the Laplace operator and how it relates to divergence.<\/li>\n<li>How the Laplace operator relates to the Hessian.<span class=\"Apple-converted-space\">\u00a0<\/span>\n<\/li>\n<li>How the continuous Laplace operator has been recasted to discrete-space, and applied to image processing and spectral clustering.<\/li>\n<\/ul>\n<p>Do you have any questions?<br \/>\nAsk your questions in the comments below and I will do my best to answer.<\/p>\n<p>The post <a rel=\"nofollow\" href=\"https:\/\/machinelearningmastery.com\/a-gentle-introduction-to-the-laplacian\/\">A Gentle Introduction to the Laplacian<\/a> appeared first on <a rel=\"nofollow\" href=\"https:\/\/machinelearningmastery.com\/\">Machine Learning Mastery<\/a>.<\/p>\n<\/div>\n<p><a href=\"https:\/\/machinelearningmastery.com\/a-gentle-introduction-to-the-laplacian\/\">Go to Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Author: Stefania Cristina The Laplace operator was first applied to the study of celestial mechanics, or the motion of objects in outer space, by Pierre-Simon [&hellip;] <span class=\"read-more-link\"><a class=\"read-more\" href=\"https:\/\/www.aiproblog.com\/index.php\/2021\/08\/07\/a-gentle-introduction-to-the-laplacian\/\">Read More<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":4902,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[24],"tags":[],"_links":{"self":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts\/4901"}],"collection":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/comments?post=4901"}],"version-history":[{"count":0,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts\/4901\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/media\/4902"}],"wp:attachment":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/media?parent=4901"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/categories?post=4901"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/tags?post=4901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}