Offerta Didattica

 

INGEGNERIA MECCANICA

ALGORITMI PER LA MECCATRONICA

Classe di corso: LM-33 - Classe delle lauree magistrali in Ingegneria meccanica
AA: 2022/2023
Sedi: MESSINA
SSDTAFtipologiafrequenzamoduli
ING-INF/05Affine/IntegrativaLiberaLiberaNo
CFUCFU LEZCFU LABCFU ESEOREORE LEZORE LABORE ESE
64024824024
Legenda
CFU: n. crediti dell’insegnamento
CFU LEZ: n. cfu di lezione in aula
CFU LAB: n. cfu di laboratorio
CFU ESE: n. cfu di esercitazione
FREQUENZA:Libera/Obbligatoria
MODULI:SI - L'insegnamento prevede la suddivisione in moduli, NO - non sono previsti moduli
ORE: n. ore programmate
ORE LEZ: n. ore programmate di lezione in aula
ORE LAB: n. ore programmate di laboratorio
ORE ESE: n. ore programmate di esercitazione
SSD:sigla del settore scientifico disciplinare dell’insegnamento
TAF:sigla della tipologia di attività formativa
TIPOLOGIA:LEZ - lezioni frontali, ESE - esercitazioni, LAB - laboratorio

Obiettivi Formativi

L’obiettivo del corso è quello di fornire allo studente competenze relative alla progettazione di algoritmi per la soluzione di problemi oltre che dei principali framework e software di sviluppo. Saranno date le conoscenze di base sul paradigma della programmazione ad oggetti, le strutture dati ed i principali costrutti di programmazione. Verranno inoltre studiati gli strumenti alla base dell’analisi dei dati e del Machine Learning analizzando le principali tecniche di apprendimento supervisionato (Regressione e Classificazione) e non supervisionato (Clustering). Il corso si prefissa anche di fornire le metodologie per la selezione, l’implementazione ed il tuning di modelli di apprendimento su set di dati reali. Gli elementi di teoria acquisiti dallo studente consentiranno l’identificazione e la risoluzione di problemi mediante l’utilizzo degli algoritmi appresi e l’elaborazione in autonomia della migliore soluzione da utilizzare nel caso in esame. La comprensione degli argomenti è caratterizzata dall’uso di un linguaggio rigoroso che permetta l’esposizione ed argomentazione dei risultati ottenuti e di instaurare una comunicazione con interlocutori esperti del settore.

Learning Goals

The goal of the course is to provide students with skills on the design of algorithms to solve problems and on the main development frameworks and software. Basic knowledge will be given about the Object Oriented Programming (OOP) paradigm, the data structures, and the most important programming constructs. The course will cover the basic instruments for the data analysis and Machine Learning focusing on the supervised learning (Regression and Classification) and unsupervised learning (Clustering). The course also aims to provide the methodology for the selection, implementation, and tuning of machine learning algorithms on real datasets. The elements of theory acquired by the student will allow the identification and the resolution of problems using the learned algorithms as well as the autonomous development of the best solution to be used in the case at hand. The understanding of the topics is characterized by a rigorous language, that allows the exposition and argumentation of the obtained results and to establish an effective communication with expert interlocutors.

Metodi didattici

Il corso, si svolge prevalentemente attraverso lezioni frontali. Sono inoltre previste esercitazioni in aula ed esercitazioni guidate svolte dagli studenti. Tutte le attività sono svolte con supporto di slide computer per la parte di programmazione.

Teaching Methods

The course, mainly takes place through lectures. There are also practical based lessons in the classroom and guided exercises with teacher support. All activities are carried out with the support of slides and a computer for the programming activities.

Prerequisiti

Conoscenza della matematica e dell’algebra lineare.

Prerequisites

Knowledge in mathematics and linear algebra.

Verifiche dell'apprendimento

L'esame consiste nella presentazione di un progetto in Python. Il progetto da elaborare viene concordato con il docente e consiste nella scelta di un problema e di un relativo dataset e nella successiva applicazione di alcune delle tecniche apprese durante il corso per la risoluzione del problema. Durante la presentazione del progetto saranno chiesti eventuali approfondimenti sugli argomenti trattati durante il corso con il duplice scopo di verificare il livello di conoscenza e di comprensione dei contenuti del corso e di valutare l'autonomia di giudizio, la capacità di apprendimento, l'abilità comunicativa e la proprietà di linguaggio scientifico e indi valutare le facoltà logico-deduttive acquisite dallo studente. La valutazione è fatta in trentesimi.

Assessment

The exam consists in the presentation of a Python project. The project to be developed is agreed with the teacher and consists in the choice of a problem and a related dataset and in the subsequent application of some of the techniques learned during the course for the resolution of the problem. During the presentation of the project, any further information on the topics covered during the course will be asked with the dual purpose of verifying the level of knowledge and understanding of the course contents and of evaluating the autonomy of judgment, the ability to learn, the communicative ability and the property of scientific language and then evaluate the logical-deductive faculties acquired by the student. The evaluation is made out of thirty.

Programma del Corso

-INTRODUZIONE A PYTHON: Variabili, Espressioni, Operatori. Gestione flusso di controllo: istruzioni condizionali, cicli while, cicli for. Strutture dati: liste, tuple, set, dizionari. Gestione dell’input e dell’output. Gestione dei file. Generatori. Funzioni in Python: definizione ed implementazione. Namespace globali e locali. -PROGRAMMAZIONE ORIENTATA AGLI OGGETTI: Classi, Oggetti, Metodi. Concetti di Ereditarità, Overloading, Overriding, Incapsulamento, e Polimorfismo. -MACHINE LEARNING: Apprendimento supervisionato e non supervisionato. Problemi di regressione e classificazione. Visualizzazione e gestione dei dati. -ALGORITMI DI REGRESSIONE: Regressione lineare semplice. Regressione lineare multipla. Regressione polinomiale. Metodo dei minimi quadrati. Algoritmo Gradient Descent. Funzione di costo. Reti neurali artificiali. -ALGORITMI DI CLASSIFICAZIONE: Classificazione binaria e multiclasse. Regressione logistica. Regressione logistica multipla. Funzione di costo. K-Nearest Neighbors (KNN). Alberi decisionali e Random Forests. Reti neurali artificiali. Matrice di confusione. Metriche di Accuratezza Precision, Recall ed F1-score. -ALGORITMI NON SUPERVISIONATI: K- Means clustering. Principal Component Analysis (PCA). -VALUTAZIONE DEI MODELLI: Curve di apprendimento, condizioni di Underfitting ed Overfitting.

Course Syllabus

-INTRODUCTION TO PYTHON: Variables, Expressions, Operators. Control flow: conditional instructions, while loops, for loops. Data structures: lists, tuples, sets, dictionaries. Input/Output management and control. Files management. Generators. Functions in Python: definition and implementation. Global and local namespaces. -OBJECT ORIENTED PROGRAMMING: Classes, Objects, and Methods. Concepts of Inheritance, Overloading, Overriding, Encapsulation, and Polymorphism. -MACHINE LEARNING: Supervised and unsupervised learning. Regression and Classification problems. Data management and visualization. -REGRESSION ALGORITHMS: univariate regression. Multivariate regression. Polynomial regression. Least Square Method. Gradient Descent Algorithm. Cost function. Artificial Neural Networks. -CLASSIFICATION ALGORITHMS: Binary and multiclass classification. Univariate logistic regression. Multivariate logistic regression. Cost function. K-Nearest Neighbors (KNN). Decision trees and Random Forests. Artificial Neural Networks. Confusion matrix. Accuracy, Precision, Recall and F1-score metrics. -UNSUPERVISED ALGORITHMS: K-Means clustering, Principal Component Analysis (PCA). -MODELS EVALUATION: Learning curves, underfitting and overfitting conditions.

Testi di riferimento: Aurélien Géron – “Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow”, 2nd Edition - O'Reilly - ISBN: 9781492032649

Elenco delle unità didattiche costituenti l'insegnamento

Docente: FABRIZIO DE VITA

Orario di Ricevimento - FABRIZIO DE VITA

Dato non disponibile
  • Segui Unime su:
  • istagram32x32.jpg
  • facebook
  • youtube
  • twitter
  • UnimeMobile
  • tutti