Intro to Intro to Machine Learning

Today I worked on a presentation for the university Data Engineering course I’ve been tutoring this semester. I felt there was a bit of a gap in the course material. The first few lectures talk about types of data, experimental collection of data, basic statistics (such as mean, standard deviation, etc), plotting and presenting data, and fitting data (linear regression), and hypothesis testing.

And then the next lecture is a guest lecturer from MathWorks who comes in and talks about using MATLAB to do machine learning. It’s a large jump in complexity and depth of material, and I feel like many of the students are left a bit floundering like they’ve suddenly been thrown in the deep end. There’s no set up of the context or motivation for machine learning, or what it’s actually trying to do with the data.

Last lecture I spoke with the professor about this and he agreed with my idea of adding a bit of introductory context material to set up the machine learning content. We actually have an opportunity to deliver this because for the next three weeks we just have project sessions where the students show up to work in their teams and ask us questions if they need any guidance. We do the same thing in the Image Processing course in semester two, and there we’ve had a “bonus material” lecture at the start of one of those session. (Last year I did this, talking about the science and engineering of photography.)

So today I made a short presentation (just 9 slides), that we can give to the students on Monday. I set up the problem that we want to solve – classifying things by examining measurements—data—about them. I give examples to show how general this problem is and the wide range of important applications. Then explain why it can be difficult and how we can approach it in a data analytical way. And then how we can apply automated algorithms to do it in various different ways. Which leads into the machine learning examples that they did in the aforementioned previous lecture.

I tested it on my wife and it only took about 15 minutes. (And she now has a better understanding of the context of machine learning than most people!)

Also today I started work on writing a new batch of Irregular Webcomic! strips. I hope to get that done in time to photograph Lego on Tuesday morning.

The forecast rain hit today – it was much cooler than yesterday. But still we managed to set a new record for number of consecutive days in Sydney with maximum temperature 20°C or more. Looking at the Bureau of Meteorology records, it looks like 193 consecutive days – the last day we had a maximum below 20°C was 17 October, 2022. The forecast for every day in the coming week is at least 22°C, so the streak will probably extend past 200 days.

New content today:

If I could talk with the animals…

I spent most of today thinking about talking with animals. This is this week’s topic for my ethics/critical thinking class with the younger students. I spent time this morning writing the lesson plan and questions, and then had the first three classes tonight.

I introduce the topic by talking about Doctor Dolittle, and the fanciful way in which he learns to speak with animals. Then I go into discussing the experiments we have done with chimps like Washoe and subsequent research that has cast doubt on the initial optimistic early findings about ape intelligence and communication skills. I ask questions about the importance, relevance, and humaneness of such experiments.

And then I go into speculative mode and ask the kids questions about how our attitude to animals might change if we could communicate with them, and what we should do in various hypothetical scenarios in which we talk with animals. Should we continue eating cows and pigs and chickens if they could talk to us? If pet dogs and cats tell us they want their freedom, should we let them run free, or treat them more like children and confine them to keep them safe? If cockroaches could talk to us, should we still treat them as vermin to be exterminated? What would the world actually be like if suddenly we could communicate with animals?

In other items, I did a 2.5k run this morning. And baked the sourdough loaf I made last night and let rise overnight. It’s a special loaf with dried apricots, dates, and walnuts in it, by special request of my wife who likes a fruit and nut loaf now and then.

The weather has been glorious the past few days. Beautiful autumn weather, with cool mornings and evenings, and a pleasantly warm day in the middle – great weather to be out in, without being too hot. The deciduous trees are turning colours. We don’t have a lot – 99% of the trees around here are evergreen eucalyptus, ficus, bottlebrushes, wattles, banksias, and other native species. But there are dots of imported deciduous trees in places, and some are going lovely shades of red or yellow. I like the liquidambars the most, because of the vivid red leaves. The ginkgos are starting to go their beautiful butter yellow. Unfortunately there are also a lot of plane trees, which just go a dull brown colour and drop tons of leaves.

Oh, today is ANZAC Day too, so a public holiday here in Australia. It ends what I think of as the “public holiday season” – the four months from 25 December to 25 April contain 8 public holidays: Christmas, Boxing Day, New Year’s Day, Australia Day, Good Friday, Easter Sunday, Easter Monday, and ANZAC Day. The remaining 8 months of the year only have two holidays: The Queen’s Birthday (I guess the King’s Birthday this year for the first time in over 70 years) in June and Labour Day in October.

New content today:

COVID completely better

In good news, it appears that the lingering COVID cough I’ve had the past few weeks has completely gone. I was still coughing a little a couple of days ago, but today I’m completely free. So that’s great!

Good timing too, as I had 4 ethics classes today, starting at 9am, and then three in a row in the afternoon. In between I picked up the groceries from the supermarket, and took Scully for a couple of walks. The weather was very unsettled again today, with intermittent sunshine and heavy rain showers. I managed to avoid getting caught in any rain though, unlike yesterday.

In other weather news, Cyclone Ilsa made landfall last night in Western Australia, and preliminary measurements are suggesting it set a new sustained wind speed record for Australia. So it’s possibly the strongest tropical storm to hit Australia in recorded history. Fortunately the region it hit was very sparsely populated and there are no reports of deaths yet. The Bureau of Meteorology is saying the remnants will likely combine with a cold front and bring heavy rain to south-eastern Australia, where I live. We’ll see in the next few days.

In other random news, today I learnt that the word “polecat” is not a synonym for “skunk”. Apparently it’s a completely different animal. I don’t know where I got the idea form that a polecat is the same thing as a skunk, but I’d been convinced of that fact for decades.

Tonight is online board games night with my friends. I’m playing games right now as I type, doing this in the down time between turns. We’ve played some Jump Drive, Ticket to Ride, and are now doing Just One.

New content today:

Cyclone Ilsa

While here in Sydney we had intermittent heavy showers today, the region around Port Hedland in northern Western Australia is bracing for Tropical Cyclone Ilsa, which I mentioned a couple of days ago. The storm has slowed down over the ocean and thus strengthened to a category 5 storm, with winds up to 315 km/h. It’s expected to make landfall tonight, close enough to Port Hedland (population 14,000) to be very dangerous. There are smaller towns more directly in the path, and it’s going to be a terrible night for anyone who hasn’t evacuated.

As I said here it was showery. There was strong sunshine, but a lot of dark clouds around, and the rainy periods were very heavy. I took Scully for a walk this afternoon, thinking it would be fine. We walked about 2.5 km, and made it to about 100 metres from home, probably even a bit less, when the rain hit. By the time we got home I had to change all my clothes because there were soaked.

My first ethics class this morning was at 8am, moved another hour earlier due to daylight saving changes. I had the older students and we talked about Age Limits, both legal limits and ones imposed by parents, discussing why they exist and whether they’re fair and reasonable. We talked about differences in various limits between cultures and countries, and whether some limits should be changed. It was a pretty cool discussion.

New content today:

A lot of rain and cold

March was the hottest March ever recorded here in Sydney – a bit of a change after the relatively mild summer we had with the tail end of La Niña. But in March the weather really heated up and we had several days that were hotter than anything we had during the summer.

But having done that, the weather cooled down dramatically a couple of days ago. Yesterday we had 90 mm of rain, and today another 20 mm so far, and the temperature only barely reached 20°C both yesterday and today. The overnight temperature, which has been at least 19°C for the past month, dropped suddenly to less than 15°C. So it’s felt very wintery these past two days.

This morning I photographed that batch of Irregular Webcomic! strips that I wrote yesterday. And then spent some time assembling some of them for the coming week. I also remembered to change the website configuration to go back to new strips rather than reruns every day. (Last time I did this I forgot to change the configuration and ended up with a mess of the wrong comics being published which I had to sort out manually.)

I did three ethics classes this evening, and I’m still coughing a bit from leftover COVID which is making it a little difficult and annoying. But I want to do the classes rather than cancel more of them – which would lose me income and potentially enrolments. I’m really hoping the coughing clears up soon. I’ve heard in some cases it can last for several weeks, which would be really awful.

New content today:

Hot March

It was hot again today. We’ve been having a serious hot spell, with several days in the past couple of weeks hotter than anything we had all summer. And today was in some parts of New South Wales the hottest March day ever recorded, although we didn’t quite break that record here in Sydney. They do say, however, that we’re likely to have the hottest overall March on record.

I slept in a bit and went for a run after breakfast, but by the time I went it was already heating up, so it was not pleasant and my time was slow. Then mostly I worked on Darths & Droids comics, before having online classes this evening. Not really much more to say about the day, actually – I didn’t do anything unusual.

New content today:

Home care

It was warm today, not nearly as hot as yesterday – 33.5°C. But overnight the temperature didn’t drop below 22.4°C, and today started overcast so it was more humid than yesterday. We still have another day to wait before our new air conditioner is installed. And as a friend said, once it’s installed it probably won’t go above 25° for the rest of the year…

My wife was still sick, and I took her to see a doctor. The doctor said it was a stomach infection that she just had to ride out, and told her to take oral rehydration fluids, so we picked up some tablets from the chemist. This evening she’s starting to feel a bit better, but still not very well.

I finished writing my lesson on Movies, and did three classes tonight. It’s definitely a fun topic – the kids love talking about movies.

New content today:

Hot and not cool

As forecast, the temperature was 38°C today, making it Sydney’s hottest day since 26 January 2021. The really bad part is we’re in the middle of a four day gap between our air conditioner breaking and the new one being installed. So we had no relief inside at all. I just kept the windows and blinds closed all day to try to keep the heat out, but the thermometer inside still got up to 27°C.

It’s now after 9pm and I’ve just opened the windows to try to cool things down, but it’s not clear if it’s still warmer outside. And I think there’s zero breeze.

My wife is sick too, with some sort of stomach bug. I called in to the university and told them I couldn’t come in to tutor the Data Engineering course today, having to stay home to look after her.

I did my last three classes on the ethics of being offended, then I tried to take advantage of being home in the afternoon to start work on this weeks new topic: Movies. But with the heat and making sure my wife was okay, I only got about half of it done.

It’s going to be a long and hot night. The hourly temperature isn’t forecast to drop below 27°C until after 2am.

New content today:

ISO meeting day 3, and more rain

The ISO meeting today was mostly administrative cleanup, going through action items and minutes, but there were two technical discussion on potential new standards that we may want to develop, based on submissions from the Italian and Spanish national standards bodies. The Italian one is the tripod strength one they proposed a couple of meetings ago, and which we need to figure out how to handle. The Spanish proposal is for a standard for machine vision cameras, and we decided that sounds like something we should be doing, so we’re encouraging that too. The side benefits of these are the hope that Italy and Spain will join out committee as full members, and hopefully host meetings in their countries some time in the future.

We had a lot of rain overnight. I mentioned last night that we’d had 20 mm of rain. By morning that total had increased to over 50 mm. And we had another 15 mm during the day today. I took Scully out for a brief walk during a break in the ISO meeting, when I thought the rain had eased off for a while, but we got caught in a heavy shower. There was news about flash flooding across Sydney and a lot of trees down, cutting roads and power lines.

But the good news is that today was much cooler than the run of very warm days we’ve been having. They haven’t been hot – it has most definitely not been a hot summer, but it’s been hovering around 30°C every day for weeks now. So today’s 22°C was a welcome respite.

New content today:

ISO meeting day 2, and a big storm

Day 2 of the ISO Photography standards meeting was all technical discussions. We talked about standards for measuring low light performance, specifying camera-related vocabulary definitions, defining transformation maps for converting between standard and high dynamic range images, updating definitions of camera technical specification to handle new technologies, measuring the information-theoretic capacity of camera images and systems, and measuring autofocus performance.

One of the interesting quotes from the discussion concerned the autofocus standard. The authors wanted to allow measurement of autofocus under conditions that simulate being held by hand – with the camera shaking and wobbling due to hand unsteadiness. In a formal testing situation, you need to simulate this with a robotic device that is programmed to shake the camera in the same manner as a human hand. Another expert said that it seemed weird to have this, rather than just using a tripod to hold the camera, since we already have a different standard for measuring imaging performance when hand-held. The author responded that (my paraphrasing): Almost 100% of photos taken are hand-held, so requiring a tripod for a performance test is somewhat perverse.

Another interesting concern that was raised came about because of the recent explosion in AI algorithms. Someone pointed out that we have standards for measuring image quality that work by having the camera take a photo of a standardised test chart, and then comparing the quality of the image to an ideal reproduction of the chart, noting where the image from the camera is degraded. This reflects the real world performance, since photos of scenes will be degraded in the same way. But someone pointed out that digital cameras are increasingly using image processing to improve image quality, and soon no doubt they’ll be using AI algorithms. And if an AI algorithm knows the standard test chart it can recognise when you try to take a photo of one… and output an image which is a perfect reproduction of the test chart. So when you take a photo of a test chart, the measured “camera performance” will be absolutely perfect, but this will not reflect the camera’s actual performance when photographing a scene.

This is something we actually have to think about, to try to design a performance test that can’t be cheated in this way. There are options, such as randomising the test charts or procedurally generating them, but this all requires very careful design and testing. So we have plenty of work ahead of us in the next few years!

Tonight while teaching my new ethics class on Exploration, there was a big thunderstorm. Lots of lightning and heavy rain and wind. We had 20 mm of rain in a couple of hours, and no doubt there’ll have been some flash flooding and probably some trees down across the city. No problem here, thankfully.

New content today: