Machine Learning, Tutorial Tobi Olabode Machine Learning, Tutorial Tobi Olabode

Making Sure All Your Data Sources End Up in The Same Shape

I was reading a thread a while ago and the OP asked:

I have data from different input sources that vary in the number of columns they have. It looks like for Keras I need to make sure every file has the same number of columns. My first thought is to just add 0's where the columns should be but I don't know what this does to weighting so I'm asking here. Thanks!

This looks like another feature engineering problem. My best answer is to make a combined dataset of these various sources.

This can be done with pandas. Using the concatenate function and merge functions.

image001.png
result = pd.concat([df1, df4], axis=1)

An example from the pandas documentation.

Another example from the documentation:

image002.png
result = pd.concat([df1, df4], ignore_index=True, sort=False)

To get rid of the NaN rows. You use the DropNA function or while concatenating the data frames use the inner attribute.

Check out the pandas documentation here.

 

A person in the thread recommended a decent course of action:

it might be the best to manually prepare the data to use only/mostly the columns which are present across all datasets, and make sure they match together.

This is a good idea. But they may be important features that may be dropped in the process. Because of that, I would recommend the first option. Then deciding which columns to drop after training. Depending on your data you may want to add extra features yourself mentioning the input source.

 

The main task to do is some extra pre-processing of your data. Combining them is the best bet. From there you can apply various feature selection techniques to decide which columns you would like to keep. Check out the pandas documentation if you not sure how to deal with Dataframes.

If you found this article interesting, then check out my mailing list. Where I write more stuff like this

Read More
Tutorial, Machine Learning Tobi Olabode Tutorial, Machine Learning Tobi Olabode

Using ARIMA to Forecast Your Weekly Dataset

I was reading a Reddit thread in which the OP called for help forecasting some of the weekday performance in the dataset. Machine learning allows you a few ways to do this.

This is the area of time series forecasting. There are two main ways to do this. First, you can use neural networks like LSTMs. Which takes a sequence of data and predicts the next time window. The second is to use the methods from the stats world. Mainly stuff like ARIMA.

 

In this article, we are just going to focus on using ARIMA. A technique used in the stats world for forecasting.

Because ARIMA is easier to set up and understand compared to a neural network. Also, very useful if you have a small dataset.

One of my projects was to forecast rainfall in a certain area. It did not work well as I hoped. But it will likely work better if you have a clear correlation between variables.

A person in the thread gave a good resource for ARIMA. https://www.askpython.com/python/examples/arima-model-demonstration

 

Cause I’m not an expert in time series forecasting I can give you some resources you check out.

https://machinelearningmastery.com/arima-for-time-series-forecasting-with-python/

https://www.machinelearningplus.com/time-series/arima-model-time-series-forecasting-python/

 

Some general tasks you want to do:

-          Make sure your data is stationary

-          Install pmaria

-          If your data is seasonal use SARIMA instead.

 

After using the resources above, you then forecast the win-loss ratio for your dataset or any other variable you want to forecast in the future.

If you found this article interesting, then check out my mailing list. Where I write more stuff like this

Read More
Philosophy Tobi Olabode Philosophy Tobi Olabode

The Two Kinds of Writers, The One I Am Right Now, And The One I’m Aspiring To Be

Recently I read a decent article by Darius Foroux called Arthur Schopenhauer: There Are Only Two Kinds Of Writers. Which talked about the Arthur Schopenhauer idea of two writers.

There are above all two kinds of writers: those who write for the sake of what they have to say and those who write for the sake of writing. The former have had ideas or experiences which seem to them worth communicating; the latter need money and that is why they write — for money.

If you hang out on Twitter or medium often, you probably notice more of the second writer. Publish a lot but seems to be a rehash of what somebody else says earlier. In some areas of twitter, it has only devolved into many buzzwords strung together as a tweet. Not meaning anything if you take 5 seconds to think about it.

This is not to say I'm not guilty. I tend to publish on a regular basis so many of the articles I have published frankly may not be my best work. But I do try to write about an interesting idea I found out or something that I learnt.

Build a business, not an audience. Touches on the same idea. That people should do interesting stuff with their lives then write about. Rather than “remixing” what other people have done. Doing interesting stuff leads to interesting content. It’s a pretty simple equation.

But to continue on the content treadmill. You have cut corners. But this leads to less than stellar content. As mentioned earlier bit twitter can descend into buzzwords.

We forget but one of the main goals of creating content is delivering value. Just tweeting for the sake of tweeting brings value to no one.

An insightful tweet from a unique observation of the world is very helpful for everybody. As Schopenhauer says former have had ideas or experiences which seem to them worth communicating.

Writing for money and writing to say something interesting are not separate activities. Lots of people can be both pretty well. But it can be easy to fall into the writing for money. In this case, writing for more followers or prestige.

If your content does help your reader, why are your writing in the first place?

Maybe you tweet or blog to use it as a journal. That’s great. As explaining how you area dealing with the problem at hand. Shows your thought process. And maybe useful for people in a similar situation.

This is different from manufacturing platitudes.

What is an audience anyway?

I think Alex Hillman (via farez) has the best definition:

https://farez.me/audience-building-for-saas/

"An audience is a group of people with common goals and interests, that you can study and most importantly SERVE". People in your audience look forward to learning from you, and to engage with you, and for you to engage with them too. Building an audience can benefit you as an individual and benefit your SaaS business.

What we confuse an audience with is followership:

Followership: This is when you're purely focused on the number of people who are following you. If your goal is to have more Twitter followers today than you had yesterday, then you're building followership, not an audience. If you intend to build a business with and learn from those who follow you, then building followership is the least effective way.

Who are we serving?

This question can help us see the forest for the trees.

 

Like the journaling section above you don’t need to consciously think about serving your audience. If you are writing about how you made your latest project and what you learnt. The reader will find something very useful from the blog post. As you likely take about your unique angle for tacking the project and produced some new ideas after finishing the project.

 

Why I’m writing this?

Likely as a reminder for myself. To make sure every blog post I create has some type of value for the reader. To make sure I don’t write about useless feel-goods on Twitter or elsewhere for that matter.

Read More
Society, Technology Tobi Olabode Society, Technology Tobi Olabode

Finding A Third Way For Remote Work

Recently I read a great article by Cal Newport putting a new spin on remote working. He calls for people to make use of third spaces for our work. Rather than working from home.

Taking your laptop to a rented office or a Starbucks is not a new idea. But Cal Newport argues that employers should subsidize their worker’s offices. Due to the increased productivity gains, he argues it’s a no brainer. As investment will pay for itself.

At the beginning of the article, Cal Newport introduces the scene of many authors who rented space to do their work. Maya Angelou hired a bare hotel when she wanted to write. John Steinbeck went on a fishing boat to do his writing. JK Rowling was famous for renting hotel space in Scotland.

Cal Newport mentioned that writers may have been the first work from home knowledge workers. After the pandemic, many people may have to follow their lead as we continue remote working.

One of the issues from working from home is the lack of separation between home life and work life. As you are completing your presentation next to your laundry basket. Your brain is half occupied thinking about the various house duties that you need to do. Eating away at your concentration.

Cal notes:

Because the laundry basket is embedded in a thick, stress-inducing matrix of under-attended household tasks, it creates what the neuroscientist Daniel Levitin describes as “a traffic jam of neural nodes trying to get through to consciousness.” Angelou, by shifting her work to a hotel room with bare walls, was cultivating an effective mental space to compose poetry by calming her relational-memory system.

This is why many people recommend, you still keep the routines you had when heading to the office. So your mind creates the mental shift getting into work mode.

 

This is why cal mentions:

Many workers won’t be returning to an office anytime soon, but having them relocate their efforts entirely to their homes for the long run might be unexpectedly misery-inducing and unproductive. We need to consider a third option for our current moment, and if we look to authors for inspiration then one such alternative emerges: work from near home.

--

A co-working space, a small office above a Main Street store, a rented garage apartment, or even a spruced-up shed can enable a much more satisfying and effective experience tackling cognitive work than the laptop on the kitchen table, or the home-office desk in the bedroom.

This model of remote work allows us to take advantage of remote work. Without dealing with the mental fatigue challenge of dealing with our home environment.

You would make a good argument saying this is a promotion for co-working spaces and coffee shops. You won’t be wrong. But the article allows us to think about how we can improve remote work even more.

In the article, he mentioned a British startup called Flown. An Airbnb for office space. You can rent a room and desk with an amazing view of the Cotswolds or rent a house near a Portuguese beach.

I think this can be the upgrade of the nomad lifestyle that was popular a few years ago. As the short space away from your normal environment allows you time to think. But not too long that you are worried about getting a new visa. The short-stay allows you to get to your friends and family in a short time.

Flown allows for bigger spaces, to invite co-workers and other people to work on your project.

The startup is said to be targeting companies that want to buy in bulk. So employees can work in a new location that can help creative output.

On the website they described team off-sites:

Team off-sites are opportunities to bring a team together to connect and collaborate in person. For teams usually co-located, it’s a chance to get away from the day-to-day for a creative boost. For teams usually remote, it’s a chance to form valuable real-world bonds.

 

As I mentioned earlier with the return on investment, Cal Newport same something similar:

If an organization plans to allow remote work, the extra cost to subsidize the ability of workers to escape household distraction will be more than recouped in both the increased quality of work produced and the improved happiness of the employees, leading to less burnout and reduced churn. Strictly from the perspective of dollars and cents, W.F.N.H. is likely a superior policy to W.F.H. It’s an up-front investment that promises strong returns in the long run.

 

Remote work could get even better with the development of better technology. Notably, Starlink may allow for fast internet speeds in the most rural areas. If Starlink works then you could read your presentation in the middle of the sea or check up on your email during a long mountain hike.

Thanks to covid lots of people have moved into suburbia. So if you have a large acre of land. You could work directly in a field enjoying nature at the same time.

Work near home help with more minor issues. Like lack of space at home. But one of the main barriers to Work near home is cost. Not everybody can afford to work in a third space. Hence the importance of subsidizing worker’s offices

-

If you found this article interesting, then check out my mailing list. Where I write more stuff like this

Read More
Collection, Machine Learning Tobi Olabode Collection, Machine Learning Tobi Olabode

Some YouTube channels that review papers

When I was reading a Reddit thread. People were wondering if there were YouTubers reviewing papers. As the OP noticed that one of the YouTuber's that he regularly watched stopped uploading videos. There are a few YouTubers that talk about ML and review papers.

I decided to compile some of the YouTube channels into this short list.

 

Two Minute Papers does great overviews of fascinating papers. Showing the increasing progress of ML.

Some of the videos I liked:

-          4 Experiments Where the AI Outsmarted Its Creators

This video showed various AI solving a problem not in the way the researchers intended to. That may include abusing the physics in the simulation or lateral thinking used by the model.

-          A Video Game That Looks Like Reality!

A review of a paper that takes GTA V gameplay and converts them to photo-realistic footage.

 

Yannic Kilcher does in-depth reviews of various papers. As you go through the paper he shows you his thought process. And showing what important inside the paper. Very useful if don’t read that many papers. (Like me)

Some good videos:

-          Attention Is All You Need

A review of a paper that introduced transformers.

-          DeepMind's AlphaFold 2 Explained! AI Breakthrough in Protein Folding What we know (& what we don't)

A great rundown on protein folding and speculating how Alphafold 2 works.

 

-          GPT-3: Language Models are Few-Shot Learners (Paper Explained)

A comprehensive paper reading of the GPT-3 paper.

 

Bycloud you may have seen him around on Reddit. Creates short and insightful summaries of papers.

-          AI Sky Replacement with SkyAR

Summary of paper that creates AR effects in video footage. Adding various effects to the video footage’s sky.

-          AI Generates Cartoon Characters In Real Life [Pixel2Style2Pixel]

Reviewing a paper that converts cartoon characters to real-life equivalents and vice versa. Also explains how the paper made it easier to adjust the parameters of the GAN. Helping us adjust what images we want to produce.

 

Machine Learning Street Talk

This is a podcast series that interviews top ML researchers. While they don’t have videos about papers alone. As they interview various experts in the field. So they talk about many papers as a consequence.

While this is a short list maybe you can find these channels interesting and learn something new.

-

If you found this post useful, then check out my mailing list where I write more stuff like this.

Read More
Machine Learning, Collection Tobi Olabode Machine Learning, Collection Tobi Olabode

Some Maths Resources to Help You in Your ML Journey

I have been looking for content to improve my maths skills for ML. I have also noticed when scrolling a few threads many people did not find content that explains maths in an intuitive manner. Leading to a lack of belief in learning ML. But this does not have to be.

I’m with you, odd-looking characters and Greek letters don’t look welcoming. But they are some good teachers online that can demystify that experience.

Some of those materials are below:

3blue1brown Calculus and Linear Algebra series

I remember watching both of these series a while. And I will be watching them again. The narrator explores the topic without getting bogged down in the details. Feels like your discovering the maths with the original people who made calculus. In the linear algebra series, he does such a great job visualising vector space. You can see the various operations done to vectors and matrices in picture form.

3blue1brown Deep Learning series

Taking the concepts from the previous series and applying them to deep learning.

 

Khan Academy

I’m sure you know about Sal Kahn by now. As you watched a couple of his videos. His video intuitively explains various topics. Also, show you the various hand by hand actions you need to take to do various calculations. Like matrix multiplication and calculating derivatives.

 

Mathematics for Machine Learning book

I tend to use this book as a reference guide if it’s a concept I want to check out. This book goes through the most important subjects relevant to machine learning and goes in-depth.

 

Mathematics for Machine Learning - Multivariate Calculus – Imperial College London

A multi-hour series explaining how calculus is used in deep learning. The material comes at the subject with a high-level view. But goes into sufficient enough detail to help you learn a lot.

 

Understand Calculus in 35 Minutes - The Organic Chemistry Tutor

A general overview of the subject. So you can be familiar with the concepts for deep learning later on.

NOTE: you won’t learn all of calculus in 30 minutes. But the video will help you get accustomed to the main ideas of the subject.

 

Now, these are resources that I have not used or have used very lightly but gotten good recommendations from various people.

So check them out:

 

Computational Linear Algebra:

This course talks about the linear algebra used in real computation. Not just Linear algebra done by hand.

 

Deep Learning book by Ian Goodfellow and Yoshua Bengio and Aaron Courville

From their website:

The Deep Learning textbook is a resource intended to help students and practitioners enter the field of machine learning in general and deep learning in particular.

I have not thoroughly read all of the book. But I have used the notation page to understand maths symbols in various deep learning work.

 

An Introduction to Statistical Learning

A few people in this subreddit and the main subreddit have recommended this book. But I have never read it.

 

If you found this article interesting, then check out my mailing list. Where I write more stuff like this

Read More
Society, Technology Tobi Olabode Society, Technology Tobi Olabode

We can’t comprehend how big the world is

I was reading an article about scientific illiteracy. Which author was recounting a story that he was teaching his class a physics problem which you need to estimate the population of the USA. But worked a significant amount of students underestimated the US population. Some overestimated it by a billion. He said that the students were “innumerate”. As they did not grasp what a million or billion was.

I found a similar concept in an article called The Economy is Mind-Bogglingly Huge. In the article, he explains that tons of industries you have never heard about that keeps the world spinning.

In the article he gave this example:

I was talking to the owner of a scale (to weigh things) business in the Midwest. People ask him "Is that a full-time job? Is that industry big enough to support you?"

His response: "Look around this room. Everything you own, everything you see, and everything you eat has been weighed. Multiple times."

When a product (let’s say flour) is farmed and processed, it is weighed. When it is packed into shipping containers, those are weighed. When they are unloaded from the ship, they are weighed again. When the truck is loaded with pallets it is weighed again. A customer buying flour may weigh it again while they’re making their recipe, and then weigh themselves after eating their cookies.

Then added:

Have you ever thought about how many times your flour is weighed? How many scales are built, sold, repaired, and serviced in the supply chain of just your flour?

 

Granted this does not take into account the decreasing globalisation and localising of supply chains. But it gets the point across. Supply chains as we can see in the example above can still involve numerous parties in just one area. Never mind a whole country or the entire world.

 

Software Economy is Bigger Than You Think

In the software world, a similar observation was made called the Patio11 Law. Patio11’s Law states the software economy is bigger than you think, even when you take into account Patio11’s Law.

Patio11 (Patrick Mckenzie) gave an example in a podcast. About people making decent cash making software for kitchen countertop installers. Kitchen remodelling can cost a lot of money if you a going for a high end remodel. There is a large field of local companies doing these. And they have serious questions they want answers to. Like how much marble do I buy from the store? Because if you don’t buy enough you will work out halfway through that you have an incomplete kitchen. Also if you buy too much then work out that you spend too much money on the material. Having software can give you the answers to the question. This allows the software maker to create a boatload of money. With a field, you never heard about.

He also mentions there is software for cemetery management. Software that can help lay out cemeteries and other functions. While this is morbid. It does help illustrate the point software and people creating companies is everywhere you see.

 

In this blog post. The person gave more examples.

Austen Allred shared how, when matching Lambda graduates to jobs, he’ll discover software companies he’s never heard of in Oklahoma pocketing $10m/year in profit. Doing things like “making actuarial software for funeral homes.”

My favorite example is ConvertKit. None of my friends have heard of ConvertKit. They ended 2019 with $20 million in ARR. Revenue is growing 30% year-over-year. They have 48 employees.

To be fair Nathan Barry is pretty well known in the bootstrapper scene. But compared to the YC companies it is a drop in the bucket.

In the article he also mentioned that:

Of the 3,000+ software companies acquired over the last three years, only 7% got TechCrunch, Recode, HN, or other mainstream tech coverage.

So they are thousands of software companies hanging in the background, making a load of cash. Also, I think that these companies are not invisible. There are invisible to us. That funeral home software I’m sure has some presence in the industry. By word of mouth or marketing via B2B means.

Think of AWS if you’re a developer or if you’re somewhat aware of tech. You probably know that AWS is one of the most important companies around. But if you ask your grandfather about it. He will give you an odd look.

It’s the reason why we call many of these areas niches. Only a select few people care about the subject. But that is more than enough to make a lot of money.

The internet has allowed us to connect to billions of people are around the world with no geographic limit. So this allows us to fulfil niches that we could not have before due to geography. There are millions of niches one could get involved in. Some niches are more valuable than others. The media only writes articles about a select few of those niches.

See: Ben Thompson never-ending-niches

So it would make sense that you could create millions of dollars and nobody has heard about you. Because there is so much to do with billions of people on the planet. Billions of people in the world mean billions of people to serve.

This does not mean they are not roadblocks for opportunity. Racism, sexism, corruption etc. But the pie is getting bigger and we can be part of it.

 

Massive Supply Chains Around the World

 

Right now, semiconductors are in the news because we have a shortage of them. And many companies can’t create new products. Car companies can’t make new cars. Tech companies can’t make new laptops and phones. Sony can’t make new PlayStations.

The semiconductor industry has hundreds of players. Some very big, some very small. You have some companies that only make the blueprints. You have some companies that only make the chips. You have companies that only make the software for the chip. Then you have companies that add the chip they add to their device. And there is way more I’m missing.

When making a chip, they are companies that make equipment for those chip manufacturers. The most famous and important example is the Dutch company ASM. That makes million-dollar machines to cut chips using lasers. (I'm not kidding). This Dutch company is the only company in the world that can do lithography to such a high level.

Check out this video by TechAltar explaining the semiconductor industry.

Some of the famous covid vaccines take at least 200 components to manufacture. You can bet that there are companies where their only job is to make some of those materials.

Bits of the internet that was forever free are now becoming monetised. Patron and Onlyfans are the latest examples. But twitter announced upcoming monetization features for creators. Spotify and Apple are looking to have exclusive podcast episodes. So many people can serve their niches while getting paid. Most of these creators will not know about it. But enough people will be enough to sustain them. Think of Kevin Kelly 1,000 true fans.

Blockchain and decentralised finance promise to do even more. But has yet to hit mainstream adoption outside of speculation.

-

If you found this article interesting, then check out my mailing list. Where I write more stuff like this

Read More
Tutorial Tobi Olabode Tutorial Tobi Olabode

Some resources on “How do I learn about machine learning?”

“How do I learn machine learning?” a question you’ve seen many times on this subreddit or other places. Maybe you’re the one asking this question. In this blog post, I will provide some links that you can view.

While I’m not an expert. (And nowhere close to one). I can still point to some areas that you should check out.

Your first step is to enrol in the fast.ai course. This class will allow you try out ML first-hand. Without getting bogged down in lectures and theory at first. (Which is still important).

If you feel your python skills are not up to scratch. Then I recommend these resources:

Codecademy

Learn python the hard way

Freecodecamp

Also, they are lots of YouTube videos explaining Python.

You should have a decent grasp of the basics after using these materials.

 

The second is some type of theory and maths:

There are various arguments about learning for ML. One argument says you should do it on a case-by-case basis. For example, if you’re learning about CNNs then learning Linear algebra at the same time would be useful. The other case is to start learning the basic maths as you start. Maybe by following a course or reading a textbook.

In my opinion, I will argue for the first case. Because the ML field is so vast. That means you may get stuck learning about theory for a long time. Without getting much hands-on work. But if the second option sounds appealing then go ahead.

Resources for maths include:

Mathematics for Machine Learning

Learning Math for Machine Learning

Khan academy

 

For ML Theory:

Andrew Ng’s deep learning course

Yuan Lecun & co Deep learning course

Lectures via certain area:

Introduction to Convolutional Neural Networks for Visual Recognition (CS231n)

 

They are some textbooks that you try out:

Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow

Deep Learning with Python by Francois Chollet

The Hundred-Page Machine Learning Book

(I have not used these book myself,  but gotten good reviews from various people.)

 

“But I don’t like learning via courses!” I wrote a blog post if that’s your case.

Related to that, you can continue to improve your skills doing more custom tasks, like:

Side projects

Kaggle

Implementing papers

 

Now after going through some of the material above. You know a bit more about Machine learning.

Now you can decide what to do next with that knowledge.

-

If you found this post useful, then check out my mailing list where I write more stuff like this.

Read More
Technology, Social Media Tobi Olabode Technology, Social Media Tobi Olabode

Is It Possible to Create A Social Media Platform Without Ads?

I was reading an interesting article by Lillian Li about the Chinese video platform called Bilibili. I recommend checking out her newsletter if you’re interested in the Chinese tech scene.

Bilibili has been dubbed as Gen Z’s version of YouTube in China. Because of its younger cohort. But from reading the article. Bilibili is not just a place you watch videos. But a strong community, a place to get premium content, A website to pick videogames, A livestreaming content hub and more.

So how can one company do so much stuff? And still be in good health.

Why don’t they spam ads?

 

When you get to YouTube the first thing you notice is the number of ads bombarded at you. Once you escape the home screen. And decide to watch a YouTube video. You need to watch more ads before you start. After that, you can start enjoying your YouTube video.

But wait.

You need to watch more ads that interrupt your watching time.

If this sequence of events happens to you, then you know how annoying this is. If you’re on desktop you may have resorted to using an ad blocker.

From reading the article from earlier. Bilibili does not do this. Yes, they have some ads. But they won’t be spamming you as the western tech companies do.

The reason why is because they know this will frustrate the community. Which is something they value dearly. The author makes it clear that community is a massive differentiator for the platform. A feature that they have is bullet commentary which comments scroll along with the video while watching. (This is also available on other Chinese video platforms.) But there is extra value in bullet commentary on this platform. As the community is of high quality. Meaning the comments are more likely to be meaningful.

How to make money outside of adverts?

So if you don’t spam adverts on your website. How do you make money?

This is where the vast options come along. First, we start using the closest equivalents to western companies. In many video and livestreams, you donate to the streamer. Twitch were the one the popularised this model. Were the company takes a cut of the donation. The more popular the streamer the more money the company makes. Donations do help companies produce revenue. But most of the time it tends to be icing on the cake. And not enough to cover most of the company operations.

This is where premium content comes along. With a large userbase, you can make a lot of money selling content. Just ask Netflix. Many users pay a monthly subscription to the company to view exclusive content. With their inventory increasing more and more as they invest more money.

Value-added services is the fastest growing revenue segment for Bilibili, at a whopping 171.9% increase yoy, the bulk of which is coming from membership fees that allow users to access premium content. This revenue stream has led to increased investments into proprietary content (such as purchasing rights to LoL livestreams as well as commissioning exclusive anime for their platform), and it will be interesting to see whether this moves Bilibili more towards an Netflix model in the future.  https://lillianli.substack.com/p/an-introduction-to-bilibili-

 

 

Video game distribution is another way that the company prints out money. This is not something you think about when it comes to a video platform. But videogames are a popular genre on the website. They can make use of user’s data to help promote or develop games that their audience will want.

 

Can A Western Company Do the Same?

After a mini rundown of this company. I started to wonder can a western company do something similar. Do they have a chance of creating a social media service that does not bombard you with ads?

Honestly, I don’t know.

But I will brainstorm on how other companies can do something similar to Bilibili.

First, I will go to Twitch. It is always known for its videogame community. Even after the Let’s Chat section was introduced videogames still dominate the platform. Twitch Prime allows you to get in-game loot and free games. A bit like the Bilibili example from earlier. But most of the money still comes from advertising. A lot of the benefit of getting Twitch prime is getting cosmetic benefits. Like better emojis and colour options. This can be improved even more.

For example, E-sports content is highly popular on the platform. Imagine if prime users get exclusive content on their favourite events. Like behind the scenes videos or bonus interviews. This is a simple paywall that raises a bit more revenue for the company.

As we can see they allow you to get extra in-game loot and some free games. What happens if they double down on it? Using data that twitch already has. They can design exclusive games that will be well received by the users.

YouTube could do this as well. As Google has the play store. They can design mobile games that can be popular within lots of niches on YouTube. And advertise their mobile games on people’s streams or YouTube videos. But due to the failure of Google Stadia. Google may not have the ability to execute this.

 

 

This idea is mainly for the Videogame/Gen Z base. So if you want to expand outside that cohort. Then more ideas will need to be implemented.

The best one I can think of is the integration of e-commerce with video. So you can watch a YouTube video and you can buy what’s in the video without leaving the page. And the company can get a cut of that. While that can generate a lot of money. There is lots of work getting the backend ready to allow for payments and delivery.

Imagine watching a YouTube video on your phone of a person reviewing some type of widget. Where you can simply click a link in the video. Then asks you for payment information and address. All in the app. This allows creators on the platform to monetise their audience in a whole different way.

If this gets more successful, then YouTube can slowly move away from just making money from ads. And increasing the product experience in the process.

Hopefully, your wheels in your head are turning about how you could create a social media product without relying on ads. I think it will be better for all of us if tech companies find other ways to monetise their product.

-

If you found this article interesting, then check out my mailing list. Where I write more stuff like this

Read More
Machine Learning, Tutorial Tobi Olabode Machine Learning, Tutorial Tobi Olabode

Neural Networks you can try to implement from scratch (for beginners)

I was reading a tweet talking about how useful it is to implement neural networks from scratch. How it allowed for a greater understanding of the topic. The author said he found it more useful than other people explaining the concept to him.

While I disagree with the author’s opinion that it stops the need for explanations. It certainly does help the understanding of one’s model.

I recommend giving it a go. In the blog post, I will suggest which models you should try to implement from scratch using NumPy or your favourite library. Also, I will link to some accompanying resources.

 

Simple Feedforward Network

 

This is the most famous example because it’s so simple. But allows you to learn so much. I heard about this idea from Andrew Trask. It also helped me think about implementing networks from scratch in general.

In the Feedforward network, you will be using NumPy. As you won't need Pytorch or TensorFlow. To do the heavy-lifting for complex calculations.

You can simply create a Numpy Array for training and testing data. You can also create a nonlinear function using Numpy. Then work out the error rate between the layer’s guess and real data.

Resource for this task: https://iamtrask.github.io/2015/07/12/basic-python-network/

Follow this tutorial. It does a much better job of explaining how to do this in NumPy. With code examples to follow.

 

Feedforward Network with Gradient Descent

This is an extension of the network above. In this network, we allow the model to optimise its weights. This can also be done in NumPy.

Resource for this task: https://iamtrask.github.io/2015/07/27/python-network-part2/

A follow-on from the previous article.

 

Pytorch version of Perceptrons and Multi-layered Perceptrons.

 

Here will go up a level by using a library. Examples I'm using will be done in Pytorch. But you can use whatever library you prefer. When implementing these networks, you learn how much a library does the work for you.

Recourses for the task:

https://medium.com/@tomgrek/building-your-first-neural-net-from-scratch-with-pytorch-56b0e9c84d54

 

https://becominghuman.ai/pytorch-from-first-principles-part-ii-d37529c57a62

 

 

 

K Means Clustering

 

Yes, this does not count as a network. But a traditional machine learning algorithm is still very useful. As this is non deep learning algorithm it should be easier to understand. This can be done just using NumPy or Pandas depending on the implementation.

 

Recourse for this task:

https://www.machinelearningplus.com/predictive-modeling/k-means-clustering/

http://madhugnadig.com/articles/machine-learning/2017/03/04/implementing-k-means-clustering-from-scratch-in-python.html

https://gdcoder.com/implementation-of-k-means-from-scratch-in-python-9-lines/

There are quite a few choices to choose from. So pick whatever implementation helps you understand the concepts better.

 

These networks or models should be simple enough that you won't get lost trying to implement them. But still, help learn a few stuff along the way.

 

-

If you found this post useful, then check out my mailing list where I write more stuff like this.

Read More