Halaman

Selasa, 27 Ogos 2024

Re: Setia (alt, Setia Part 2)

0 comments

Bismillahirrahmanirrahiim. Dengan nama Allah yang Maha Pemurah lagi Maha Penyayang.

...

Ok. This is my response to my (own) previous blog post (Setia).

Lets do this!

...

> To be honest, aku ni bukanlah jenis ambil kisah dengan apa yang orang kata pasal aku.

But I'm actually making a blog post mengenai apa yang orang kata pasal aku. In a way, quite hiprokasi juga lah. Haha.

>  Aku tak tau kenapa terdesaknya sampai aku carik sekali kat buku Meta-Analysis tu

Aku memang saja suka selak - selak buku itu ini tengok - tengok apa yang menarik.

>  Figure 106.

Ok. I have a decent computer. So patutnya aku boleh lukis gambar yang lebih cantik.

Like this.

Figure 108: Is actually Figure 106, cuma lebih cantik. Setiap orang suka pada kecantikkan bukan?

Ok this figure is actually generated using python dengan bantuan ChatGPT (remember, my new best friend haha). So it does look kinda nice.

> Now, whenever kita accelerate, akan ada traction sikit. We call it as a gradient.

Yang ni yang aku nak eksplain lebih sikit. Sebab lepas aku baca balik blog post aku tu, aku rasa aku banyak skip the important part. 

Gradient is the titik perubahan atau slope sesuatu function kat mana - mana point kat line tu.

Now what i have skipped, is that the tangent. The line yang aku tulis tu is actually the tangent. So tangent line, is a line, yang kalau kat titik gradient tu, akan ada satu line yang perpindicular (90 degree) dari titik tersebut.

Bak kata lecturer aku dalam 20 tahun lepas, dia kata kalau kita draw betul - betul, dia cantik je bersentuhan line tu dengan function \( f(x) \) tu.

 Ok kita tengok contoh sikit.


Figure 109: Graf untuk \( f(x) = x^5 - 5^3 +4x \) dan \( f'(x) \)

\( f'(x) \) atau \( df(x)/dx \) tidak menunjukkan gradient sangat kalau kita tengok tu, tapi kalau kita tengok kat graph kat bawah ni,

Figure 110: Gradient dan tangent - contoh.

So kita boleh tengok gradient di titik \( x= -0.5\), \( x=0.5\) dan \( x=1.75 \). Macam kat \( x= -0.5\) kita nampak gradient dia menaik sedikit, sama macam kat \( x= 0.5\). Tapi kat \(x = 1.75 \) dia menaik banyak.

How how can we actually measure the perubahan. It is easy actually. Kita draw satu line yang perpendicular dan sentuh nicely kat \( f(x) \) tu.

Atau, kalau kita nak tengok perubahan dia, boleh try tengok kat gif ni.

Figure 111: Animasi gradient kat setiap titik (titik merah tu) dan tangent line dia (line oren tu).

Ok sekarang kita faham kan?

> \( \text{faithful, atau, }f \text{ is when } \frac{d }{dt}=c \label{faithful_1}\tag{3} \)

Walaupon menggunakan \(  \frac{d }{dt} \) tu bukan satu kesalahan besar, but usually we need to add something to the 'upper' \( d \) so that we know what is we are differianting against.

So the more better way is,

\[ \frac{dy }{dt}=c + \epsilon \]

where \( y \) we define as our feelings/closeness to something/somebody.

> For second one, in our case, the \( \epsilon \) has become uncontrolled, and has change the meaning of the equation itself.

Sebelum tu kita dah define, kalau kita dah masuk stage setia, the differential untuk diri kita is actually constant.

Kalau kat Figure 108 tu, yang second part (lepas dari \(x = 7.5\)) tu kita mark dia sebagai setia sebab there's no gradient in there.. In a way, setia.

But when we said that the \( \epislon \) has become uncontrolled, what i mean is like this.

Figure 112: When \( \epsilon \) has become too large, it change the trejectory and make me, tak setia dah.

Naturally, in mathematics, \( \epsilon \) is considered as a small value that is quite crucial untuk pastikan sesuatu hasil atau equation yang kita bina tu is OK.

So what I'm trying to say is that, when \( \epsilon \) has change its own meaning, thus changing the whole point of being setia.

...

Right.

So basically this is my problem. Aku cuba nak ketengahkan idea aku. Kadang - kadang masa aku cakap tu, aku banyak skip a lot of important part sebab nak make this entry as an easy reading.

Tapi oversimplify tu yang banyak memakan diri. Lots of details yang hilang. Lots of story is changed.

Tapi kalau aku letak detail sangat, aku rasa macam buat entry aku makin complicated pulak.

> Ok saja nak share macam mana thought process aku untuk benda - benda macam ni... That is why aku tak banyak kawan!

True. Aku susah sikit nak bercakap dan duduk di antara oversimplify and overcomplicated concept. Either im going to extreme explaining or just simply skip all the details.

What I actually want is, bersahaja (moderate) in everything.

Yes I'm still doing that. I'm still setia with the concept.

Because I know, that will surely help me to be a better person.

Isnin, 19 Ogos 2024

Setia

3 comments

Bismillahirrahmanirrahiim. Dengan nama Allah yang Maha Pemurah lagi Maha Penyayang.

...

Hari tu, ade la aku keluar dengan kawan - kawan aku naik satu kereta. So aku pon ceritalah kat diorang, "Kalau boleh, masa aku jalan kaki kat tepi jalan ni ha (tunjuk kat jalan besar nak masuk ke area Taman Teknologi Malaysia), kalau boleh aku nak blend dengan background. Tak nak orang nampak aku. Sebab kalau aku tengah jalan kaki, mesti maksudnya aku tengah takde mood nak berborak. Nak melayan kepala aku". Kisah aku panjang lebar nak justify kenapa aku jalan kaki situ sebelum - sebelum ni.

Tetiba member aku kat belakang.

"You ni kan Fairuz. Kalau orang tengok you dari luar, nampak you ni takda apa pon sangat. So I rasa la kan, you ni nak kena jadi setia".

Oit takde angin lintang angin el nino la nina, tetiba suruh aku setia. Tergelak kitorang dalam kereta tu.

Actually aku tau datangnya dari mana, dia tetiba suruh aku setia. Dalam 10 minit lebih kurang sebelum tu aku ada citer pasal something dalam kereta tu, which easily mislead untuk orang anggap aku tak setia. So aku assume situ lah yang dia tetiba suruh aku setia.

To be honest, aku ni bukanlah jenis ambil kisah dengan apa yang orang kata pasal aku. Cuma kalau ada part macam kewangan tu, aku tau aku akan dengar dari sorang dua kawan aku. Kalau bab pemakaian, obviously aku dengar cakap family aku. But in general, aku tak kesah pon apa orang kata.

Korang pernah dengar kan pasal ayah, anak dia dan keldai tu. Camtulah ceritanya. Buat apa nak dengar dan mengikut sangat apa orang kata kan...

...

Definition

Tapi sejak beberapa hari ni, aku dok terfikir pasal kata kawan aku tu.

Setia.

Tapi bukan pasal aku nak meragui kesetiaan aku.

Tapi lebih kepada, how do we actually define setia tu. You know. How can we actually fit the "setia" into our mathematical model or our logical thinking in my search for modelling ourself.

So first thing first. Macam biasalah, aku carik kat online Kamus Dewan dan Pustaka. Dia tulis camni.

1. teguh hati (dlm hal perkahwinan, persahabatan, dll), tetap hati: ia sanggup berkorban kerana orang lain, kerana kasih, dan kerana ~; sumpah ~ a) sumpah utk tetap setia selama-lamanya; b) sumpah yg tidak akan diubah lagi; 2. berpegang teguh (pd janji dll), patuh, taat: anak-anak mudanya menuruti langkah bapanya dgn rajin dan tekun dan para gadisnya menuruti cara ibunya dgn patuh dan ~; .... (Kamus Dewan Edisi Keempat)

Ok tak membantu sangat. Macam mana nak buat equation untuk teguh hati atau berpegang teguh tu?

Maybe I need to go deeper. Or should I say. Maybe I need to search it in PHYSICAL BOOK.

Yea you heard me.

So mencarilah aku kat buku - buku aku yang bersepah tu. Siap target nak carik dalam kotak atau balik ke Melaka carik sampai dapat.

Because I need an answer. Badly.

^ Figure 104: Aku tak tau kenapa terdesaknya sampai aku carik sekali kat buku Meta-Analysis tu

Puas lah jugak aku baca - baca. Carik - carik.

Dan akhirnya. Aku jumpa. Kat dalam Webster All In-One Dictionary & Thesaurus.

 

^ Figure 105: Patut awal - awal lagi aku carik kat dictionary. SMH.

faithful: True and constant in affection or allegiance.

There is it. True and constant.

...

Before Setia.

Ok now we know what the true meaning of setia. Then we can easily make a build up to sampai mana tahap boleh dikatakan setia.

Of course. Takde la seseorang ni boleh tiba - tiba dia terus jadi setia. There must be a way or path untuk setia.

Usually, there's up and down before somebody tu setia towards something/someone. The ups and down ni, maybe lebih kepada perasaan/feelings atau lebih kepada whatever yang membuatkan seseorang tertarik kepada that something/someone.

Contoh, in search of kedai makan yang aku rasa sedap sangat, before that, aku mencari - cari kedai makan mana yang ok. Ada yang jumpa ok. Ada jumpa yang so-so. Ada jumpa yang tak sedap. Sampai lah aku jumpa kedai makan yang betul - betul aku rasa suka. And thereafter, aku sentiasa makan kat kedai tu (setia).

Weirdly enough, this is something like another part of metaheuristic technique (tapi dulu aku belajar dalam subject AI) which is called Simulated Annealing. Temperature dia naik turun sampai la ke satu tahap dia akan stabil.

^ Figure 106: Simulated Annealing, plotted in timeline (where \( t \) is time - over the time).

So yang stabil tu, is actualy the part where it become setia.

...

Setia.

Now. How to know that dia dah sampai ke stage setia. Take a look at hint yang kita dapat dari definasi truthful tu.

True and constant.

How do we know that is setia (true and constant).

It is easy actually.

The opposite of constant is variable.

Ok tak membantu sangat.

But try to take a look at the definition of differential (pembezaan, ala yang dy dx tu). It is on how to measure the change, or rate.

Contohnya, kalau kita bawak kereta (kereta auto. kalau pakai kereta manual transmission, contoh ni tak jadi).

Kat \( t=0\), speed kita \( s=0 \text{ kmph} \)

Kat \( t=1\), speed kita \( s=10 \text{ kmph} \)

Kat \( t=2\), speed kita \( s=20 \text{ kmph} \)

dan kat \( t=3\), speed kita \( s=30 \text{ kmph} \)

So tetiba kita tekan minyak sikit dan kat \( t=4\), speed kita \( s=60 \text{ kmph} \) lepas tu \( t=5\), speed kita \( s=70 \text{ kmph} \)  dan akhir sekali \( t=6\), speed kita \( s=100 \text{ kmph} \)

* with equal interval between \( t_i \) and \( t_{i+1} \) of course.

So kita akan dapat graph cenggini.

^ Figure 107: Kelajuan kereta vs masa

Now, whenever kita accelerate, akan ada traction sikit. We call it as a gradient. Tu kita boleh nampak kat between \( t=4 \) dan \( t=5 \), dan seterusnya (aku mark kat Figure 107 as 1 2 dan 3).

Now, during the given time, the gradient is not zero.

Tapi masa dia build up tu, between \( t=0 \) sehingga \( t=3 \), gradient dia kosong.

Or in other word,

\[ \text{faithful, atau, }f \text{ is when } \frac{d }{dt}=c \label{faithful_1}\tag{3} \]

where \( c \) is a constant and \( t \) is obviously time.

Fuh.

Puas hati aku.

But obviously, our faithfulness will always be tested. So, the better way to inteprate it instead of $\ref{faithful_1}$ is by adding just some small changes, let say \( \pm\epsilon \) where \( \epsilon \) is a small number as usual.

So to improve $\ref{faithful_1}$, we now have it as,

\[ \frac{d }{dt}=c \pm\epsilon \label{faithful_2}\tag{4} \]

...

Moving on..

And of course. Setiap yang ada di dunia ini ada expiry date dia.

So when does this setia is stopped.

Again, by the definition yang kita buat tadi, the setia is stopped when there's a gradient yang besar yang membuatkan either setia is either dropped or the differential is not a constant anymore. Dropped because the subject itself, sudah tiada (mati).

Or the differential is not a constant anymore, because the feeling has changed.

For second one, in our case, the \( \epsilon \) has become uncontrolled, and has change the meaning of the equation itself.

...

Time is ticking. If you wanted to make your setia as far as you can go, please control your own \( \epsilon \).

Because once the feeling is changed, some gate will be closed (ref: look at my story on gate previously)..

And when that time happens, you know it is hard to make it stablize again.

...

Ok saja nak share macam mana thought process aku untuk benda - benda macam ni... That is why aku tak banyak kawan!

Khamis, 15 Ogos 2024

Mistake and Error

0 comments

Bismillahirrahmanirrahiim. Dengan nama Allah yang Maha Pemurah lagi Maha Penyayang.

...

Sepanjang kehidupan kita ni, memang kita ni tak lari dari buat kesilapan. Even hari ni sekali pon.

I said I wanted to be better. Tapi kadang - kadang, tiap - tiap hari aku rasa aku still lagi buat kesilapan yang sama. Dan yang lama.

Dan kadang - kadang, aku masih lagi dihantui dengan kesilapan dari zaman silam aku. Terasa berat. Sebab ada yang diantara kesilapan aku itu, menyebabkan rekod aku tercalar sampai bila - bila. Dan tak lama lagi aku kene menghadapi outcome dari kesilapan aku itu.

Dan terus terang aku katakan, dah lebih beberapa tahun benda ni berlaku, tapi aku tau aku masih lagi kene hadapinya. But this time, sampai sekarang aku rasa aku tak dapat nak brain apa yang akan berlaku selepas aku dapat outcome tu. Berat sangat. Impact dia ke future aku sangat besar.

Betul.

Sedih tau tak. I cannot change the future because the mistake that I have done.

...

Mistake.

It is not an error.

Well.. Sort of.

Aku biasanya anggap error ni lebih kepada kuantitatif. Yang boleh diukur. So kita boleh define.

Dan mistake ni pula lebih kepada kualitatif. Mistake in judgement contohnya.

Dan kalau error pulak.. Emm kalau macam dalam programming, error lebih kepada nak bagitau yang "this is bad and this thing shouldn't be happen". Quite qualitative IMHO but still, I'm going to make it as kuantitatif.

Sebab apa. Sebab error yang keluar dari programming is actually something that we can define clearly. It's not like it will have infinity kind of error. Just a small set that we can actually think of. Contohnya untuk aplikasi yang buat connection ke database. So the possible error that we can think of:

  • Error connection to the database at service layer (network blocked atau service database tak up).
  • Error username password (sebab policy kene expiry password after 3 months)
  • Error establishing connection (sebab connection pool dah penuh)
  • ... and et cetera

This is categorized kind of data that we can easily clearly define.

So it is not a mistake.

A mistake in here would be something like this.

  • Aku tak check connection tu ok ke tak sebelum hantar data dan database aku tak resiliant (tak autoup kalau major catastrophe berlaku).
  • Aku tak ikut policy kene tukar password.
  • Salah aku sebab aku ni tak kira connection pooling from queue incoming request ke apa yang database aku boleh handle.
  • ... and et cetera

Right.

...

But for every app, they have their own unique error which was caused by some mistake. 

Tapi aku lagi suka how error is defined kalau dalam matematik dan statistik. Error is clearly and easily defined as some outcome yang tak sepatutnya berlaku (but yet, we are expecting it to happens).

Basically, in contrary with app that we build, in math and stats, there's a standard way for us to measure the error.

Hear me out fam. The most basic way in calculating error in math/stats are using these methods:

MAE (Mean Absolute Error).

So let say aku ada some sort of linear based model, I can use MAE to determine the mean of the error. Equation dia senang je, camni.

\[ \text{MAE} = \frac{1}{n} \sum_{i=1}^{n} |\hat{y}_i - y_i| \] 

Take a look at \( |\hat{y}_i - y_i| \). So dia dapatkan mean dari absolute value beza antara observed value (atau data yang kita ada, and we call it as \( y_i \)) dengan result dari kita punya forecast punya data (\( y \) yang ada topi atas dia, we call it as y hat or \( \hat{y}_i \) - I'm not kidding. Memang dia dipanggil y bertopi). 

So this one is straight forward. Kita ambil positif dan kita dapatkan mean (average, sort of) untuk jumlah (absolute) error dia tu.

MSE

Ok yang ni pulak, kejam sikit. Basically, dia akan penaltikan kalau error dia makin tinggi.

\[ \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (\hat{y}_i - y_i)^2 \]

Biasa kita gunakan MSE ni untuk nak measure precision model yang kita guna tu.

Contoh,

Katakan nilai \( |\hat{y}_i - y_i| \) untuk \( i \in \{1, 2, 3\}\) ialah \( \{1, 4, 7\}\).

So untuk MAE, kita akan dapat \( \text{MAE} = 4 \) dan \( \text{MSE} = 22 \).

Ok nampak macam biasa je kan. Normal lah tu dua tu guna measurement berbeza.

Tapi, katakan nilai \( |\hat{y}_i - y_i| \) untuk \( i \in \{1, 2, 3\}\) ialah \( \{1, 1, 11\}\).

So, \( \text{MAE} = 4 \) dan \( \text{MSE} = 34 \).

See right? MSE lebih kepada nak tengok precision dia dan dia akan penaltikan kalau error dia tinggi. MAE tak pulak. Sebab MAE cuma pentingkan overall beza dia sahaja.

...

Now, for defining error, picking up the correct method untuk dapatkan objektif adalah penting. Otherwise, it will be a mistake.

So when I'm saying i'm doing a big mistake, that's mean there's an error in my judgment. And to be fair, in my life, I should be using MSE-like method to capture and measure my mistake.

The bigger error I have done, the more penalty that I should serve.

No, I'm not kind of sadist. Cuma, kalau aku bernasib baik, aku boleh turn around and fix again myself, seperti mana deep learning tu berlaku (whats with backward propogation and stuff.. nanti kita citer pasal ni).

But the only problem is that. Kalau tak bernasib baik. Melibatkan banyak pihak.

Macam mana tu?

Tanggung je lah.

Nak buat apa lagi.

Stress aku.. 

And people said thaat, we can't always fix what is already broken. 

But to be honest, I'm not fully agree with this..

Islam is the true way of life. There exist a solution for any kind of problem. Including mine.

Dan kepada siapa lagi kita mohon bantuan selain dari Yang Maha Pemurah lagi Maha Penyayang. Surely He will help me to soothing my heart..

"Kena banyakkan beristighfar", kata kawanku 20 tahun lepas...

Khamis, 8 Ogos 2024

Clustering

0 comments

Bismillahirrahmanirrahiim. Dengan nama Allah yang Maha Pemurah lagi Maha Penyayang.

...

Prolog.

"Akhirnya, saya dah jumpa satu circle yang saya rasa sangat selesa bersama - sama", katanya.

Aku terdiam.

Sebenarnya aku jeleous. Ya. Sebab aku takde pon satu circle yang aku boleh katakan, yang aku sangat selesa to be with...

...

Beberapa ketika lepas. Officemate aku tanya, "Fairuz, you boleh tolong suggest tak?"

"Ha apa dia"

So dia terangkanlah ada beberapa use case yang tengah sangkut sekarang. Kesahnya, sekarang ni ada data geolocation (yang ada latitude dengan longitude) di mana berlakunya tangkapan di laut. So sekarang dia nak suggest tempat rondaan atau berapa kapal yang dicadangkan untuk membuat rondaan di kawasan tersebut.

Aku cakaplah kat dia, "Kalau kat laut, senang. Sebab takde restriction untuk lalu laluan macam jalan raya"

"Meaning?" tanyanya lagi.

"Ok kalau kat laut, data yang melibatkan (x, y) iaitu location, nak paling mudah sekali analisis kita boleh buat, kita boleh gunakan teknik clustering".

Ok sebenarnya clustering ni tak de la strict sangat nak location x,y. Anything with 2 demensional data pon boleh juga. 

...

Anyway, basically untuk clustering ni, dia akan associatekan setiap data point tu ke cluster yang berdekatan.

So let say kita ada 300 sets of data yang quite random macam kat bawah ni.

^ Figure 100: Random points generated

(abaikan kaler - kaler tu) So contohnya aku ada 5 kapal dan point - point tu merujuk kepada lokasi tangkapan berdasarkan jenis - jenis tangkapan (colour coded).

Now, macam mana aku nak maximizekan, i.e. gerakkan kesemua (lima) kapal tersebut meronda di kawasan yang pernah terjadinya tangkapan tersebut, tetapi, memastikan setiap kapal dekat dengan historically/sejarah tangkapan.

So where to put those 5 ships? Using math of course.

We start with simplest type of clustering. K-Means.

Objective Function for K-Means basically can be defined it as below. 

\[ J = \sum_{i=1}^{k} \sum_{j=1}^{n} \left\| \mathbf{x}_j^{(i)} - \boldsymbol{\mu}_i \right\|^2 \label{kmeans}\tag{1} \]

with,

  • \( \boldsymbol{k} \) tu jumlah cluster yang kita define.
  • \( \mathbf{x}_j^{(i)} \) adalah \( j \) data point in cluster \( i \)
  • \( \mu_i \) is the centroid of cluster \( i \)
  • \( \left\| . \right\| \) pulak adalah distance (biasa kita gunakan Euclidean Distance.

Now see here. Yang paling penting adalah untuk nak minimizekan \( \boldsymbol{J} \), which means to get the minimum distance for each point to cluster centroid.

Ok cenggini. Contoh kalau kita gunakan equation $\ref{kmeans}$ kat data yang kita ada sebelum ni, kita akan dapat camni ha.

^ Figure 101: K-Means Clustering

Idea dia, setiap point tu, akan pergi ke centroid yang terdekat. So jadinya macam ni.

^ Figure 102: K-Means Clustering with line connected to centroid

Also notice that yang dekat2 antara dua cluster tu, dia akan pilih the nearest cluster. So basically dia macam ni dari hasil kiraan dia.

^ Table 100: Distance Point to Cluster Center.

So all the distance ni yang paling kecik yang dia dapat untuk minimizekan objective function $\ref{kmeans}$ tu. And of course, ianya dikuasa duakan untuk kasi penalti kepada yang makin jauh (remember the equation for Mean Square Error? Ya. Sama konsep).

Ok yang ni biasanya kita cakap dia sebagai hard clustering. Means that setiap satu points hanya akan sambung ke satu cluster centroid sahaja. So all points ni kita panggil as a cluster member.

Contohnya la kan, kita ada data lokasi kedudukan orang ramai - ramai kat dalam dewan. So nak letak budak sales, kita boleh gunakan ni untuk carik lokasi terbaik (centroid) yang berdekatan dengan setiap orang. So kalau ada 3 budak sales, kita buat 3 cluster. Ok ni theoritically lah.

Tapi, kadang - kadang, tak semestinya setiap point tu boleh connect ke satu cluster centroid sahaja. Boleh jadi satu point tu akan connect ke beberapa centroid. Dia agak fuzzy - fuzzy sikit (sebab bayangkan satu point boleh pergi ke dua tiga cluster).

And that is why nama untuk teknik ni adalah Fuzzy C-Means (FCM). And yes. This is Artificial Intelligence method (kategori fuzzy logic).

So the idea for FCM, dia akan associatekan satu point ni ke semua cluster centroid dan dia akan kira jarak dia.

Macam biasa, objektive function dia adalah untuk minimizekan this \( J \).

\[ J_m = \sum_{i=1}^{k} \sum_{j=1}^{n} u_{ij}^m \left\| \mathbf{x}_j - \boldsymbol{\mu}_i \right\|^2  \label{fcm}\tag{2}\]

dimana,

  • \( \boldsymbol{\mu}_i = \frac{\sum_{j=1}^{n} u_{ij}^m \mathbf{x}_j}{\sum_{j=1}^{n} u_{ij}^m} \) is the centroid at \( i \).
  • \( u_{ij} = \frac{1}{\sum_{l=1}^{k} \left( \frac{\left\| \mathbf{x}_j - \boldsymbol{\mu}_i \right\|}{\left\| \mathbf{x}_j - \boldsymbol{\mu}_l \right\|} \right)^{\frac{2}{m-1}}} \) is the membership.
  • \( m \) is fuzziness parameter (\( m > 1 \). Lagi tinggi \( m \), lagi kabur mata.

Ok nampak bukan. Dia lebih kurang sama je dengan K-Means clustering, cuma tambah fuzziness parameter dengan cara dia update membership cluster dia. Ok there's a lot story behind the "membership". But the idea is that, kita akan connect semua points tu ke cluster and kira jarak, dan anggap je jarak tu sebagai dia punya weightage. 

Boleh refer kat figure bawah ni.

^ Figure 103: Fuzzy C-Means Clustering

The story is like this..

Aku, seorang manusia biasa, boleh belong to all cluster - cluster member aku (kalau aku ni jenis yang ok lah dengan semua orang). Korang pon boleh nampak kan. Yang sorang ni ada geng - geng dia. Yang sorang lagi tu pon ada geng - geng dia jugak. Ada jugak yang dia boleh overlap beberapa geng.

But the most important, diorang ada geng diorang sendiri. In psychology, we (they) call it as "Social Identity Theory". You belonging to one close group. Atau satu komuniti. Yang ada benifit atau some target or positive thing they feel kalau dia ada dalam group/komuniti tu.

...

So apabila kawan aku cakap dia dah jumpa close circle dia, means dia dah betul - betul berada di area dalam satu cluster dengan jarak ke centroid cluster dia sangat rendah (remember, in clustering we are trying to find the minimum distance?).

And why aku jelous.

Basically macam graph bawah ni.

So I try to figure out. Why like this. Aku ni takde ke Social Identity?

Several explaination that I found out actually. One, maybe sebab dah ada family. Kawan - kawan aku pon ada macam ni gak. But later I found out, it is not. Sebab diorang duduk sekali dengan family dia. Aku pulak, well.. aku malas pulak nak citer ni. But the main point, this is not the reason.

Secondly, maybe sebab ada social media, to fill in the gap of the closeness by fitting oneself to social media. Remember Social Identity Theory tu? And also korang tau kan macam mana algorithm social media ni berfungsi? Lagi banyak korang tengok feed/video pasal satu topic tu, algo akan define ko kat dalam some sort of category. 

But I don't think because of that. Aku takde pon main social media sangat. Ada tengok. But not feeling to be a part of it.

Or maybe.

Maybe..

Disebabkan alasan nombor tiga ni:

The kind of guy yang tak boleh rapat dengan mana - mana group.

...

Several weeks ago, Pika ada citer kat aku. Dia kata aku ni jenis kalau orang rapat je dengan aku, nanti aku akan ghostingkan dia. Aku mula menjarakkan diri.

To be honest. Ya. Aku memang macam ni. Makin lama, makin rapat. Makin rapat tu, aku mula lah menjarakkan diri. Tak kesah. Lelaki atau perempuan. Same!

I don't have valid reason kenapa aku macam ni..

Maybe..

I was build like this.

Enough. That's all reasoning that I need.

Bukan aku tak ada kawan rapat. Ada. In fact, aku buat blog ni pon sebab dialah yang 'force' aku buat blog (tengok balik my first post in 2006: here). Ya kawan rapat aku tu is actually my "Social Identity". Aku pergi mana - mana jumpa kawan mutual kitorang, mesti diorang akan tanya, "Raje, kucai mana?".. But unfortunately, dia dah pergi meninggalkan kita semua. Including me.

So I was left with a big hole in my life. Right.. That's is where the jelousy comes in (I force to think that, that is the main reason).

And makin tak lah aku nak rapat dengan orang...

In the end, actually I know the reason.

If I left this world, I wanted to be the furthest from all cluster that is associated with me. So at least diorang ni takde la rasa terluka sangat kan, kalau aku takda?