The door to Epiphenomenalism

Image for post
Image for post

Think of a brilliant scientist called Mary made to live in a dark room unable to connect to the external world except via a screen through which she monitors the world and unfortunately the screen is only capable of displaying grayscale images. Mary, a neurophysiologist by profession, excels in the field of human vision, visual perception, and the science of colors. One fine sunny morning, she is released into the wide world that so far existed beyond her physical knowledge. Now the question that arises is whether Mary will learn anything new after being released into the wilderness.

This is a famous thought experiment, devised by philosopher Frank Jackson and published in his article Epiphenomenal Qualia in 1982. The author intends to argue against the philosophy of Physicalism that states that whatever exists in nature along with all its mental aspects are purely physical and can accurately be simulated via physical means. In his article, Jackson places the fictional character Mary in the shoes of an observer who gains all the knowledge there is to gain about a physical phenomenon but does experience the phenomenon itself and asks if it does make a difference. According to the author himself, yes it does make a difference. Mary will learn something new once she steps out of the room and experiences color vision for the first time, even though she attained all the knowledge about color and it’s perception while being inside the room. …


The data itself is redundant, all that is needed to know is if it was greater than a threshold.

Image for post
Image for post

Activation functions are the driving forces of artificial neural networks, as they sit on top of any neuron and administer its behavior such as if it should fire upon a certain input, if it does, to what degree, and so on. Technically speaking, the activation function of a certain node takes as input the data from its predecessors in the network and spits out a certain value that in turn indicates to its successor nodes how “turned on” it was in response to the particular input signal. …


“Computer vision is the science of programming a computer to gain a high-level understanding of digital imagery.”

Image for post
Image for post

ConvNets are at the heart of image recognition and computer vision. One of the most fascinating things about this is how a sequence of raw mathematical operations like multiplication and addition goes all the way to process and recognize complex visuals. In this episode, we talk about a few fundamental concepts of computer vision, define and illustrate the working procedure of ConvNets and jot down some technical terms associated with that. First, let's talk of the idea since they are bulletproof(!)

The idea

The idea is simple, detect what’s inside an image, playback video, or a live recording (since all videos are at the most rudimentary level a sequence of fast-changing images). Technically speaking, computer vision is the science of programming a computer to gain a high-level understanding of digital imagery by replicating the working strategy of the human visual system. We use a variation of artificial neural networks called Convoluted Neural Network to achieve this. From here on, I’ll be referring to the technology as CNN. The core task of a CNN is to detect the valuable features in an image so that the image can itself be represented mathematically in the form of a vector of numerical figures which can, in turn, be compared against that of a labelled image to confirm to which class the subject belongs or what's in it depending on the initial requirements. …


Can you beat what you just created?

Image for post
Image for post

Wonder why it is virtually impossible for an average person to beat a computer in strategic board games like chess, go, or tic tac toe? That’s because computers can literally see into the future (or futures, to be precise) of the game and decide the upcoming move accordingly. The class of algorithms exploited in this context is known as Adversarial Search. The core motive of such algorithms is to play defensively and resist the opponent from winning at any cost. …


Image for post
Image for post

In the previous episodes, we’ve discussed a few clustering strategies like centroid based and hierarchy based (you can find them here, if interested); in this episode, we talk of yet another family of clustering algorithms. Density based clustering algorithms are ones that proceed by finding the areas with a higher concentration of data points and merge those with similar concentration into a single cluster. Now, I know this might seem a little vague, like what’s concentration? How can it be similar? And so on. So without further adieu, let’s dive into the matter.

The intuition

One of the best ways to tackle a theoretical formulation is to ignite the flames of intuition. To get the train on the tracks, we need to grasp a few concepts…


Image for post
Image for post

So you’re reading this, but how confident are you that this is the same text from the author stated above and hasn’t been compromised to something else on the way (like I was writing on Data Science and the adversary altered it to a text on cryptography)? Well, networks are quite precarious in nature and such an incidence shouldn’t be surprising at all. In network communications, the integrity of the message to be delivered is just as important as secrecy and other privacy requirements are.

By integrity, we mean that a message (like this article is a message from me to my audience) should arrive at the receiver’s end just as it left the sender’s, i.e. without any alterations or at the least the fact that it has been altered should be confirmable. The central concept here is to tag the message with an authenticator so that the receiver has a clue of what the original message might have been. Now, there are quite a few algorithms to produce and attach the authenticator, the one we are particularly interested in this episode is the hMAC algorithm that stands for hash-based message authentication code. To go for hMAC, we need to understand the rudimentary one, the MAC algorithm. This should serve as a nice gateway into the realm of message authentication. …


Image for post
Image for post

Over the years, we’ve all grown up and so have Alice and Bob. Now they need more sophisticated and reliable cryptographic standards. That’s where the idea of public key encryption pops in. Public key encryption, in the generic sense, is a scheme that employs one globally shareable public key and an individual private key from each side. The message can be decrypted via a proper combination of the keys on each side. A classic instance of such a scheme is the ElGamal cryptosystem, which we dissect in this episode.

Okay, to study the ElGamal algorithm, we need to have a reasonable grasp over a few (notorious, that’s how I would describe) concepts of number theory. Now most of these elementary notions are well scattered around the internet and it’s a pain going to and fro, following every other reference, so I’ve done my best to put them under a single title. Note that it’s root level tutorial, so even if you’re not familiar with any of the following, you should still be good to go. What we’ll cover in this episode are primitive roots, discrete logarithm, cyclic fields, the robustness of ElGamal, the algorithm, and finally a small work-out. And as you’ve guessed gonna be a long journey, just bear with me. …


Image for post
Image for post

Say you’ve got a bunch of points (or objects, suppose, with reasonable similarity among each) and now you want to arrange them into nice little buckets, but the problem is you don’t know how many different sets to partition them into. So you can’t use k means or any related ones (obviously because the value of k is not known or cant feasibly be guessed). What can you do now? We go HIERARCHICAL then!

Okay, funs aside😉. The idea of hierarchical clustering is to build clusters that have predominant ordering from top to bottom (head on to this site, quite awesome explanation). In this episode, we have a look at the ground on which hierarchical clustering is built on, it’s classification, algorithm and as always a worked-out example to build firm the concepts. …


Image for post
Image for post

Being a data science enthusiast (which you are since you’re reading this), you must have come across quite a number of K prefixed phrases like k means, k modes, k nearest neighbors, and so on and while they might seem a little baffling at first glance, with a little thorough reading you’ll find though they might seem similar, they make perfect sense. Okay, in this lesson we’re gonna take a little closer look at one of there siblings, the K Medoid Clustering. So let’s get going.

Here’s a summary of what we’ll be doing over here, first why K Medoid, then a decent definition, and finally work out an example to help solidify your understanding. Now, I’m gonna assume you’re familiar with the clustering problem and the K means algorithm, if not, here’s a little brush-up. …


Image for post
Image for post

Entropy is the measure of disorder — I’m sure most if not all of us have heard this definition back in the high school physics classes. And guess what, it has also made its way here in data science and the visual is even more vivid here. Okay, recently I’ve been studying this topic and while I’ve found quite a number of resources that help you visualize what entropy is, I haven't found many that go all the way and assist you to calculate it. …

About

Hussain Safwan

Developer, writer, artist. Total blend. Visit me at https://safwan.netlify.app/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store