<?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 Ethan Rosenthal</title><link>https://www.ethanrosenthal.com/tags/machine-learning/</link><description>Recent content in Machine Learning on Ethan Rosenthal</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Fri, 10 Jul 2026 22:11:01 -0400</lastBuildDate><atom:link href="https://www.ethanrosenthal.com/tags/machine-learning/index.xml" rel="self" type="application/rss+xml"/><item><title>Alignimation: Differentiable, Semantic Image Registration with Kornia</title><link>https://www.ethanrosenthal.com/2021/11/03/alignimation/</link><pubDate>Wed, 03 Nov 2021 00:00:00 +0000</pubDate><guid>https://www.ethanrosenthal.com/2021/11/03/alignimation/</guid><description>&lt;div class="jupyter-cell markdown"&gt;
&lt;p&gt;I had a kid at the start of the year.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Hold for applause&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Well, not me personally, but my wife did.&lt;/p&gt;
&lt;p&gt;I only tell you this in order to tell you that I took a picture of my wife every week that she was pregnant.&lt;/p&gt;
&lt;p&gt;We thought maybe it&amp;rsquo;d be interesting to look back at these pictures one day. She wore the same outfit and faced the same direction for each picture, although the background occasionally changed. In an attempt to be less neurotic about things in my life, I deliberately did not use a tripod or try to get the picture from the exact same angle and distance.&lt;/p&gt;</description></item><item><title>Optimal Peanut Butter and Banana Sandwiches</title><link>https://www.ethanrosenthal.com/2020/08/25/optimal-peanut-butter-and-banana-sandwiches/</link><pubDate>Tue, 25 Aug 2020 00:00:00 +0000</pubDate><guid>https://www.ethanrosenthal.com/2020/08/25/optimal-peanut-butter-and-banana-sandwiches/</guid><description>&lt;div class="jupyter-cell markdown"&gt;
&lt;video style="display:block; width:100%; height:auto;" autoplay="" muted="" loop="loop"&gt;
 &lt;source src="videos/optimal-peanut-butter-and-banana/banana_small.mp4" type="video/mp4"&gt;
&lt;/video&gt;
&lt;br&gt;
&lt;p&gt;I was personally useless for most of the Spring of 2020. There was a period of time, though, after the peak in coronavirus cases here in NYC and before the onslaught of police violence here in NYC that I managed to scrounge up the motivation to do something other than drink and maniacally refresh my Twitter feed. I set out to work on something completely meaningless. It was almost therapeutic to work on a project with no value of any kind (&lt;em&gt;insert PhD joke here&lt;/em&gt;).&lt;/p&gt;</description></item><item><title>Time Series for scikit-learn People (Part III): Horizon Optimization</title><link>https://www.ethanrosenthal.com/2019/02/18/time-series-for-scikit-learn-people-part3/</link><pubDate>Mon, 18 Feb 2019 00:00:00 +0000</pubDate><guid>https://www.ethanrosenthal.com/2019/02/18/time-series-for-scikit-learn-people-part3/</guid><description>&lt;div class="jupyter-cell markdown"&gt;
&lt;p&gt;In my &lt;a href="https://www.ethanrosenthal.com/2018/01/28/time-series-for-scikit-learn-people-part1/"&gt;previous&lt;/a&gt; &lt;a href="https://www.ethanrosenthal.com/2018/03/22/time-series-for-scikit-learn-people-part2/"&gt;posts&lt;/a&gt; in the &amp;ldquo;time series for scikit-learn people&amp;rdquo; series, I discussed how one can train a machine learning model to &lt;em&gt;predict&lt;/em&gt; the next element in a time series. Often, one may want to predict the value of the time series further in the future. In those posts, I gave two methods to accomplish this. One method is to train the machine learning model to specifically predict that point in the future. This method is poor because, if one would like to know the value of the time series at two different points in the future, then they are again out of luck.&lt;/p&gt;</description></item><item><title>spacecutter: Ordinal Regression Models in PyTorch</title><link>https://www.ethanrosenthal.com/2018/12/06/spacecutter-ordinal-regression/</link><pubDate>Thu, 06 Dec 2018 00:00:00 +0000</pubDate><guid>https://www.ethanrosenthal.com/2018/12/06/spacecutter-ordinal-regression/</guid><description>&lt;div class="jupyter-cell markdown"&gt;
&lt;p&gt;How would you build a machine learning algorithm to solve the following types of problems?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Predict which medal athletes will win in the olympics.&lt;/li&gt;
&lt;li&gt;Predict how a shoe will fit a foot (too small, perfect, too big).&lt;/li&gt;
&lt;li&gt;Predict how many stars a critic will rate a movie.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you reach into your typical toolkit, you&amp;rsquo;ll probably either reach for regression or multiclass classification. For regression, maybe you treat the number of stars (1-5) in the movie critic question as your target, and you train a model using mean squared error as your loss function. For multiclass classification, maybe you treat bronze, silver, and gold medals as three separate classes and train a model with cross entropy loss.&lt;/p&gt;</description></item><item><title>Time Series for scikit-learn People (Part II): Autoregressive Forecasting Pipelines</title><link>https://www.ethanrosenthal.com/2018/03/22/time-series-for-scikit-learn-people-part2/</link><pubDate>Thu, 22 Mar 2018 00:00:00 +0000</pubDate><guid>https://www.ethanrosenthal.com/2018/03/22/time-series-for-scikit-learn-people-part2/</guid><description>&lt;div class="jupyter-cell markdown"&gt;
&lt;!-- PELICAN_BEGIN_SUMMARY --&gt;
&lt;p&gt;In this post, I will walk through how to use my new library &lt;a href="https://github.com/ethanrosenthal/skits"&gt;skits&lt;/a&gt; for building &lt;code&gt;scikit-learn&lt;/code&gt; pipelines to fit, predict, and forecast time series data. &lt;!-- PELICAN_END_SUMMARY --&gt;
We will pick up from the last &lt;a href="https://www.ethanrosenthal.com/2018/01/28/time-series-for-scikit-learn-people-part1/"&gt;post&lt;/a&gt; where we talked about how to turn a one-dimensional time series array into a design matrix that works with the standard &lt;code&gt;scikit-learn&lt;/code&gt; API. At the end of that post, I mentioned that we had started building an ARIMA model. We&amp;rsquo;ll &amp;ldquo;circle back and close that loop&amp;rdquo;, in startup parlance, and walk through ARIMA models. I&amp;rsquo;ll then rant for quite some time on stationary data and confusions/conclusions surrounding this concept. We&amp;rsquo;ll then move onto the fun stage of training, predicting, and forecasting autoregressive models using the new &lt;code&gt;skits&lt;/code&gt; library.&lt;/p&gt;</description></item><item><title>Time Series for scikit-learn People (Part I): Where's the X Matrix?</title><link>https://www.ethanrosenthal.com/2018/01/28/time-series-for-scikit-learn-people-part1/</link><pubDate>Sun, 28 Jan 2018 00:00:00 +0000</pubDate><guid>https://www.ethanrosenthal.com/2018/01/28/time-series-for-scikit-learn-people-part1/</guid><description>&lt;div class="jupyter-cell markdown"&gt;
&lt;!-- PELICAN_BEGIN_SUMMARY --&gt;
&lt;p&gt;When I first started to learn about machine learning, specifically supervised learning, I eventually felt comfortable with taking some input $\mathbf{X}$, and determining a function $f(\mathbf{X})$ that best maps $\mathbf{X}$ to some known output value $y$. Separately, I dove a little into time series analysis and thought of this as a completely different paradigm. In time series, we don&amp;rsquo;t think of things in terms of features or inputs; rather, we have the time series $y$, and $y$ alone, and we look at previous values of $y$ to predict future values of $y$.&lt;/p&gt;</description></item><item><title>Towards optimal personalization: synthesisizing machine learning and operations research</title><link>https://www.ethanrosenthal.com/2016/08/30/towards-optimal-personalization/</link><pubDate>Tue, 30 Aug 2016 00:00:00 +0000</pubDate><guid>https://www.ethanrosenthal.com/2016/08/30/towards-optimal-personalization/</guid><description>&lt;div class="jupyter-cell markdown"&gt;
&lt;!-- PELICAN_BEGIN_SUMMARY --&gt;
&lt;p&gt;Last &lt;a href="https://www.ethanrosenthal.com/2016/07/20/lets-talk-or/"&gt;post&lt;/a&gt; I talked about how data scientists probably ought to spend some time talking about optimization (but not too much time - I need topics for my blog posts!). While I provided a basic optimization example in that post, that may have not been so interesting, and there definitely wasn&amp;rsquo;t any machine learning involved.&lt;/p&gt;
&lt;!-- PELICAN_END_SUMMARY --&gt;
&lt;p&gt;Right now, I think that the most exciting industrial applications of optimization are those that synthesize machine learning and optimization in order to obtain optimal personalization at scale.&lt;/p&gt;</description></item></channel></rss>