<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Modelling on Local Optima</title><link>https://anhosu.com/tags/modelling/</link><description>Recent content in Modelling on Local Optima</description><generator>Hugo</generator><language>en-us</language><copyright>© {year} Anders E. Nielsen</copyright><lastBuildDate>Wed, 16 Aug 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://anhosu.com/tags/modelling/index.xml" rel="self" type="application/rss+xml"/><item><title>Initial Designs for Bayesian Optimisation</title><link>https://anhosu.com/post/initial-designs-r/</link><pubDate>Wed, 16 Aug 2023 00:00:00 +0000</pubDate><guid>https://anhosu.com/post/initial-designs-r/</guid><description>&lt;!DOCTYPE html&gt;&#10;&lt;html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""&gt;&lt;head&gt;&#10; &lt;meta charset="utf-8"&gt;&#10; &lt;meta name="generator" content="quarto-0.2.243"&gt;&#10; &lt;meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"&gt;&#10; &lt;title&gt;index&lt;/title&gt;&#10; &lt;style&gt;&#10; code{white-space: pre-wrap;}&#10; span.smallcaps{font-variant: small-caps;}&#10; span.underline{text-decoration: underline;}&#10; div.column{display: inline-block; vertical-align: top; width: 50%;}&#10; div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}&#10; ul.task-list{list-style: none;}&#10; pre &gt; code.sourceCode { white-space: pre; position: relative; }&#10; pre &gt; code.sourceCode &gt; span { display: inline-block; line-height: 1.25; }&#10; pre &gt; code.sourceCode &gt; span:empty { height: 1.2em; }&#10; .sourceCode { overflow: visible; }&#10; code.sourceCode &gt; span { color: inherit; text-decoration: inherit; }&#10; div.sourceCode { margin: 1em 0; }&#10; pre.sourceCode { margin: 0; }&#10; @media screen {&#10; div.sourceCode { overflow: auto; }&#10; }&#10; @media print {&#10; pre &gt; code.sourceCode { white-space: pre-wrap; }&#10; pre &gt; code.sourceCode &gt; span { text-indent: -5em; padding-left: 5em; }&#10; }&#10; pre.numberSource code&#10; { counter-reset: source-line 0; }&#10; pre.numberSource code &gt; span&#10; { position: relative; left: -4em; counter-increment: source-line; }&#10; pre.numberSource code &gt; span &gt; a:first-child::before&#10; { content: counter(source-line);&#10; position: relative; left: -1em; text-align: right; vertical-align: baseline;&#10; border: none; display: inline-block;&#10; -webkit-touch-callout: none; -webkit-user-select: none;&#10; -khtml-user-select: none; -moz-user-select: none;&#10; -ms-user-select: none; user-select: none;&#10; padding: 0 4px; width: 4em;&#10; color: #aaaaaa;&#10; }&#10; pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }&#10; div.sourceCode&#10; { }&#10; @media screen {&#10; pre &gt; code.sourceCode &gt; span &gt; a:first-child::before { text-decoration: underline; }&#10; }&#10; code span.al { color: #ff0000; font-weight: bold; } /* Alert */&#10; code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */&#10; code span.at { color: #7d9029; } /* Attribute */&#10; code span.bn { color: #40a070; } /* BaseN */&#10; code span.bu { } /* BuiltIn */&#10; code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */&#10; code span.ch { color: #4070a0; } /* Char */&#10; code span.cn { color: #880000; } /* Constant */&#10; code span.co { color: #60a0b0; font-style: italic; } /* Comment */&#10; code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */&#10; code span.do { color: #ba2121; font-style: italic; } /* Documentation */&#10; code span.dt { color: #902000; } /* DataType */&#10; code span.dv { color: #40a070; } /* DecVal */&#10; code span.er { color: #ff0000; font-weight: bold; } /* Error */&#10; code span.ex { } /* Extension */&#10; code span.fl { color: #40a070; } /* Float */&#10; code span.fu { color: #06287e; } /* Function */&#10; code span.im { } /* Import */&#10; code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */&#10; code span.kw { color: #007020; font-weight: bold; } /* Keyword */&#10; code span.op { color: #666666; } /* Operator */&#10; code span.ot { color: #007020; } /* Other */&#10; code span.pp { color: #bc7a00; } /* Preprocessor */&#10; code span.sc { color: #4070a0; } /* SpecialChar */&#10; code span.ss { color: #bb6688; } /* SpecialString */&#10; code span.st { color: #4070a0; } /* String */&#10; code span.va { color: #19177c; } /* Variable */&#10; code span.vs { color: #4070a0; } /* VerbatimString */&#10; code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */&#10; div.csl-bib-body { }&#10; div.csl-entry {&#10; clear: both;&#10; }&#10; .hanging div.csl-entry {&#10; margin-left:2em;&#10; text-indent:-2em;&#10; }&#10; div.csl-left-margin {&#10; min-width:2em;&#10; float:left;&#10; }&#10; div.csl-right-inline {&#10; margin-left:2em;&#10; padding-left:1em;&#10; }&#10; div.csl-indent {&#10; margin-left: 2em;&#10; }&#10; &lt;/style&gt;&#10;&#10; &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.11.1/katex.min.js"&gt;&lt;/script&gt;&#10; &lt;script&gt;document.addEventListener("DOMContentLoaded", function () {&#10; var mathElements = document.getElementsByClassName("math");&#10; var macros = [];&#10; for (var i = 0; i &lt; mathElements.length; i++) {&#10; var texText = mathElements[i].firstChild;&#10; if (mathElements[i].tagName == "SPAN") {&#10; katex.render(texText.data, mathElements[i], {&#10; displayMode: mathElements[i].classList.contains('display'),&#10; throwOnError: false,&#10; macros: macros,&#10; fleqn: false&#10; });&#10; }}});&#10; &lt;/script&gt;&#10; &lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.11.1/katex.min.css"&gt;&#10; &lt;script src="index_files/libs/clipboard/clipboard.min.js"&gt;&lt;/script&gt;&#10; &lt;link href="index_files/libs/quarto-html/quarto-html.min.css" rel="stylesheet"&gt;&#10; &lt;link href="index_files/libs/quarto-html/quarto-syntax-highlighting.css" rel="stylesheet"&gt;&#10;&lt;/head&gt;&#10;&lt;body&gt;&#10;&lt;p&gt;Bayesian optimisation is a powerful optimisation technique for black-box functions and processes with expensive evaluations. It is popular for hyperparameter tuning in machine learning, but has many real-world applications as well.&lt;/p&gt;</description></item><item><title>Test Functions for Bayesian Optimisation</title><link>https://anhosu.com/post/test-functions-r/</link><pubDate>Sun, 16 Jul 2023 00:00:00 +0000</pubDate><guid>https://anhosu.com/post/test-functions-r/</guid><description>&lt;!DOCTYPE html&gt;&#10;&lt;html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""&gt;&lt;head&gt;&#10; &lt;meta charset="utf-8"&gt;&#10; &lt;meta name="generator" content="quarto-0.2.243"&gt;&#10; &lt;meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"&gt;&#10; &lt;title&gt;index&lt;/title&gt;&#10; &lt;style&gt;&#10; code{white-space: pre-wrap;}&#10; span.smallcaps{font-variant: small-caps;}&#10; span.underline{text-decoration: underline;}&#10; div.column{display: inline-block; vertical-align: top; width: 50%;}&#10; div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}&#10; ul.task-list{list-style: none;}&#10; pre &gt; code.sourceCode { white-space: pre; position: relative; }&#10; pre &gt; code.sourceCode &gt; span { display: inline-block; line-height: 1.25; }&#10; pre &gt; code.sourceCode &gt; span:empty { height: 1.2em; }&#10; .sourceCode { overflow: visible; }&#10; code.sourceCode &gt; span { color: inherit; text-decoration: inherit; }&#10; div.sourceCode { margin: 1em 0; }&#10; pre.sourceCode { margin: 0; }&#10; @media screen {&#10; div.sourceCode { overflow: auto; }&#10; }&#10; @media print {&#10; pre &gt; code.sourceCode { white-space: pre-wrap; }&#10; pre &gt; code.sourceCode &gt; span { text-indent: -5em; padding-left: 5em; }&#10; }&#10; pre.numberSource code&#10; { counter-reset: source-line 0; }&#10; pre.numberSource code &gt; span&#10; { position: relative; left: -4em; counter-increment: source-line; }&#10; pre.numberSource code &gt; span &gt; a:first-child::before&#10; { content: counter(source-line);&#10; position: relative; left: -1em; text-align: right; vertical-align: baseline;&#10; border: none; display: inline-block;&#10; -webkit-touch-callout: none; -webkit-user-select: none;&#10; -khtml-user-select: none; -moz-user-select: none;&#10; -ms-user-select: none; user-select: none;&#10; padding: 0 4px; width: 4em;&#10; color: #aaaaaa;&#10; }&#10; pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }&#10; div.sourceCode&#10; { }&#10; @media screen {&#10; pre &gt; code.sourceCode &gt; span &gt; a:first-child::before { text-decoration: underline; }&#10; }&#10; code span.al { color: #ff0000; font-weight: bold; } /* Alert */&#10; code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */&#10; code span.at { color: #7d9029; } /* Attribute */&#10; code span.bn { color: #40a070; } /* BaseN */&#10; code span.bu { } /* BuiltIn */&#10; code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */&#10; code span.ch { color: #4070a0; } /* Char */&#10; code span.cn { color: #880000; } /* Constant */&#10; code span.co { color: #60a0b0; font-style: italic; } /* Comment */&#10; code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */&#10; code span.do { color: #ba2121; font-style: italic; } /* Documentation */&#10; code span.dt { color: #902000; } /* DataType */&#10; code span.dv { color: #40a070; } /* DecVal */&#10; code span.er { color: #ff0000; font-weight: bold; } /* Error */&#10; code span.ex { } /* Extension */&#10; code span.fl { color: #40a070; } /* Float */&#10; code span.fu { color: #06287e; } /* Function */&#10; code span.im { } /* Import */&#10; code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */&#10; code span.kw { color: #007020; font-weight: bold; } /* Keyword */&#10; code span.op { color: #666666; } /* Operator */&#10; code span.ot { color: #007020; } /* Other */&#10; code span.pp { color: #bc7a00; } /* Preprocessor */&#10; code span.sc { color: #4070a0; } /* SpecialChar */&#10; code span.ss { color: #bb6688; } /* SpecialString */&#10; code span.st { color: #4070a0; } /* String */&#10; code span.va { color: #19177c; } /* Variable */&#10; code span.vs { color: #4070a0; } /* VerbatimString */&#10; code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */&#10; div.csl-bib-body { }&#10; div.csl-entry {&#10; clear: both;&#10; }&#10; .hanging div.csl-entry {&#10; margin-left:2em;&#10; text-indent:-2em;&#10; }&#10; div.csl-left-margin {&#10; min-width:2em;&#10; float:left;&#10; }&#10; div.csl-right-inline {&#10; margin-left:2em;&#10; padding-left:1em;&#10; }&#10; div.csl-indent {&#10; margin-left: 2em;&#10; }&#10; &lt;/style&gt;&#10;&#10; &lt;script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js" type="text/javascript"&gt;&lt;/script&gt;&#10; &lt;!--[if lt IE 9]&gt;&#10; &lt;script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"&gt;&lt;/script&gt;&#10; &lt;![endif]--&gt;&#10; &lt;script src="index_files/libs/clipboard/clipboard.min.js"&gt;&lt;/script&gt;&#10; &lt;script src="index_files/libs/quarto-html/tabby.min.js"&gt;&lt;/script&gt;&#10; &lt;script src="index_files/libs/quarto-html/popper.min.js"&gt;&lt;/script&gt;&#10; &lt;script src="index_files/libs/quarto-html/tippy.umd.min.js"&gt;&lt;/script&gt;&#10; &lt;script src="index_files/libs/quarto-html/anchor.min.js"&gt;&lt;/script&gt;&#10; &lt;link href="index_files/libs/quarto-html/tippy.css" rel="stylesheet"&gt;&#10; &lt;link href="index_files/libs/quarto-html/light-border.css" rel="stylesheet"&gt;&#10; &lt;link href="index_files/libs/quarto-html/quarto-html.min.css" rel="stylesheet"&gt;&#10; &lt;link href="index_files/libs/quarto-html/quarto-syntax-highlighting.css" rel="stylesheet"&gt;&#10; &lt;script src="index_files/libs/htmlwidgets-1.5.4/htmlwidgets.js"&gt;&lt;/script&gt;&#10; &lt;script src="index_files/libs/plotly-binding-4.10.2/plotly.js"&gt;&lt;/script&gt;&#10; &lt;script src="index_files/libs/typedarray-0.1/typedarray.min.js"&gt;&lt;/script&gt;&#10; &lt;script src="index_files/libs/jquery-3.5.1/jquery.min.js"&gt;&lt;/script&gt;&#10; &lt;link href="index_files/libs/crosstalk-1.2.0/css/crosstalk.min.css" rel="stylesheet"&gt;&#10; &lt;script src="index_files/libs/crosstalk-1.2.0/js/crosstalk.min.js"&gt;&lt;/script&gt;&#10; &lt;link href="index_files/libs/plotly-htmlwidgets-css-2.11.1/plotly-htmlwidgets.css" rel="stylesheet"&gt;&#10; &lt;script src="index_files/libs/plotly-main-2.11.1/plotly-latest.min.js"&gt;&lt;/script&gt;&#10;&lt;/head&gt;&#10;&lt;body&gt;&#10;&lt;p&gt;Bayesian optimisation is a powerful optimisation technique for black-box functions and processes with expensive evaluations. It is popular for hyperparameter tuning in machine learning, but has many real-world applications as well.&lt;/p&gt;</description></item><item><title>Alternative Surrogate Models for Bayesian Optimisation</title><link>https://anhosu.com/post/alternative-surrogate-models-for-bayesian-optimisation/</link><pubDate>Thu, 15 Jun 2023 00:00:00 +0000</pubDate><guid>https://anhosu.com/post/alternative-surrogate-models-for-bayesian-optimisation/</guid><description>&lt;!DOCTYPE html&gt;&#10;&lt;html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""&gt;&lt;head&gt;&#10; &lt;meta charset="utf-8"&gt;&#10; &lt;meta name="generator" content="quarto-0.2.243"&gt;&#10; &lt;meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"&gt;&#10; &lt;title&gt;index&lt;/title&gt;&#10; &lt;style&gt;&#10; code{white-space: pre-wrap;}&#10; span.smallcaps{font-variant: small-caps;}&#10; span.underline{text-decoration: underline;}&#10; div.column{display: inline-block; vertical-align: top; width: 50%;}&#10; div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}&#10; ul.task-list{list-style: none;}&#10; pre &gt; code.sourceCode { white-space: pre; position: relative; }&#10; pre &gt; code.sourceCode &gt; span { display: inline-block; line-height: 1.25; }&#10; pre &gt; code.sourceCode &gt; span:empty { height: 1.2em; }&#10; .sourceCode { overflow: visible; }&#10; code.sourceCode &gt; span { color: inherit; text-decoration: inherit; }&#10; div.sourceCode { margin: 1em 0; }&#10; pre.sourceCode { margin: 0; }&#10; @media screen {&#10; div.sourceCode { overflow: auto; }&#10; }&#10; @media print {&#10; pre &gt; code.sourceCode { white-space: pre-wrap; }&#10; pre &gt; code.sourceCode &gt; span { text-indent: -5em; padding-left: 5em; }&#10; }&#10; pre.numberSource code&#10; { counter-reset: source-line 0; }&#10; pre.numberSource code &gt; span&#10; { position: relative; left: -4em; counter-increment: source-line; }&#10; pre.numberSource code &gt; span &gt; a:first-child::before&#10; { content: counter(source-line);&#10; position: relative; left: -1em; text-align: right; vertical-align: baseline;&#10; border: none; display: inline-block;&#10; -webkit-touch-callout: none; -webkit-user-select: none;&#10; -khtml-user-select: none; -moz-user-select: none;&#10; -ms-user-select: none; user-select: none;&#10; padding: 0 4px; width: 4em;&#10; color: #aaaaaa;&#10; }&#10; pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }&#10; div.sourceCode&#10; { }&#10; @media screen {&#10; pre &gt; code.sourceCode &gt; span &gt; a:first-child::before { text-decoration: underline; }&#10; }&#10; code span.al { color: #ff0000; font-weight: bold; } /* Alert */&#10; code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */&#10; code span.at { color: #7d9029; } /* Attribute */&#10; code span.bn { color: #40a070; } /* BaseN */&#10; code span.bu { } /* BuiltIn */&#10; code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */&#10; code span.ch { color: #4070a0; } /* Char */&#10; code span.cn { color: #880000; } /* Constant */&#10; code span.co { color: #60a0b0; font-style: italic; } /* Comment */&#10; code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */&#10; code span.do { color: #ba2121; font-style: italic; } /* Documentation */&#10; code span.dt { color: #902000; } /* DataType */&#10; code span.dv { color: #40a070; } /* DecVal */&#10; code span.er { color: #ff0000; font-weight: bold; } /* Error */&#10; code span.ex { } /* Extension */&#10; code span.fl { color: #40a070; } /* Float */&#10; code span.fu { color: #06287e; } /* Function */&#10; code span.im { } /* Import */&#10; code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */&#10; code span.kw { color: #007020; font-weight: bold; } /* Keyword */&#10; code span.op { color: #666666; } /* Operator */&#10; code span.ot { color: #007020; } /* Other */&#10; code span.pp { color: #bc7a00; } /* Preprocessor */&#10; code span.sc { color: #4070a0; } /* SpecialChar */&#10; code span.ss { color: #bb6688; } /* SpecialString */&#10; code span.st { color: #4070a0; } /* String */&#10; code span.va { color: #19177c; } /* Variable */&#10; code span.vs { color: #4070a0; } /* VerbatimString */&#10; code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */&#10; div.csl-bib-body { }&#10; div.csl-entry {&#10; clear: both;&#10; }&#10; .hanging div.csl-entry {&#10; margin-left:2em;&#10; text-indent:-2em;&#10; }&#10; div.csl-left-margin {&#10; min-width:2em;&#10; float:left;&#10; }&#10; div.csl-right-inline {&#10; margin-left:2em;&#10; padding-left:1em;&#10; }&#10; div.csl-indent {&#10; margin-left: 2em;&#10; }&#10; &lt;/style&gt;&#10;&#10; &lt;script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js" type="text/javascript"&gt;&lt;/script&gt;&#10; &lt;script src="index_files/libs/clipboard/clipboard.min.js"&gt;&lt;/script&gt;&#10; &lt;link href="index_files/libs/quarto-html/quarto-html.min.css" rel="stylesheet"&gt;&#10; &lt;link href="index_files/libs/quarto-html/quarto-syntax-highlighting.css" rel="stylesheet"&gt;&#10;&lt;/head&gt;&#10;&lt;body&gt;&#10;&lt;p&gt;Bayesian optimisation is a powerful optimisation technique for black-box functions and processes with expensive evaluations. It is popular for hyperparameter tuning in machine learning, but has many real-world applications as well.&lt;/p&gt;</description></item><item><title>Acquisition Functions for Bayesian Optimisation</title><link>https://anhosu.com/post/acquisition-functions-r/</link><pubDate>Mon, 01 May 2023 00:00:00 +0000</pubDate><guid>https://anhosu.com/post/acquisition-functions-r/</guid><description>&lt;!DOCTYPE html&gt;&#10;&lt;html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""&gt;&lt;head&gt;&#10; &lt;meta charset="utf-8"&gt;&#10; &lt;meta name="generator" content="quarto-0.2.243"&gt;&#10; &lt;meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"&gt;&#10; &lt;title&gt;index&lt;/title&gt;&#10; &lt;style&gt;&#10; code{white-space: pre-wrap;}&#10; span.smallcaps{font-variant: small-caps;}&#10; span.underline{text-decoration: underline;}&#10; div.column{display: inline-block; vertical-align: top; width: 50%;}&#10; div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}&#10; ul.task-list{list-style: none;}&#10; pre &gt; code.sourceCode { white-space: pre; position: relative; }&#10; pre &gt; code.sourceCode &gt; span { display: inline-block; line-height: 1.25; }&#10; pre &gt; code.sourceCode &gt; span:empty { height: 1.2em; }&#10; .sourceCode { overflow: visible; }&#10; code.sourceCode &gt; span { color: inherit; text-decoration: inherit; }&#10; div.sourceCode { margin: 1em 0; }&#10; pre.sourceCode { margin: 0; }&#10; @media screen {&#10; div.sourceCode { overflow: auto; }&#10; }&#10; @media print {&#10; pre &gt; code.sourceCode { white-space: pre-wrap; }&#10; pre &gt; code.sourceCode &gt; span { text-indent: -5em; padding-left: 5em; }&#10; }&#10; pre.numberSource code&#10; { counter-reset: source-line 0; }&#10; pre.numberSource code &gt; span&#10; { position: relative; left: -4em; counter-increment: source-line; }&#10; pre.numberSource code &gt; span &gt; a:first-child::before&#10; { content: counter(source-line);&#10; position: relative; left: -1em; text-align: right; vertical-align: baseline;&#10; border: none; display: inline-block;&#10; -webkit-touch-callout: none; -webkit-user-select: none;&#10; -khtml-user-select: none; -moz-user-select: none;&#10; -ms-user-select: none; user-select: none;&#10; padding: 0 4px; width: 4em;&#10; color: #aaaaaa;&#10; }&#10; pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }&#10; div.sourceCode&#10; { }&#10; @media screen {&#10; pre &gt; code.sourceCode &gt; span &gt; a:first-child::before { text-decoration: underline; }&#10; }&#10; code span.al { color: #ff0000; font-weight: bold; } /* Alert */&#10; code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */&#10; code span.at { color: #7d9029; } /* Attribute */&#10; code span.bn { color: #40a070; } /* BaseN */&#10; code span.bu { } /* BuiltIn */&#10; code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */&#10; code span.ch { color: #4070a0; } /* Char */&#10; code span.cn { color: #880000; } /* Constant */&#10; code span.co { color: #60a0b0; font-style: italic; } /* Comment */&#10; code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */&#10; code span.do { color: #ba2121; font-style: italic; } /* Documentation */&#10; code span.dt { color: #902000; } /* DataType */&#10; code span.dv { color: #40a070; } /* DecVal */&#10; code span.er { color: #ff0000; font-weight: bold; } /* Error */&#10; code span.ex { } /* Extension */&#10; code span.fl { color: #40a070; } /* Float */&#10; code span.fu { color: #06287e; } /* Function */&#10; code span.im { } /* Import */&#10; code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */&#10; code span.kw { color: #007020; font-weight: bold; } /* Keyword */&#10; code span.op { color: #666666; } /* Operator */&#10; code span.ot { color: #007020; } /* Other */&#10; code span.pp { color: #bc7a00; } /* Preprocessor */&#10; code span.sc { color: #4070a0; } /* SpecialChar */&#10; code span.ss { color: #bb6688; } /* SpecialString */&#10; code span.st { color: #4070a0; } /* String */&#10; code span.va { color: #19177c; } /* Variable */&#10; code span.vs { color: #4070a0; } /* VerbatimString */&#10; code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */&#10; div.csl-bib-body { }&#10; div.csl-entry {&#10; clear: both;&#10; }&#10; .hanging div.csl-entry {&#10; margin-left:2em;&#10; text-indent:-2em;&#10; }&#10; div.csl-left-margin {&#10; min-width:2em;&#10; float:left;&#10; }&#10; div.csl-right-inline {&#10; margin-left:2em;&#10; padding-left:1em;&#10; }&#10; div.csl-indent {&#10; margin-left: 2em;&#10; }&#10; &lt;/style&gt;&#10;&#10; &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.11.1/katex.min.js"&gt;&lt;/script&gt;&#10; &lt;script&gt;document.addEventListener("DOMContentLoaded", function () {&#10; var mathElements = document.getElementsByClassName("math");&#10; var macros = [];&#10; for (var i = 0; i &lt; mathElements.length; i++) {&#10; var texText = mathElements[i].firstChild;&#10; if (mathElements[i].tagName == "SPAN") {&#10; katex.render(texText.data, mathElements[i], {&#10; displayMode: mathElements[i].classList.contains('display'),&#10; throwOnError: false,&#10; macros: macros,&#10; fleqn: false&#10; });&#10; }}});&#10; &lt;/script&gt;&#10; &lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.11.1/katex.min.css"&gt;&#10; &lt;script src="index_files/libs/clipboard/clipboard.min.js"&gt;&lt;/script&gt;&#10; &lt;link href="index_files/libs/quarto-html/quarto-html.min.css" rel="stylesheet"&gt;&#10; &lt;link href="index_files/libs/quarto-html/quarto-syntax-highlighting.css" rel="stylesheet"&gt;&#10;&lt;/head&gt;&#10;&lt;body&gt;&#10;&lt;p&gt;Bayesian optimisation is a powerful optimisation technique for black-box functions and processes with expensive evaluations. It is popular for hyperparameter tuning and model selection in machine learning, but has many real-world applications as well. One of the key components of Bayesian optimisation is the acquisition function, which guides the search process by balancing exploration and exploitation of the search space. In this post, we will dive into the role of acquisition functions in Bayesian optimisation and discuss some popular examples.&lt;/p&gt;</description></item><item><title>Kernels for Gaussian Processes</title><link>https://anhosu.com/post/kernels-r/</link><pubDate>Sun, 16 Apr 2023 00:00:00 +0000</pubDate><guid>https://anhosu.com/post/kernels-r/</guid><description>&lt;!DOCTYPE html&gt;&#10;&lt;html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""&gt;&lt;head&gt;&#10; &lt;meta charset="utf-8"&gt;&#10; &lt;meta name="generator" content="quarto-0.2.243"&gt;&#10; &lt;meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"&gt;&#10; &lt;title&gt;index&lt;/title&gt;&#10; &lt;style&gt;&#10; code{white-space: pre-wrap;}&#10; span.smallcaps{font-variant: small-caps;}&#10; span.underline{text-decoration: underline;}&#10; div.column{display: inline-block; vertical-align: top; width: 50%;}&#10; div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}&#10; ul.task-list{list-style: none;}&#10; pre &gt; code.sourceCode { white-space: pre; position: relative; }&#10; pre &gt; code.sourceCode &gt; span { display: inline-block; line-height: 1.25; }&#10; pre &gt; code.sourceCode &gt; span:empty { height: 1.2em; }&#10; .sourceCode { overflow: visible; }&#10; code.sourceCode &gt; span { color: inherit; text-decoration: inherit; }&#10; div.sourceCode { margin: 1em 0; }&#10; pre.sourceCode { margin: 0; }&#10; @media screen {&#10; div.sourceCode { overflow: auto; }&#10; }&#10; @media print {&#10; pre &gt; code.sourceCode { white-space: pre-wrap; }&#10; pre &gt; code.sourceCode &gt; span { text-indent: -5em; padding-left: 5em; }&#10; }&#10; pre.numberSource code&#10; { counter-reset: source-line 0; }&#10; pre.numberSource code &gt; span&#10; { position: relative; left: -4em; counter-increment: source-line; }&#10; pre.numberSource code &gt; span &gt; a:first-child::before&#10; { content: counter(source-line);&#10; position: relative; left: -1em; text-align: right; vertical-align: baseline;&#10; border: none; display: inline-block;&#10; -webkit-touch-callout: none; -webkit-user-select: none;&#10; -khtml-user-select: none; -moz-user-select: none;&#10; -ms-user-select: none; user-select: none;&#10; padding: 0 4px; width: 4em;&#10; color: #aaaaaa;&#10; }&#10; pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }&#10; div.sourceCode&#10; { }&#10; @media screen {&#10; pre &gt; code.sourceCode &gt; span &gt; a:first-child::before { text-decoration: underline; }&#10; }&#10; code span.al { color: #ff0000; font-weight: bold; } /* Alert */&#10; code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */&#10; code span.at { color: #7d9029; } /* Attribute */&#10; code span.bn { color: #40a070; } /* BaseN */&#10; code span.bu { } /* BuiltIn */&#10; code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */&#10; code span.ch { color: #4070a0; } /* Char */&#10; code span.cn { color: #880000; } /* Constant */&#10; code span.co { color: #60a0b0; font-style: italic; } /* Comment */&#10; code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */&#10; code span.do { color: #ba2121; font-style: italic; } /* Documentation */&#10; code span.dt { color: #902000; } /* DataType */&#10; code span.dv { color: #40a070; } /* DecVal */&#10; code span.er { color: #ff0000; font-weight: bold; } /* Error */&#10; code span.ex { } /* Extension */&#10; code span.fl { color: #40a070; } /* Float */&#10; code span.fu { color: #06287e; } /* Function */&#10; code span.im { } /* Import */&#10; code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */&#10; code span.kw { color: #007020; font-weight: bold; } /* Keyword */&#10; code span.op { color: #666666; } /* Operator */&#10; code span.ot { color: #007020; } /* Other */&#10; code span.pp { color: #bc7a00; } /* Preprocessor */&#10; code span.sc { color: #4070a0; } /* SpecialChar */&#10; code span.ss { color: #bb6688; } /* SpecialString */&#10; code span.st { color: #4070a0; } /* String */&#10; code span.va { color: #19177c; } /* Variable */&#10; code span.vs { color: #4070a0; } /* VerbatimString */&#10; code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */&#10; div.csl-bib-body { }&#10; div.csl-entry {&#10; clear: both;&#10; }&#10; .hanging div.csl-entry {&#10; margin-left:2em;&#10; text-indent:-2em;&#10; }&#10; div.csl-left-margin {&#10; min-width:2em;&#10; float:left;&#10; }&#10; div.csl-right-inline {&#10; margin-left:2em;&#10; padding-left:1em;&#10; }&#10; div.csl-indent {&#10; margin-left: 2em;&#10; }&#10; &lt;/style&gt;&#10;&#10; &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.11.1/katex.min.js"&gt;&lt;/script&gt;&#10; &lt;script&gt;document.addEventListener("DOMContentLoaded", function () {&#10; var mathElements = document.getElementsByClassName("math");&#10; var macros = [];&#10; for (var i = 0; i &lt; mathElements.length; i++) {&#10; var texText = mathElements[i].firstChild;&#10; if (mathElements[i].tagName == "SPAN") {&#10; katex.render(texText.data, mathElements[i], {&#10; displayMode: mathElements[i].classList.contains('display'),&#10; throwOnError: false,&#10; macros: macros,&#10; fleqn: false&#10; });&#10; }}});&#10; &lt;/script&gt;&#10; &lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.11.1/katex.min.css"&gt;&#10; &lt;script src="index_files/libs/clipboard/clipboard.min.js"&gt;&lt;/script&gt;&#10; &lt;link href="index_files/libs/quarto-html/quarto-html.min.css" rel="stylesheet"&gt;&#10; &lt;link href="index_files/libs/quarto-html/quarto-syntax-highlighting.css" rel="stylesheet"&gt;&#10;&lt;/head&gt;&#10;&lt;body&gt;&#10;&lt;p&gt;This post takes an extensive look at kernels and discusses the rationales, utility, and limitations of some popular kernels, focusing primarily on their application in Gaussian processes and Bayesian optimisation. Along with the discussion are implementations of the kernels in base R.&lt;/p&gt;</description></item><item><title>Bayesian Optimisation from Scratch in R</title><link>https://anhosu.com/post/bayesian-optimisation-from-scratch-in-r/</link><pubDate>Sat, 01 Apr 2023 00:00:00 +0000</pubDate><guid>https://anhosu.com/post/bayesian-optimisation-from-scratch-in-r/</guid><description>&lt;!DOCTYPE html&gt;&#10;&lt;html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""&gt;&lt;head&gt;&#10; &lt;meta charset="utf-8"&gt;&#10; &lt;meta name="generator" content="quarto-0.2.243"&gt;&#10; &lt;meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"&gt;&#10; &lt;title&gt;index&lt;/title&gt;&#10; &lt;style&gt;&#10; code{white-space: pre-wrap;}&#10; span.smallcaps{font-variant: small-caps;}&#10; span.underline{text-decoration: underline;}&#10; div.column{display: inline-block; vertical-align: top; width: 50%;}&#10; div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}&#10; ul.task-list{list-style: none;}&#10; pre &gt; code.sourceCode { white-space: pre; position: relative; }&#10; pre &gt; code.sourceCode &gt; span { display: inline-block; line-height: 1.25; }&#10; pre &gt; code.sourceCode &gt; span:empty { height: 1.2em; }&#10; .sourceCode { overflow: visible; }&#10; code.sourceCode &gt; span { color: inherit; text-decoration: inherit; }&#10; div.sourceCode { margin: 1em 0; }&#10; pre.sourceCode { margin: 0; }&#10; @media screen {&#10; div.sourceCode { overflow: auto; }&#10; }&#10; @media print {&#10; pre &gt; code.sourceCode { white-space: pre-wrap; }&#10; pre &gt; code.sourceCode &gt; span { text-indent: -5em; padding-left: 5em; }&#10; }&#10; pre.numberSource code&#10; { counter-reset: source-line 0; }&#10; pre.numberSource code &gt; span&#10; { position: relative; left: -4em; counter-increment: source-line; }&#10; pre.numberSource code &gt; span &gt; a:first-child::before&#10; { content: counter(source-line);&#10; position: relative; left: -1em; text-align: right; vertical-align: baseline;&#10; border: none; display: inline-block;&#10; -webkit-touch-callout: none; -webkit-user-select: none;&#10; -khtml-user-select: none; -moz-user-select: none;&#10; -ms-user-select: none; user-select: none;&#10; padding: 0 4px; width: 4em;&#10; color: #aaaaaa;&#10; }&#10; pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }&#10; div.sourceCode&#10; { }&#10; @media screen {&#10; pre &gt; code.sourceCode &gt; span &gt; a:first-child::before { text-decoration: underline; }&#10; }&#10; code span.al { color: #ff0000; font-weight: bold; } /* Alert */&#10; code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */&#10; code span.at { color: #7d9029; } /* Attribute */&#10; code span.bn { color: #40a070; } /* BaseN */&#10; code span.bu { } /* BuiltIn */&#10; code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */&#10; code span.ch { color: #4070a0; } /* Char */&#10; code span.cn { color: #880000; } /* Constant */&#10; code span.co { color: #60a0b0; font-style: italic; } /* Comment */&#10; code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */&#10; code span.do { color: #ba2121; font-style: italic; } /* Documentation */&#10; code span.dt { color: #902000; } /* DataType */&#10; code span.dv { color: #40a070; } /* DecVal */&#10; code span.er { color: #ff0000; font-weight: bold; } /* Error */&#10; code span.ex { } /* Extension */&#10; code span.fl { color: #40a070; } /* Float */&#10; code span.fu { color: #06287e; } /* Function */&#10; code span.im { } /* Import */&#10; code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */&#10; code span.kw { color: #007020; font-weight: bold; } /* Keyword */&#10; code span.op { color: #666666; } /* Operator */&#10; code span.ot { color: #007020; } /* Other */&#10; code span.pp { color: #bc7a00; } /* Preprocessor */&#10; code span.sc { color: #4070a0; } /* SpecialChar */&#10; code span.ss { color: #bb6688; } /* SpecialString */&#10; code span.st { color: #4070a0; } /* String */&#10; code span.va { color: #19177c; } /* Variable */&#10; code span.vs { color: #4070a0; } /* VerbatimString */&#10; code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */&#10; div.csl-bib-body { }&#10; div.csl-entry {&#10; clear: both;&#10; }&#10; .hanging div.csl-entry {&#10; margin-left:2em;&#10; text-indent:-2em;&#10; }&#10; div.csl-left-margin {&#10; min-width:2em;&#10; float:left;&#10; }&#10; div.csl-right-inline {&#10; margin-left:2em;&#10; padding-left:1em;&#10; }&#10; div.csl-indent {&#10; margin-left: 2em;&#10; }&#10; &lt;/style&gt;&#10;&#10; &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.11.1/katex.min.js"&gt;&lt;/script&gt;&#10; &lt;script&gt;document.addEventListener("DOMContentLoaded", function () {&#10; var mathElements = document.getElementsByClassName("math");&#10; var macros = [];&#10; for (var i = 0; i &lt; mathElements.length; i++) {&#10; var texText = mathElements[i].firstChild;&#10; if (mathElements[i].tagName == "SPAN") {&#10; katex.render(texText.data, mathElements[i], {&#10; displayMode: mathElements[i].classList.contains('display'),&#10; throwOnError: false,&#10; macros: macros,&#10; fleqn: false&#10; });&#10; }}});&#10; &lt;/script&gt;&#10; &lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.11.1/katex.min.css"&gt;&#10; &lt;script src="index_files/libs/clipboard/clipboard.min.js"&gt;&lt;/script&gt;&#10; &lt;link href="index_files/libs/quarto-html/quarto-html.min.css" rel="stylesheet"&gt;&#10; &lt;link href="index_files/libs/quarto-html/quarto-syntax-highlighting.css" rel="stylesheet"&gt;&#10;&lt;/head&gt;&#10;&lt;body&gt;&#10;&lt;p&gt;Bayesian optimisation is a powerful technique for optimising expensive functions or processes. In many applications, such as drug discovery, manufacturing, machine learning, or scientific experimentation, the function or process to be optimised may be time consuming or costly to evaluate. Bayesian optimisation provides a framework for sequential experimentation and for finding optima with as few evaluations as possible.&lt;/p&gt;</description></item><item><title>Bespoke Bayesian Model for Batch Effects in High Throughput Biochemical Assays</title><link>https://anhosu.com/post/bayesian-biochem-batch-effects/</link><pubDate>Sun, 19 Mar 2023 00:00:00 +0000</pubDate><guid>https://anhosu.com/post/bayesian-biochem-batch-effects/</guid><description>&lt;p&gt;Code for this project: &lt;a href="https://github.com/AnHosu/bespoke-bayesian-biochem"&gt;github.com/AnHosu/bespoke-bayesian-biochem&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;!DOCTYPE html&gt;&#10;&lt;html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""&gt;&lt;head&gt;&#10; &lt;meta charset="utf-8"&gt;&#10; &lt;meta name="generator" content="quarto-0.2.243"&gt;&#10; &lt;meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"&gt;&#10; &lt;meta name="author" content="Anders Ellegaard"&gt;&#10; &lt;meta name="dcterms.date" content="2023-03-19"&gt;&#10; &lt;title&gt;batch-effects&lt;/title&gt;&#10; &lt;style&gt;&#10; code{white-space: pre-wrap;}&#10; span.smallcaps{font-variant: small-caps;}&#10; span.underline{text-decoration: underline;}&#10; div.column{display: inline-block; vertical-align: top; width: 50%;}&#10; div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}&#10; ul.task-list{list-style: none;}&#10; pre &gt; code.sourceCode { white-space: pre; position: relative; }&#10; pre &gt; code.sourceCode &gt; span { display: inline-block; line-height: 1.25; }&#10; pre &gt; code.sourceCode &gt; span:empty { height: 1.2em; }&#10; .sourceCode { overflow: visible; }&#10; code.sourceCode &gt; span { color: inherit; text-decoration: inherit; }&#10; div.sourceCode { margin: 1em 0; }&#10; pre.sourceCode { margin: 0; }&#10; @media screen {&#10; div.sourceCode { overflow: auto; }&#10; }&#10; @media print {&#10; pre &gt; code.sourceCode { white-space: pre-wrap; }&#10; pre &gt; code.sourceCode &gt; span { text-indent: -5em; padding-left: 5em; }&#10; }&#10; pre.numberSource code&#10; { counter-reset: source-line 0; }&#10; pre.numberSource code &gt; span&#10; { position: relative; left: -4em; counter-increment: source-line; }&#10; pre.numberSource code &gt; span &gt; a:first-child::before&#10; { content: counter(source-line);&#10; position: relative; left: -1em; text-align: right; vertical-align: baseline;&#10; border: none; display: inline-block;&#10; -webkit-touch-callout: none; -webkit-user-select: none;&#10; -khtml-user-select: none; -moz-user-select: none;&#10; -ms-user-select: none; user-select: none;&#10; padding: 0 4px; width: 4em;&#10; color: #aaaaaa;&#10; }&#10; pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }&#10; div.sourceCode&#10; { }&#10; @media screen {&#10; pre &gt; code.sourceCode &gt; span &gt; a:first-child::before { text-decoration: underline; }&#10; }&#10; code span.al { color: #ff0000; font-weight: bold; } /* Alert */&#10; code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */&#10; code span.at { color: #7d9029; } /* Attribute */&#10; code span.bn { color: #40a070; } /* BaseN */&#10; code span.bu { } /* BuiltIn */&#10; code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */&#10; code span.ch { color: #4070a0; } /* Char */&#10; code span.cn { color: #880000; } /* Constant */&#10; code span.co { color: #60a0b0; font-style: italic; } /* Comment */&#10; code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */&#10; code span.do { color: #ba2121; font-style: italic; } /* Documentation */&#10; code span.dt { color: #902000; } /* DataType */&#10; code span.dv { color: #40a070; } /* DecVal */&#10; code span.er { color: #ff0000; font-weight: bold; } /* Error */&#10; code span.ex { } /* Extension */&#10; code span.fl { color: #40a070; } /* Float */&#10; code span.fu { color: #06287e; } /* Function */&#10; code span.im { } /* Import */&#10; code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */&#10; code span.kw { color: #007020; font-weight: bold; } /* Keyword */&#10; code span.op { color: #666666; } /* Operator */&#10; code span.ot { color: #007020; } /* Other */&#10; code span.pp { color: #bc7a00; } /* Preprocessor */&#10; code span.sc { color: #4070a0; } /* SpecialChar */&#10; code span.ss { color: #bb6688; } /* SpecialString */&#10; code span.st { color: #4070a0; } /* String */&#10; code span.va { color: #19177c; } /* Variable */&#10; code span.vs { color: #4070a0; } /* VerbatimString */&#10; code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */&#10; .display.math{display: block; text-align: center; margin: 0.5rem auto;}&#10; &lt;/style&gt;&#10;&#10; &lt;script src="index_files/libs/clipboard/clipboard.min.js"&gt;&lt;/script&gt;&#10; &lt;link href="index_files/libs/quarto-html/quarto-html.min.css" rel="stylesheet"&gt;&#10; &lt;link href="index_files/libs/quarto-html/quarto-syntax-highlighting.css" rel="stylesheet"&gt;&#10;&lt;/head&gt;&#10;&lt;body&gt;&#10;&lt;p&gt;In previous studies, we built bespoke Bayesian models to fit observations from a &lt;a href="../../post/bayesian-biochem-hill-equation/"&gt;biochemical assay&lt;/a&gt; with kinetics that could be represented by the Hill equation. Then we scaled that up to a &lt;a href="../../post/bayesian-biochem-screening-assays/"&gt;screening experiment&lt;/a&gt;. In those studies, our main goal was to achieve good fits for kinetic parameters.&lt;/p&gt;</description></item><item><title>Bespoke Bayesian Model for High Throughput Biochemical Assays</title><link>https://anhosu.com/post/bayesian-biochem-screening-assays/</link><pubDate>Sat, 23 Apr 2022 00:00:00 +0000</pubDate><guid>https://anhosu.com/post/bayesian-biochem-screening-assays/</guid><description>&lt;p&gt;Code for this project: &lt;a href="https://github.com/AnHosu/bespoke-bayesian-biochem"&gt;github.com/AnHosu/bespoke-bayesian-biochem&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;script src="https://anhosu.com/post/bayesian-biochem-screening-assays/index_files/header-attrs/header-attrs.js"&gt;&lt;/script&gt;&#10;&#10;&#10;&lt;p&gt;I am on a quest to improve the model fitting I do on biochemical assays. For some time, I have had this feeling that I should be able to extract more information from the data gathered in biochemical assays, in particular assays with a high throughput.&lt;/p&gt;</description></item><item><title>Bespoke Bayesian Model for Biochemical Assays</title><link>https://anhosu.com/post/bayesian-biochem-hill-equation/</link><pubDate>Sat, 20 Nov 2021 00:00:00 +0000</pubDate><guid>https://anhosu.com/post/bayesian-biochem-hill-equation/</guid><description>&lt;p&gt;Code for this project: &lt;a href="https://github.com/AnHosu/bespoke-bayesian-biochem"&gt;github.com/AnHosu/bespoke-bayesian-biochem&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;script src="https://anhosu.com/post/bayesian-biochem-hill-equation/index_files/header-attrs/header-attrs.js"&gt;&lt;/script&gt;&#10;&#10;&#10;&lt;p&gt;I am on a quest to improve the model fitting I do on biochemical assays. For some time, I have had this feeling that I should be able to extract more information from the data gathered in biochemical assays, in particular assays with a high throughput. I have been using classical machine learning techniques and generic fitting and optimisation functions to interpret data from such assays. While this approach works, it also neglects much of the available domain expertise. Many of the underlying biochemical mechanisms are known and I would like my models to take that into account so I get results that are more directly interpretable in the context of the hypothesis that required the assay in the first place. In other words, I want a bespoke model.&lt;/p&gt;</description></item></channel></rss>