분류 전체보기
[Data Science] Data Mining
[Data Science] Data Mining
2026.06.18Association Rule MiningA를 구매한 사람은 B도 같이 구매하더라~ 같은 패턴을 찾는게 목표 itemset : 물건들의 집합 support : 아이템셋이 전체 거래 중 몇 비율에서 등장하는지 나이브하게 생각하면 모든 가능한 연관 규칙을 찾고 support값과 confidence값을 계산해도 된다.다만 이렇게 하면 규칙 수가 너무 많아져서 느림 -> Apriori 알고리즘 사용 최소 지지도인 minsup과 최소 신뢰도인 minconf를 지정하고 비교함 (각각 직접 설정하는 파라미터)support >= minsup , confidence >= minconf (흔한 패턴만 보겠다 + 믿을 만한 규칙만 보겠다) 어떤 itemset이 frequent 하다면 (support >= min..
[Data Science] BirdCLEF+ 2026 챌린지 결과 발표
[Data Science] BirdCLEF+ 2026 챌린지 결과 발표
2026.06.10이어서 BirdCLEF에 대해 발표하겠습니다. 일단 결과는 public에서 은메달권까지 갔다가 1시간만에 4-500등이 밀리는 경험을 했습니다.이후 이것저것 여러 시도를 해 보면서 결국 1200등 내에 들었지만 좀 아쉬웠습니다. 몇 가지 가설을 세웠습니다. BirdCLEF의 학습데이터는 크게 inat 출처의 비교적 깔끔한 새소리와, soundscape 출처의 잡음이 많이 섞인 소리로 구성됩니다. EDA를 통해 이 둘 간의 격차가 굉장히 크다는걸 확인했습니다.즉, 소리 크기 자체의 편향을 정규화하는 모델 구조가 필요함을 확인할 수 있었습니다. 다음으로는 학습데이터에서 여러 종 간의 동시 출현 관련 생물학적 신호를 확인하기 위해서 수행한 EDA입니다.슬라이드에는 자세히 적어뒀지만.. ..
[StackUp] 종합설계 Sprint 2·3 Backlog 및 계획 발표
[StackUp] 종합설계 Sprint 2·3 Backlog 및 계획 발표
2026.06.01멀티모달 AI를 활용한 챗봇 개발을 주제로 IT 직군을 위한 모의 면접 경험을 제공하는 서비스를 개발하고 있습니다.오늘은 스프린트 2와 3에 대한 계획과 백로그에 대해 말씀드리려고 합니다. 저희 프로젝트는 스프린트 3까지로 구성됩니다.원래는 스프린트 2까지를 이번 학기에 수행하고, 다음 학기에 이어서 스프린트 3을 개발하려 했습니다.다만 계획을 수정해 이번 학기에 스프린트 3까지 진행할 예정입니다.이번 주차는 스프린트2 에 대한 계획과 백로그를 발표하는 시간이지만 프로젝트 계획 상 스프린트 2와 3에 대해 모두 말씀드리겠습니다. 스프린트 2와 스프린트 3은 이전 스프린트1에서 닦아둔 기반을 바탕으로 실제 면접 시뮬레이션을 구현하는 단계입니다.스프린트 2에서는 텍스트 기반 면접 세션 구현과 ..
[Data Science] ETRI 휴먼이해 인공지능 논문경진대회 - 5
[Data Science] ETRI 휴먼이해 인공지능 논문경진대회 - 5
2026.05.23로컬 OOF는 믿을 수가 없으니 데이콘 LB 자체를 채점기로 쓴다.제출은 하루에 세 번만 가능하니 이 제출을 검증기로 사용. 세번밖에 못 쓰니 아무거나 던지면 안된다. 가설을 세우기 전에 고려할 점 1. 현재 Best와 얼마나 다른지?비슷한거 섞어봤자 성능이 좋아지지 않는다. 현재 Best가 못 보는 부분을 다른 관점에 봐 줘야 의미가 있다.후보의 Test 예측과 현재 Best의 예측이 얼마나 비슷한지를 상관계수로 기록한다. 2. 혼자서도 얼마나 잘 맞히는지? Best랑 다르기만 하고 혼자서는 잘 못 맞추는 후보는 그냥 다른 노이즈일 뿐이다. 그러니 실제로 라벨을 잘 맞추는지도 확인해야 함.OOF 점수가 Baseline보다 얼마나 나은지를 평가한다. OOF를 믿을 수 없는건 최종 판정에서 못 믿는다는거..
[Embedded] Device Driver
[Embedded] Device Driver
2026.05.14디바이스 드라이버는 하드웨어를 추상화하는 소프트웨어 계층.. OS 다룬 내용이랑 유사할 수 밖에 없음. Upper Half 계층과 HAL 두 계층으로 나뉜다. // GPIOHAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);// 통신 UARTHAL_UART_Transmit(&huart2, buf, len, 100);// 초음파 TIMERHAL_TIM_Base_Start_IT(&htim2);// 모터 PWMHAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1); 사실 지금까지 자연스럽게 작성하던 HAL_* 함수가 모두 디바이스 드라이버임.GPIO 레지스터를 직접 조작하지 않고 함수 호출만 했고, 내부에서는 디바이스 드라이버가 작동하던 것. ..
[Data Science] ETRI 휴먼이해 인공지능 논문경진대회 - 4
[Data Science] ETRI 휴먼이해 인공지능 논문경진대회 - 4
2026.05.14https://dacon.io/competitions/official/236690/data 제 5회 ETRI 휴먼이해 인공지능 논문경진대회 - DACON분석시각화 대회 코드 공유 게시물은 내용 확인 후 좋아요(투표) 가능합니다.dacon.io 지금까지 내용을 기반으로 여러 가지 시도를 거쳤다.ensemble 크기 키우기, pseudo label을 다른 방식으로 적용해보기, rank average 적용 등등..그런데 전혀 진전이 없었음. 일단 내 로컬 컴에서는 Out-Of-Fold 방식으로 채점한다.Train 데이터 450개를 5개의 Fold로 나누고, Valid로 번갈아 선택하는 방식임. 여기서는 분명 점수가 잘뽑힘 그런데 데이콘에다가 제출만 하면 점수가 떨어진다.데이콘 서버는 비공개 라벨로 채점하니..
[Embedded] Embedded Operating System
[Embedded] Embedded Operating System
2026.05.13OS가 없으면 프로그래머가 무한루프로 직접 순서를 정해야 하지만, OS가 있으면 스케줄러가 자동으로 태스크를 실행해 멀티태스킹을 구현할 수 있다. 무한루프 + 인터럽트 구조는 OS가 없는 상황에서 사용하는 코딩 컨벤션이다.OS 가 있으면 이렇게 짤 필요가 없다. 여러 함수를 동시에 돌리는 것처럼 보이는 구조를 다룬다. 윈도우나 리눅스에서는 Process와 Thread를 나눠서 부르지만, 임베디드 OS에서는 Task라고 부른다.어차피 모든 Task가 메모리 공간을 공유하니 Process와 Thread의 구분이 중요하지 않음. OS 공부할때랑 정말 비슷한.. 임베디드 OS도 일단 근본은 OS니까.. 커널은 OS로 애플리케이션에 서비스를 제공한다. API는 OS와 라이브러리에서 제공하는 인터페이스 함수..
[Embedded] Motor
[Embedded] Motor
2026.05.13모터는 PWM으로 속도를 조절하고 인코더로 회전 결과를 측정한다.PWM은 출력이고 인코더는 입력으로, 두 가지가 한 쌍을 이뤄야 정확한 제어가 가능함. PWM, Timer 등 지난번에 센서를 공부할 때 다뤘던 내용들이 모터에 그대로 등장한다.다만 모터의 회전을 측정하는 인코더와 보정 파라미터를 찾는 Calibration이 새로 도입됨. DC 모터는 자석에 흐르는 전류의 방향과 세기를 조절해 모터에 회전력을 발생시킨다.전류의 방향이 회전 방향을 결정하고, 전류의 세기가 회전 속도를 결정한다. 일단 전류를 어떻게 조절하는지가 핵심. 인코더는 모터의 회전 방향과 이동거리 계산을 위해 사용된다.모터에 전류를 줘서 돌리더라도, 얼마나 돌았는지 계산해야 한다. 그러니 이 측정을 인코더가 담당함. 가변 저항으..
[Embedded] Sensor
[Embedded] Sensor
2026.05.13센서는 아날로그 현상을 디지털 값으로 바꾸는 역할을 수행한다.센서가 어떤 물리량을 어떻게 측정하는지 이해하고, 출력 신호를 MCU의 어떤 자원으로 받아들일지 결정해야 함. 핸드폰만 해도 카메라, 지문인식, 화면 회전을 위한 가속도계, 습도 및 조도 센서, GPS 등 굉장히 많은 센서가 들어있음.여기서 각 센서마다 측정하는 물리량과 용도가 다 다르다. AXLM(가속도계)와 Gyro(자이로스코프)는 항상 pair로 사용된다.자이로스코프는 축을 중심으로 한 회전운동을 의미하고, 가속도계는 축 방향으로의 직선운동을 의미한다. 핸드폰을 들고 위로 올리면 직선이동이니 가속도계가 감지하고, 손목을 비틀면 회전이니 자이로스코프가 감지한다.두 가지가 함께 사용되어야 핸드폰을 잡은 자세를 파악할 수 있음.다만 두 가지를 ..
[Embedded] Communication Programming
[Embedded] Communication Programming
2026.05.12STM32 에서 UART를 사용하려면 4가지 단계를 거쳐야 한다. 1. GPIO를 Alternate Function으로 Multiplexing2. USART 모듈을 활성화하고 송수신 모드 설정3. Baud Rate를 계산하고 BRR 레지스터에 작성 4. TXE 및 RXNE 플래그 기반으로 송수신 STM32F429xx 에는 USART 및 UART가 8개 들어있음.두 개 모두 섞여있다. STM32는 동기 모드도 지원함.APB1과 APB2는 속도가 다름. 각각 저속, 고속을 담당하고 USART1과 USART6은 빠른 버스에 붙어 baud rate가 높음. STM32의 핀 하나는 기본 GPIO 외 16가지 Alternate Function 중 하나로 사용될 수 있음.전에 다룬 USART CAN I2C 등..
[Embedded] Communication Protocol (1)
[Embedded] Communication Protocol (1)
2026.05.12웹은 HTTP 기반으로 통신한다.HTTP 만 쓰는건 아니긴 함. HTTP 위에 Websocket도 올려서 쓰고.. gRPC 쓰기도 하고.. Thrift 쓰기도 하고..다만 웹에서의 웬만한 통신 프로토콜은 모두 HTTP 기반임. 웹은 물리 계층이 추상화되어 모든 웹 통신은 결국 TCP/IP -> 이더넷/Wi-Fi 패킷으로 내려간다.그리고 물리적 전송은 OS및 NIC 드라이버가 알아서 처리해줌. 그러니 개발자는 HTTP 위에서 뭘 할지만 고민하면 됨. 임베디드는 물리 계층을 직접 다루니 웹에서의 통신과는 좀 다름. 같은 PCB 보드 위 칩 간 통신은 SPIPC와 보드 사이 케이블은 UART핀이 부족하니 절약해야 한다. 센서를 여러 개 묶는건 I2C자동차 전체는 차동 신호가 필요하니 CAN등등... 임베디드 ..
[StackUp] 종합설계 Sprint 1 Backlog 및 계획 발표
[StackUp] 종합설계 Sprint 1 Backlog 및 계획 발표
2026.05.10저희 팀의 종합설계 주제는 "멀티모달 AI를 활용한 챗봇 개발"이고, 이 주제를 바탕으로 IT 직군을 위한 모의 면접 경험을 제공하는 서비스를 개발하고 있습니다. 이번 주차에는 Sprint 1에 대한 프로젝트 백로그와 Sprint 1에서 진행할 내용을 말씀드리려고 합니다.서비스 플로우로 사용자가 StackUp 서비스를 어떤 흐름으로 사용할 지를 도식화했고, 소프트웨어 아키텍처로 어떻게 구현할지에 대한 청사진을 완성했습니다. Sprint 1에서의 개발 범위는 크게 세 가지로 정했습니다. 첫 번째로 개발환경 세팅 및 인프라 구축입니다. 기능 개발에 앞서 모든 팀원이 같은 환경 위에서 작업할 수 있는 토대를 다집니다.두 번째는 로그인입니다. IT 직군을 위한 서비스니 Github를 사용한 로그인을 ..