<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Machine-Learning on The Edge Cases</title>
    <link>https://www.kylestratis.com/tags/machine-learning/</link>
    <description>Recent content in Machine-Learning on The Edge Cases</description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>© 2025</copyright>
    <lastBuildDate>Fri, 18 Sep 2026 22:38:55 -0400</lastBuildDate>
    <atom:link href="https://www.kylestratis.com/tags/machine-learning/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Model Context Protocol Clients Make Use of MCP Servers to Get External Tools, Prompts, Resources, and More</title>
      <link>https://www.kylestratis.com/notes/model-context-protocol-clients-make-use-of-mcp-servers-to-get-external-tools-pro/</link>
      <pubDate>Thu, 30 Jan 2025 21:12:48 +0000</pubDate>
      <guid>https://www.kylestratis.com/notes/model-context-protocol-clients-make-use-of-mcp-servers-to-get-external-tools-pro/</guid>
      <description>&lt;h2 id=&#34;purpose&#34;&gt;Purpose&lt;/h2&gt;&#xA;&lt;p&gt;Clients serve as the intermediary between MCP servers and hosts (LLMs).&lt;/p&gt;&#xA;&lt;h2 id=&#34;development-pattern&#34;&gt;Development Pattern&lt;/h2&gt;&#xA;&lt;h2 id=&#34;client-class&#34;&gt;Client Class&lt;/h2&gt;&#xA;&lt;h2 id=&#34;see-also&#34;&gt;See also&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.kylestratis.com/notes/model-context-protocol-servers-define-and-serve-functions-that-can-extend-client/&#34;&gt;Model Context Protocol Servers Define and Serve Functions That Can Extend Client Functionality Using an LLM For Coordination&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Model Context Protocol Servers Define and Serve Functions That Can Extend Client Functionality Using an LLM For Coordination</title>
      <link>https://www.kylestratis.com/notes/model-context-protocol-servers-define-and-serve-functions-that-can-extend-client/</link>
      <pubDate>Thu, 30 Jan 2025 20:42:30 +0000</pubDate>
      <guid>https://www.kylestratis.com/notes/model-context-protocol-servers-define-and-serve-functions-that-can-extend-client/</guid>
      <description>&lt;h2 id=&#34;development-pattern&#34;&gt;Development Pattern&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Use &lt;code&gt;uv&lt;/code&gt; to initialize a new project&lt;/li&gt;&#xA;&lt;li&gt;Create venv with &lt;code&gt;uv venv&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Add &lt;code&gt;mcp&lt;/code&gt; and other dependencies&lt;/li&gt;&#xA;&lt;li&gt;In Pyproject, add build system and script entry point&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;__init__.py&lt;/code&gt; should have a &lt;code&gt;main()&lt;/code&gt; function that runs the server&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tools&#34;&gt;Tools&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Implement a &lt;code&gt;list_tools()&lt;/code&gt; handler that lists available tools&lt;/li&gt;&#xA;&lt;li&gt;Implement any helper functions that do business logic&lt;/li&gt;&#xA;&lt;li&gt;Implement &lt;code&gt;call_tool()&lt;/code&gt; handler. Takes name str and arguments dict, name will correspond to name of tool in &lt;code&gt;list_tools()&lt;/code&gt; handler&lt;/li&gt;&#xA;&lt;li&gt;Implement a main function to run the server using packages from &lt;code&gt;mcp.server&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;prompts&#34;&gt;Prompts&lt;/h2&gt;&#xA;&lt;p&gt;Prompt architecture&lt;/p&gt;</description>
    </item>
    <item>
      <title>Anthropic Streaming Event Types</title>
      <link>https://www.kylestratis.com/notes/anthropic-streaming-event-types/</link>
      <pubDate>Tue, 28 Jan 2025 03:57:36 +0000</pubDate>
      <guid>https://www.kylestratis.com/notes/anthropic-streaming-event-types/</guid>
      <description>&lt;p&gt;Anthropic model streaming responses are delivered in event chunks. Below is a list of the event types with some notes on what they mean.&lt;/p&gt;&#xA;&lt;h2 id=&#34;event-types&#34;&gt;Event Types&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;event:&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;message_start&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;data:&lt;/span&gt; {&lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;message_start&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;message&amp;#34;&lt;/span&gt;: {&lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;msg_1nZdL29xx5MUA1yADyHTEsnR8uuvGzszyY&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;message&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;role&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;assistant&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;content&amp;#34;&lt;/span&gt;: [], &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;model&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;claude-3-5-sonnet-20241022&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;stop_reason&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;null&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;stop_sequence&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;null&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;usage&amp;#34;&lt;/span&gt;: {&lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;input_tokens&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;25&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;output_tokens&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;}}}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This indicates the beginning of a message. It is notable for giving the model-provided count of the input tokens, as well as the initial output token count.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;event:&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;content_block_start&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;data:&lt;/span&gt; {&lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;content_block_start&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;index&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;content_block&amp;#34;&lt;/span&gt;: {&lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;}}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The beginning of a block of response content, whether it&amp;rsquo;s text or something else.&lt;/p&gt;</description>
    </item>
    <item>
      <title>&#34;Double free or corruption&#34; Error Opening Images with Pillow</title>
      <link>https://www.kylestratis.com/notes/double-free-or-corruption-error-opening-images-with-pillow/</link>
      <pubDate>Thu, 22 Feb 2024 16:23:22 +0000</pubDate>
      <guid>https://www.kylestratis.com/notes/double-free-or-corruption-error-opening-images-with-pillow/</guid>
      <description>&lt;p&gt;If an image isn&amp;rsquo;t properly closed after opening with Pillow, it&amp;rsquo;s likely because you&amp;rsquo;re trying to pass the opened image itself without operating on it. Images are lazily loaded until they&amp;rsquo;re operated on, which can cause multiple being opened to overlap each other in physical memory. To solve this, load images and operate on them one at a time.&lt;/p&gt;&#xA;&lt;h2 id=&#34;source&#34;&gt;Source&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://pillow.readthedocs.io/en/stable/reference/open_files.html#file-handling&#34;&gt;Pillow docs&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Heads in Machine Learning Are Prediction Components of a Deep Neural Network</title>
      <link>https://www.kylestratis.com/notes/heads-in-machine-learning-are-prediction-components-of-a-deep-neural-network/</link>
      <pubDate>Mon, 18 Dec 2023 02:34:00 +0000</pubDate>
      <guid>https://www.kylestratis.com/notes/heads-in-machine-learning-are-prediction-components-of-a-deep-neural-network/</guid>
      <description>&lt;p&gt;In deep learning networks, the &lt;strong&gt;head&lt;/strong&gt; or heads of such a network is the &amp;ldquo;top&amp;rdquo; of the network (as opposed to the &amp;ldquo;bottom&amp;rdquo; that ingests data) that does some predictive task (such as a &lt;em&gt;classification head&lt;/em&gt; or &lt;em&gt;regression head&lt;/em&gt;). This is a separate component from the &lt;strong&gt;backbone network&lt;/strong&gt; that does everything to produce the component on which the head or heads completes its tasks (in CNNs, this is the final convolutional feature map of the input image).&lt;/p&gt;</description>
    </item>
    <item>
      <title>LLM Knowledge Management Agent</title>
      <link>https://www.kylestratis.com/notes/llm-knowledge-management-agent/</link>
      <pubDate>Sat, 06 May 2023 16:47:59 +0000</pubDate>
      <guid>https://www.kylestratis.com/notes/llm-knowledge-management-agent/</guid>
      <description>&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;: An agent to research a given topic by doing &lt;a href=&#34;https://fs.blog/how-to-read-a-book/#:~:text=4.-,Syntopical%20Reading,ideas%2C%20vocabulary%2C%20and%20arguments.&#34;&gt;analytical and syntopic reading&lt;/a&gt;, summarizing and extracting main points, connecting them together, and forming new knowledge outputs such as &lt;a href=&#34;https://zettelkasten.de/posts/overview/&#34;&gt;zettels&lt;/a&gt; or &lt;a href=&#34;https://codex.erisianrite.com/Bins/Evergreen&amp;#43;Notes/What&amp;#43;Is&amp;#43;An&amp;#43;Evergreen&amp;#43;Note&amp;#43;Anyways&#34;&gt;evergreen notes&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;lessons-learned&#34;&gt;Lessons Learned&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;~~Document embeddings with transformers don&amp;rsquo;t seem to be too practical. Instead, go with a sentence embedding for the knowledgebase using note titles and search with main idea embeddings.&lt;/li&gt;&#xA;&lt;li&gt;Dispatch table values need to the the function as an object, so without the parentheses. Otherwise they&amp;rsquo;ll be run when instantiated.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;project-notes&#34;&gt;Project Notes&lt;/h3&gt;&#xA;&lt;h3 id=&#34;future-improvements&#34;&gt;Future Improvements&lt;/h3&gt;&#xA;&lt;p&gt;Future improvements to the project should go here for easy reference. They should be a type of project note and link back to a Project page and any tickets that come from it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Data Parallelism</title>
      <link>https://www.kylestratis.com/notes/data-parallelism/</link>
      <pubDate>Mon, 17 Apr 2023 20:58:24 +0000</pubDate>
      <guid>https://www.kylestratis.com/notes/data-parallelism/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;[same: Model Parallelism]&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;Data parallelism is when you split the data and train the full model in parallel on each segment of data. This is different from Model Parallelism in which the model itself is split across different GPUs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Machine Learning System Design Interview</title>
      <link>https://www.kylestratis.com/notes/machine-learning-system-design-interview/</link>
      <pubDate>Sat, 15 Apr 2023 02:43:54 +0000</pubDate>
      <guid>https://www.kylestratis.com/notes/machine-learning-system-design-interview/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; See here for valid statuses&lt;/p&gt;&#xA;&lt;p&gt;[author: Ali Aminian Alex Xu]&lt;/p&gt;&#xA;&lt;h2 id=&#34;summary&#34;&gt;Summary&lt;/h2&gt;&#xA;&lt;p&gt;What are the key ideas?&#xA;How can I apply this knowledge that I learned?&#xA;How do these ideas relate to what I already know?&lt;/p&gt;&#xA;&lt;h2 id=&#34;ideas&#34;&gt;💡Ideas&lt;/h2&gt;&#xA;&lt;p&gt;Note: These should become Project Idea fleeting notes with a link back to this source.&lt;/p&gt;&#xA;&lt;h2 id=&#34;fleeting-notes&#34;&gt;Fleeting Notes&lt;/h2&gt;&#xA;&lt;p&gt;Note: Conceptual notes that aren&amp;rsquo;t as tied to the source material. These are fodder for processing into evergreen notes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Task Machine Learning Engineers and Platform MLEs</title>
      <link>https://www.kylestratis.com/notes/task-machine-learning-engineers-and-platform-mles/</link>
      <pubDate>Sun, 18 Dec 2022 03:31:19 +0000</pubDate>
      <guid>https://www.kylestratis.com/notes/task-machine-learning-engineers-and-platform-mles/</guid>
      <description>&lt;h2 id=&#34;note&#34;&gt;Note&lt;/h2&gt;&#xA;&lt;p&gt;Task MLEs work with data scientists to &amp;ldquo;productionize&amp;rdquo; models, sustaining a specific pipeline or pipelines in production. They need to write, maintain, and monitor pipelines that are responsible for the entire lifecycle of a ML model.&lt;/p&gt;&#xA;&lt;p&gt;Platform MLEs help task MLEs automate their job. They build pipelines that support multiple tasks (task MLEs solf specific tasks).&lt;/p&gt;&#xA;&lt;p&gt;Platform MLEs build pipelines to create features, task MLEs create pipelines to use features. PMLEs trigger ML performance drop alerts, TMLEs act on alerts.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Real World Problem Spaces Exhibit Non-Stationarity ie They Drift</title>
      <link>https://www.kylestratis.com/notes/real-world-problem-spaces-exhibit-non-stationarity-ie-they-drift/</link>
      <pubDate>Thu, 24 Mar 2022 22:32:56 +0000</pubDate>
      <guid>https://www.kylestratis.com/notes/real-world-problem-spaces-exhibit-non-stationarity-ie-they-drift/</guid>
      <description>&lt;h2 id=&#34;data-drift&#34;&gt;Data Drift&lt;/h2&gt;&#xA;&lt;p&gt;Machine learning models are stationary. The trained model is an artifact that doesn&amp;rsquo;t move, however the problem space in the real world does (see &lt;a href=&#34;https://www.kylestratis.com/notes/supervised-machine-learning-data-exists-in-a-euclidean-space/#qbglai&#34;&gt;this diagram&lt;/a&gt;), which is referred to as &lt;strong&gt;data drift&lt;/strong&gt;. Recall that &lt;a href=&#34;https://www.kylestratis.com/notes/supervised-machine-learning-data-exists-in-a-euclidean-space/&#34;&gt;machine learning models can be thought of as existing in a multidimensional Euclidian space&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;There are two kinds of drift:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;concept drift&lt;/strong&gt; - also known as &lt;em&gt;real drift&lt;/em&gt;, this is a shift in the relationship between model inputs and outputs. Because p(y | x) changes, this always causes &lt;em&gt;model decay&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;data drift&lt;/strong&gt; - also known as &lt;em&gt;input drift&lt;/em&gt;, &lt;em&gt;feature drift&lt;/em&gt;, or &lt;em&gt;covariate shift&lt;/em&gt;, this is a change to the statistical distributions within the input data. It can cause model decay by driving a change in p(y | x) but doesn&amp;rsquo;t necessarily. When it doesn&amp;rsquo;t, it is referred to as &lt;em&gt;virtual drift&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Both kinds of drift can manifest in at least 4 modes:&#xA;1. Abrupt&#xA;2. Incremental&#xA;3. Gradual&#xA;4. Reoccurring (e.g. seasonality)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Supervised Machine Learning Data Exists in a Euclidean Space</title>
      <link>https://www.kylestratis.com/notes/supervised-machine-learning-data-exists-in-a-euclidean-space/</link>
      <pubDate>Thu, 24 Mar 2022 15:32:29 +0000</pubDate>
      <guid>https://www.kylestratis.com/notes/supervised-machine-learning-data-exists-in-a-euclidean-space/</guid>
      <description>&lt;p&gt;All training data exists as points in a multidimensional Euclidean space. You can visualize an enclosure of this data (the &lt;em&gt;training domain&lt;/em&gt;). Within that space, supervised ML acts as interpolation geometry.&lt;/p&gt;&#xA;&lt;h2 id=&#34;visualization&#34;&gt;Visualization&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://www.kylestratis.com/notes/supervised-machine-learning-data-exists-in-a-euclidean-space/Pasted-image-20220324115913.png&#34; alt=&#34;Pasted image 20220324115913&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;In reality, the training domain will look jagged and weird because data is messy, incomplete, and often doesn&amp;rsquo;t line up with the regional problem space. Because ML models can not extrapolate, the model won&amp;rsquo;t work well at the edges or outside of the training domain.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FourthBrain - ML Model Drift and Decay</title>
      <link>https://www.kylestratis.com/notes/fourthbrain-ml-model-drift-and-decay/</link>
      <pubDate>Tue, 22 Mar 2022 21:43:08 +0000</pubDate>
      <guid>https://www.kylestratis.com/notes/fourthbrain-ml-model-drift-and-decay/</guid>
      <description>&lt;p&gt;FourthBrain - ML Model Drift and Decay&lt;/p&gt;&#xA;&lt;h2 id=&#34;metadata&#34;&gt;Metadata&lt;/h2&gt;&#xA;&lt;p&gt;URL: &lt;a href=&#34;https://www.youtube.com/watch?v=C1yiOonTYqM&#34;&gt;https://www.youtube.com/watch?v=C1yiOonTYqM&lt;/a&gt;&#xA;Author: FourthBrain&lt;/p&gt;&#xA;&lt;!--ID: 1677121825250--&gt;&#xA;&lt;h2 id=&#34;literature-notes&#34;&gt;Literature Notes&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-dataview&#34; data-lang=&#34;dataview&#34;&gt;TABLE rows.file.link AS &amp;#34;Literature Note&amp;#34;, rows.file.cday AS &amp;#34;Date&amp;#34;&#xA;FROM #note/literature AND Example Title&#xA;GROUP BY file.link&#xA;sort date ASCENDING&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Note: there may not be many literature notes for this, because it&amp;rsquo;s a how-to type of talk, where there won&amp;rsquo;t be notes on the piece itself, but on what it teaches.&lt;/p&gt;&#xA;&lt;h2 id=&#34;fleeting-notes&#34;&gt;Fleeting Notes&lt;/h2&gt;&#xA;&lt;p&gt;Supervised ML is interpolation geometry. &amp;ldquo;All training data exists as points in a Euclidean space&amp;hellip;we can create an enclosure. Then, inside that enclosure, we can interpolate.&amp;rdquo;&#xA;Global problem space -&amp;gt; regional problem space -&amp;gt; training domain -&amp;gt; model. When we get data, there are quantity and quality gaps which are smaller than the ideal training domain. This means that a model won&amp;rsquo;t work well at trying to predict on observations that fall outside the training domain because &lt;strong&gt;machine learning models for non-linear problems are interpolation machines&lt;/strong&gt;. They can not extrapolate.&#xA;Active learning can fix gaps between the training domain and regional problem space. This flags and prioritizes confusing inputs for human ground-truthing and augments the training set with newly labeled observations to fill gaps in the training domain.&#xA;Most machine learning methods are based on the assumption that the problem space does not change over time. In the real world, though, the problem space does indeed change - this is called &lt;strong&gt;non-stationarity&lt;/strong&gt;. In other words, the problem space &lt;em&gt;drifts&lt;/em&gt; out of alignment with the existing training domain and model (&lt;strong&gt;data drift&lt;/strong&gt;).&#xA;Addressing data drift can take the form of filling gaps with active learning or pruning old or obsolete observations by using a weighting scheme (among other strategies).&#xA;MLOps and Pipelines are beneficial for monitoring models for appreciable drift and refitting the model on augmented training data when drift is detected.&#xA;Two kinds of drift:&#xA;- &lt;strong&gt;concept drift&lt;/strong&gt; - or real drift; a shift in the relationship between model inputs and outputs (changes p(y | x)). This always causes model decay.&#xA;- &lt;strong&gt;data drift&lt;/strong&gt; - change to the statistical distributions within the input data (also known as &lt;em&gt;input drift&lt;/em&gt;, &lt;em&gt;feature drift&lt;/em&gt;, &lt;em&gt;covariate shift&lt;/em&gt;). This &lt;strong&gt;can&lt;/strong&gt; cause model decay by driving a change in p(y | x). If it doesn&amp;rsquo;t cause that change, then it&amp;rsquo;s called &lt;em&gt;virtual drift&lt;/em&gt;.&#xA;Both kinds of drift can manifest in 4 modes:&#xA;1. Abrupt&#xA;2. Incremental&#xA;3. Gradual&#xA;4. Reoccurring (like seasonality)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Database Engineering and Machine Learning Systems for Data Science Curriculum</title>
      <link>https://www.kylestratis.com/notes/database-engineering-and-machine-learning-systems-for-data-science-curriculum/</link>
      <pubDate>Fri, 18 Feb 2022 00:47:25 +0000</pubDate>
      <guid>https://www.kylestratis.com/notes/database-engineering-and-machine-learning-systems-for-data-science-curriculum/</guid>
      <description>&lt;p&gt;This is a list of resources to gain an advanced understanding of databases and machine learning systems that data engineers, MLOps professionals, ML engineers, and other titles build for R&amp;amp;D groups. Because this is a major part of my own job description, I wanted to compile this list of courses to be consumed as projects to improve what I build for my own teams.&lt;/p&gt;&#xA;&lt;p&gt;The first iteration of this comes completely from &lt;a href=&#34;https://twitter.com/TweetAtAKK&#34;&gt;Arun Kumar&lt;/a&gt;&amp;rsquo;s &lt;a href=&#34;https://twitter.com/TweetAtAKK/status/1492925448174505984&#34;&gt;response thread&lt;/a&gt; to me asking about how to learn these things without shelling out for an MS in CS (still a goal of mine, though!).&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
