본문 바로가기

AI

(47)
Human Activity Recognition on STM32L4 IoTnode Human Activity Recognition on STM32L4 IoTnode 개요     ▶ 직장인이자 인공지능을 공부하는 대학원생으로 지금까지 머신러닝이나 딥러닝을 PC 기반에서 python framework 에서 지원하는 모델들에 대한 이론과 실습예제 등을 공부 해왔는데 실제로 Edge AI 기반의 임베디드 디바이스에서 돌아가는 실제 눈으로 볼 수 있는 project 를 해보고 싶었다. 그래서 해당 MCU 에 경험이 있고 비교적 접하기 쉬운 STMicroelectronics 사의 B-L475E-IOT01A02 개발보드를 구매 하여 토이 프로젝트를 진행하였고 과정을 정리 한다.     ▶ B-L475E-IOT01A Link: https://www.st.com/content/st_com/en/pro..
Series 51~130 문제 연습 데이터 분석 입문자를 위한 파이썬 판다스 300제Series 51~130 문제 연습https://wikidocs.net/book/4852# -*- coding: utf-8 -*-"""Series51-130.ipynbAutomatically generated by Colab.Original file is located at https://colab.research.google.com/drive/1ouagvgjFcrJtlrTIIPdpVNn6n6X6DtbM"""import pandas as pdfrom pandas import Seriesimport numpy as npdata = [100, 200, 300]score = Series(data)print(score)index = ['철수', '영희', '..
numpy 1~50 문제 연습 데이터 분석 입문자를 위한 파이썬 판다스 300제numpy 1~50 문제 연습https://wikidocs.net/book/4852# -*- coding: utf-8 -*-"""numpy1-50.ipynbAutomatically generated by Colab."""import numpy as npdata = [1,2,3]np_data = np.array(data)print(np_data)np_array = np.arange(0,100)np_arraynp_array = np.arange(3, 30, 3)np_arraynp_array = np.arange(0, 1000, 2)np_arraynp_array = np.arange(0, 1, 0.1)np_arraydata = [0, 1, 2, 3, 4, 5]n..
파이썬(Python) 클래스 요약 핵심 키워드classinstanceinheritance학습 요약클래스는 딥러닝 프로그램을 작성할 때 자주 사용된다.클래스: 붕어빵 틀에 비유할 수 있다.인스턴스: 붕어빵 틀에서 생성된 붕어빵에 비유할 수 있다.간단히 사람(human)에 대한 정보를 담는 사람 클래스를 정의해 보자.프로그램 내에서 두 명의 사람을 처리한다면?각 사람은 나이(age)가 다를 수 있다.class Human: def __init__(self): self.age = 0 def old(self): self.age += 1human1 = Human() # 사람 인스턴스 생성human2 = Human() # 사람 인스턴스 생성for i in range(10): # 10세 human1.old()f..
FDA 정리 및 코드 구현 Fisher Discriminant Analysis (FDA)import numpy as npimport matplotlib.pyplot as plt%matplotlib inline# generating data set n0 = 200 n1 = 200 sigma = \[\[0.9, -0.4\], \[-0.4, 0.3\]\]np.random.seed(0)x0 = np.random.multivariate\_normal(\[2.5,2.5\], sigma, n0) # data in class 0x1 = np.random.multivariate\_normal(\[1,1\], sigma, n1) # data in class 1print(x0.shape)print(x1.shape)(200, 2..
Autoencoder 정리 및 코드 구현 오토인코더 (Autoencoder)오토인코더는 인공 신경망을 기반으로 한 비지도 학습 기법으로, 입력 데이터를 압축한 후 다시 복원하는 과정에서 중요한 특징을 학습합니다. 이는 데이터의 차원을 축소하는 동시에 중요한 패턴을 찾아내는 데 사용되며, 비선형성을 다룰 수 있다는 점에서 PCA보다 더 강력할 수 있습니다.오토인코더의 구조인코더(Encoder): 입력 데이터를 압축하여 저차원 잠재 공간(Latent Space)으로 변환합니다. 이 과정은 신경망의 은닉층을 통과하며, 입력 데이터의 주요 특징을 학습합니다.디코더(Decoder): 인코더가 축소한 잠재 표현을 다시 원래 차원의 데이터로 복원합니다. 목표는 원래의 입력과 최대한 유사한 출력을 생성하는 것입니다.잠재 벡터(Latent Vector): 입력..
PCA 정리 및 코드 구현 PCA의 주요 개념분산(Variance): 데이터가 얼마나 퍼져 있는지를 나타내며, PCA는 분산이 큰 방향(즉, 정보가 많이 있는 방향)을 찾습니다.주성분(Principal Component): 분산이 가장 큰 방향의 벡터입니다. 첫 번째 주성분은 가장 많은 분산을 설명하고, 두 번째 주성분은 그다음으로 많은 분산을 설명하며, 서로 직교합니다.공분산 행렬(Covariance Matrix): 각 변수 간의 상관관계를 나타내는 행렬로, 이 행렬의 고유벡터(eigenvector)를 통해 주성분을 구합니다.고유벡터와 고유값(Eigenvectors and Eigenvalues): 공분산 행렬에서 고유벡터는 주성분의 방향을, 고유값은 각 주성분이 설명하는 분산의 크기를 의미합니다.PCA의 장점차원 축소: 고차원 ..