{"id":5124,"date":"2021-01-20T08:39:14","date_gmt":"2021-01-20T08:39:14","guid":{"rendered":"https:\/\/joapen.com\/blog\/?p=5124"},"modified":"2021-01-20T08:39:14","modified_gmt":"2021-01-20T08:39:14","slug":"tuning-a-machine-learning-model","status":"publish","type":"post","link":"https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/","title":{"rendered":"Tuning a Machine Learning Model"},"content":{"rendered":"<p>I continue taking some basic notes of the book &#8220;<a href=\"https:\/\/joapen.com\/blog\/2021\/01\/20\/enterprise-artificial-intelligence-and-machine-learning-for-managers\/\" target=\"_blank\" rel=\"noopener\">Enterprise Artificial Intelligence and Machine Learning for Managers<\/a>&#8220;.<\/p>\n<p>Tuning a machine learning model is an<strong> iterative<\/strong> process. Data scientists typically run<br \/>\nnumerous experiments to train and evaluate models, trying out different features,<br \/>\ndifferent loss functions, different AI\/ML models, and adjusting model parameters<br \/>\nand hyper-parameters.<\/p>\n<h1>Feature engineering<\/h1>\n<p>Feature engineering broadly refers to mathematical transformations of raw data in order to feed appropriate signals into AI\/ML models.<\/p>\n<p>In real world data are derived from a variety of source systems and typically are not reconciled or aligned in time and space. Data scientists often put significant effort into defining data transformation pipelines and building out their feature vectors.<\/p>\n<p>In addition, data scientists should implement requirements for feature normalization or scaling to ensure that no one feature overpowers the algorithm.<\/p>\n<h1>Loss Functions<\/h1>\n<p>A loss function serves as the objective function that the AI\/ML algorithm is seeking to optimize during training efforts. During model training, the AI\/ML algorithm aims to minimize the loss function. Data scientists often consider different loss functions to<br \/>\nimprove the model \u2013 e.g., make the model less sensitive to outliers, better handle noise, or reduce over-fitting.<\/p>\n<p>A simple example of a loss function is mean squared error (MSE), which often is used to optimize regression models. MSE measures the average of squared difference between predictions and actual output values.<\/p>\n<figure id=\"attachment_5125\" aria-describedby=\"caption-attachment-5125\" style=\"width: 824px\" class=\"wp-caption alignright\"><a href=\"https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/lossfunction-example\/\" rel=\"attachment wp-att-5125\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5125\" src=\"https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/01\/LossFunction-Example.jpg\" alt=\"\" width=\"834\" height=\"332\" srcset=\"https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/01\/LossFunction-Example.jpg 834w, https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/01\/LossFunction-Example-300x119.jpg 300w, https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/01\/LossFunction-Example-768x306.jpg 768w, https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/01\/LossFunction-Example-500x199.jpg 500w\" sizes=\"auto, (max-width: 834px) 100vw, 834px\" \/><\/a><figcaption id=\"caption-attachment-5125\" class=\"wp-caption-text\">These two linear regression models have the same MSE, but the model on<br \/>the left is under-predicting and the model on the right is over-predicting.<\/figcaption><\/figure>\n<p>It is important, to recognize the weaknesses of loss functions. Over-relying on loss functions as an indicator of prediction accuracy may lead to erroneous model set points.<\/p>\n<h1>Regularization<\/h1>\n<p>Regularization is a method to balance over-fitting and under-fitting a model during training. Both over-fitting and under-fitting are problems that ultimately cause poor predictions on new data.<\/p>\n<ul>\n<li><strong>Over-fitting<\/strong> occurs when a machine learning model is tuned to learn the noise in the data rather than the patterns or trends in the data. A supervised model that is over-fit will typically perform well on data the model was trained on, but perform poorly on data the model has not seen before.<\/li>\n<li><strong>Under-fitting<\/strong> occurs when the machine learning model does not capture variations in the data \u2013 where the variations in data are not caused by noise. Such a model is considered to have high bias, or low variance. A supervised model that is under-fit will typically perform poorly on both data the model was trained on, and<br \/>\non data the model has not seen before.<\/li>\n<\/ul>\n<figure id=\"attachment_5126\" aria-describedby=\"caption-attachment-5126\" style=\"width: 826px\" class=\"wp-caption alignright\"><a href=\"https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/regularization-ml-jpg\/\" rel=\"attachment wp-att-5126\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5126\" src=\"https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/01\/Regularization-ML-jpg.jpg\" alt=\"\" width=\"836\" height=\"225\" srcset=\"https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/01\/Regularization-ML-jpg.jpg 836w, https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/01\/Regularization-ML-jpg-300x81.jpg 300w, https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/01\/Regularization-ML-jpg-768x207.jpg 768w, https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/01\/Regularization-ML-jpg-500x135.jpg 500w\" sizes=\"auto, (max-width: 836px) 100vw, 836px\" \/><\/a><figcaption id=\"caption-attachment-5126\" class=\"wp-caption-text\">Regularization helps to balance variance and bias during model training.<\/figcaption><\/figure>\n<p>Regularization is a technique to adjust how closely a model is trained to fit historical data. One way to apply regularization is by adding a parameter that penalizes the loss function when the tuned model is overfit.<\/p>\n<h1>Hyper-parameters<\/h1>\n<p>Hyper-parameters are model parameters that are specified before training a model \u2013 i.e., parameters that are different from model parameters \u2013 or weights that an AI\/ML model learns during model training.<\/p>\n<p>Finding the best hyper-parameters is an iterative and potentially time intensive<br \/>\nprocess called \u201chyper-parameter optimization.\u201d<\/p>\n<p>Examples:<\/p>\n<ul>\n<li>Number of hidden layers and the learning rate of deep neural network algorithms.<\/li>\n<li>Number of leaves and depth of trees in decision tree algorithms.<\/li>\n<li>Number of clusters in clustering algorithms.<\/li>\n<\/ul>\n<p>To address the challenge of hyper-parameter optimization, data scientists use specific optimization algorithms designed for this task (i.e.: grid search, random search, and Bayesian optimization). These optimization approaches help narrow the search<br \/>\nspace of all possible hyper-parameter combinations to find the best (or near best) result.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I continue taking some basic notes of the book &#8220;Enterprise Artificial Intelligence and Machine Learning for Managers&#8220;. Tuning a machine learning model is an iterative process. Data scientists typically run numerous experiments to train and evaluate models, trying out different features, different loss functions, different AI\/ML models, and adjusting model parameters and hyper-parameters. Feature engineering &#8230; <a title=\"Tuning a Machine Learning Model\" class=\"read-more\" href=\"https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/\" aria-label=\"Read more about Tuning a Machine Learning Model\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[151],"tags":[],"class_list":["post-5124","post","type-post","status-publish","format-standard","hentry","category-machine-learning"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tuning a Machine Learning Model -<\/title>\n<meta name=\"description\" content=\"I continue taking some basic notes of the book &quot;Enterprise Artificial Intelligence and Machine Learning for Managers&quot;. Tuning a machine learning model is - joapen projects\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tuning a Machine Learning Model -\" \/>\n<meta property=\"og:description\" content=\"I continue taking some basic notes of the book &quot;Enterprise Artificial Intelligence and Machine Learning for Managers&quot;. Tuning a machine learning model is - joapen projects\" \/>\n<meta property=\"og:url\" content=\"https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/\" \/>\n<meta property=\"og:site_name\" content=\"joapen projects\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-20T08:39:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/01\/LossFunction-Example.jpg\" \/>\n<meta name=\"author\" content=\"joapen\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"joapen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/2021\\\/01\\\/20\\\/tuning-a-machine-learning-model\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/2021\\\/01\\\/20\\\/tuning-a-machine-learning-model\\\/\"},\"author\":{\"name\":\"joapen\",\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/#\\\/schema\\\/person\\\/23919df2312175fe9c4609203595b217\"},\"headline\":\"Tuning a Machine Learning Model\",\"datePublished\":\"2021-01-20T08:39:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/2021\\\/01\\\/20\\\/tuning-a-machine-learning-model\\\/\"},\"wordCount\":617,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/#\\\/schema\\\/person\\\/23919df2312175fe9c4609203595b217\"},\"image\":{\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/2021\\\/01\\\/20\\\/tuning-a-machine-learning-model\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/joapen.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/LossFunction-Example.jpg\",\"articleSection\":[\"Machine Learning\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/joapen.com\\\/blog\\\/2021\\\/01\\\/20\\\/tuning-a-machine-learning-model\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/2021\\\/01\\\/20\\\/tuning-a-machine-learning-model\\\/\",\"url\":\"https:\\\/\\\/joapen.com\\\/blog\\\/2021\\\/01\\\/20\\\/tuning-a-machine-learning-model\\\/\",\"name\":\"Tuning a Machine Learning Model -\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/2021\\\/01\\\/20\\\/tuning-a-machine-learning-model\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/2021\\\/01\\\/20\\\/tuning-a-machine-learning-model\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/joapen.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/LossFunction-Example.jpg\",\"datePublished\":\"2021-01-20T08:39:14+00:00\",\"description\":\"I continue taking some basic notes of the book \\\"Enterprise Artificial Intelligence and Machine Learning for Managers\\\". Tuning a machine learning model is - joapen projects\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/2021\\\/01\\\/20\\\/tuning-a-machine-learning-model\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/joapen.com\\\/blog\\\/2021\\\/01\\\/20\\\/tuning-a-machine-learning-model\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/2021\\\/01\\\/20\\\/tuning-a-machine-learning-model\\\/#primaryimage\",\"url\":\"https:\\\/\\\/joapen.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/LossFunction-Example.jpg\",\"contentUrl\":\"https:\\\/\\\/joapen.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/LossFunction-Example.jpg\",\"width\":834,\"height\":332,\"caption\":\"These two linear regression models have the same MSE, but the model on the left is under-predicting and the model on the right is over-predicting.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/2021\\\/01\\\/20\\\/tuning-a-machine-learning-model\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/joapen.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tuning a Machine Learning Model\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/joapen.com\\\/blog\\\/\",\"name\":\"joapen projects\",\"description\":\"Just a place to write\",\"publisher\":{\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/#\\\/schema\\\/person\\\/23919df2312175fe9c4609203595b217\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/joapen.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/#\\\/schema\\\/person\\\/23919df2312175fe9c4609203595b217\",\"name\":\"joapen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/joapen-mini.jpeg\",\"url\":\"https:\\\/\\\/joapen.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/joapen-mini.jpeg\",\"contentUrl\":\"https:\\\/\\\/joapen.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/joapen-mini.jpeg\",\"width\":400,\"height\":400,\"caption\":\"joapen\"},\"logo\":{\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/joapen-mini.jpeg\"},\"sameAs\":[\"http:\\\/\\\/www.joapen.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tuning a Machine Learning Model -","description":"I continue taking some basic notes of the book \"Enterprise Artificial Intelligence and Machine Learning for Managers\". Tuning a machine learning model is - joapen projects","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/","og_locale":"en_US","og_type":"article","og_title":"Tuning a Machine Learning Model -","og_description":"I continue taking some basic notes of the book \"Enterprise Artificial Intelligence and Machine Learning for Managers\". Tuning a machine learning model is - joapen projects","og_url":"https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/","og_site_name":"joapen projects","article_published_time":"2021-01-20T08:39:14+00:00","og_image":[{"url":"https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/01\/LossFunction-Example.jpg","type":"","width":"","height":""}],"author":"joapen","twitter_misc":{"Written by":"joapen","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/#article","isPartOf":{"@id":"https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/"},"author":{"name":"joapen","@id":"https:\/\/joapen.com\/blog\/#\/schema\/person\/23919df2312175fe9c4609203595b217"},"headline":"Tuning a Machine Learning Model","datePublished":"2021-01-20T08:39:14+00:00","mainEntityOfPage":{"@id":"https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/"},"wordCount":617,"commentCount":0,"publisher":{"@id":"https:\/\/joapen.com\/blog\/#\/schema\/person\/23919df2312175fe9c4609203595b217"},"image":{"@id":"https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/#primaryimage"},"thumbnailUrl":"https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/01\/LossFunction-Example.jpg","articleSection":["Machine Learning"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/","url":"https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/","name":"Tuning a Machine Learning Model -","isPartOf":{"@id":"https:\/\/joapen.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/#primaryimage"},"image":{"@id":"https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/#primaryimage"},"thumbnailUrl":"https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/01\/LossFunction-Example.jpg","datePublished":"2021-01-20T08:39:14+00:00","description":"I continue taking some basic notes of the book \"Enterprise Artificial Intelligence and Machine Learning for Managers\". Tuning a machine learning model is - joapen projects","breadcrumb":{"@id":"https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/#primaryimage","url":"https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/01\/LossFunction-Example.jpg","contentUrl":"https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/01\/LossFunction-Example.jpg","width":834,"height":332,"caption":"These two linear regression models have the same MSE, but the model on the left is under-predicting and the model on the right is over-predicting."},{"@type":"BreadcrumbList","@id":"https:\/\/joapen.com\/blog\/2021\/01\/20\/tuning-a-machine-learning-model\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/joapen.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Tuning a Machine Learning Model"}]},{"@type":"WebSite","@id":"https:\/\/joapen.com\/blog\/#website","url":"https:\/\/joapen.com\/blog\/","name":"joapen projects","description":"Just a place to write","publisher":{"@id":"https:\/\/joapen.com\/blog\/#\/schema\/person\/23919df2312175fe9c4609203595b217"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/joapen.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/joapen.com\/blog\/#\/schema\/person\/23919df2312175fe9c4609203595b217","name":"joapen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/04\/joapen-mini.jpeg","url":"https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/04\/joapen-mini.jpeg","contentUrl":"https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/04\/joapen-mini.jpeg","width":400,"height":400,"caption":"joapen"},"logo":{"@id":"https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/04\/joapen-mini.jpeg"},"sameAs":["http:\/\/www.joapen.com"]}]}},"_links":{"self":[{"href":"https:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/posts\/5124","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/comments?post=5124"}],"version-history":[{"count":2,"href":"https:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/posts\/5124\/revisions"}],"predecessor-version":[{"id":5128,"href":"https:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/posts\/5124\/revisions\/5128"}],"wp:attachment":[{"href":"https:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/media?parent=5124"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/categories?post=5124"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/tags?post=5124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}