ML Algorithms Categories

Classification Algorithms will be used on this article as its relatively simple algorithm and suitable for "hello world" that require simplicity.

What is ML for BE Developer

postimage80ML in nutshell for Backend Developer

imagine on a POST API that receieve data, apply business logic and (data service) store the data on databases. Machine learning workflow is similar (not same!). ML will receive tons of data set as input, train the model using selected algoritm and the output is a trained model.

Regression

Objective: to predict number (continuous value)

(Simplified) Flow: have a sets of number, predict what is the next number in some span period of time . sample use cases: Weather forecast, sales forecast, house price forecast.

Classification

Objevtive: Predict a category / give a label.

(Simplified) Flow: have a sets on number and the pre-identified category / label on the number, predict the category based on given number

Sample use cases: human health diagnosis, machine health diagnosis

Clustering (Anti of Classification)

Objective: to identify a group of number without any predefined label

(Simplified) Flow: have a sets of number and classify the cluster/group based on similarities

Dimentional Reduction

Objective: Simplyfying data before training

(Simplified): a data sets has 1000 parameter/faeture, reduce into 2-3 important feature without losing critical information.

Deep Learning

Objective: To mimic human brain for vision and language

(Simplified) Flow: Have sets of connected data / linked data then identify the pattern.

sample use cases: Face recognition, speech to text, GEN AI.

Use Cases

the Topic for Hello ML is about Battery

What is Battery?!

Battery is a devices or hardware that able to convert trasmit the stored chemical energy into electric energy and store the electric energy. The electric energy is stored on a component cell (“battery cell”).

Battery Component (Simplified)

Charging Process -> [Ingress] Cathode -> [Router] Eletrolyte -> Discharging Process -> [Egress] Anode -> Device (that will use the battery)

There are three main component that reside on a battery

  • (top) Cathode / Positive Terminal: Incoming Electron during charging will come to cathode then it stored on the battery cell. Basically cathode is the “Ingress” before the respond will be sent to the client.
  • (Middle) Electrolyte: a Transport layer/Router that can carry ION (atom or molecul that has electricity) between anode and cathode
  • (bottom) Anode / Negative Terminal: a current will be flow in to the anode to device cirtcuit. Basically an “Egress” (from the perspective of device that use the battery)

Battery Performance Evaluation

Source: https://www.batterypowertips.com/what-to-consider-when-evaluating-battery-performance-faq/

Typically to evaluating a battery performance can use following (telemetry data)

  • 1.Cell level
  • 2.Module Level
  • 3.Pack level
  • 4.Energy Density
  • 5.Power Density
  • 6.C Rate
  • 7.Cycle Life
  • 8.Charge / Discharge Efficiency
  • 9.Self Discharge Rate
  • 10.Operating Temperature
  • 11.Thickness
  • 12.Calendering Pressure

Use Cases Details

postimage100Battery Supplier Recommendation Engine

a classification will be based From those 12 feature or metrics.

As a buyer or manufacturer that require to buy a battery from certain vendor need a tools to decide the supplier during procurement. 

buyer or manufacturer need a list of supplier that can provide the best performance battery for them.

Input

  • (Buyer/manufacture defined preferences) Supplier Name
  • (Buyer/manufacture defined preferences) Battery Chemistry (Li-Ion, LFP, NCA, NMA, etc)
  • (Buyer/manufacture defined preferences) Environmental Condition(Humidity, Ambient temperature, Dust exposure), Altitude and Pressure
  • (Buyer/manufacture defined preferences) Battery Performance Grade
  • (Reference from market) 12 feature / metrics.

Output

  • Buying Recommendation based on Battery performance and Buyer preferences

Execution Steps

  • 1.Generate data sets with 12 feature (labelled)
  • 2.Classify those 12 feature into battery performance grade : Premium, Standard, Utiltiy

those perfromance grade will be used by vendor/manufacturer to determine their needs.

NoBattery Performance GradeApplication
1PremiumEV, Medical Devices, Aero Spaces
2StandardConsumer Electronics
3UtilityPowerbank, flashlight
  • 3.Get a market data: List of battery supplier, List of battery Chemistry and Environmental factor (Humidity, Ambient temperature, Dust exposure) that applicable in manufacturing
  • 4.Retrain the model with additional market data
  • 5.Build API so buyer can input following data to the API : Supplier Name, Environmental Factor and Performance grade.
  • 6.Output of the API will be list of eligible battery specs.

Pre-Requisites

Needed Cloud Resources

  • Provision azure machine learning instances
  • Provision compute engine for azure ML

Hello World

postimage100ML Helloworld on Azure ML Studio

on azure machine learning studio, create a notebook and create a file called hello.py

wrote following script

    print("Hello Machine Learning world!! ")