[MPC] 3. 상태(state)와 출력(output) 예측해보기
·
🐬 ML & Data/📮 Reinforcement Learning
Input / Output 정리 $N_p$ : 예측하려는 미래 출력 수 $N_c$ : 예측하려는 미래 제어입력 수 경로 추적의 경우, $N_p$개 점을 tracking 하기 위한 $N_c$개 제어 명령... Control Input $\Delta u(k), \Delta u(k+1), \Delta u(k+2), \cdots, \Delta u(k + N_{c} - 1)$ Output $y(k), y(k+1), \cdots, y(k+N_{p})$ $y(k) = Cx(k)$ 이므로 $y(k+1) = Cx(k+1), y(k+2) = Cx(k+2), \cdots$ 로 표현 가능 따라서 예측 state $x(k+1), x(k+2), \cdots, x(k+N_{p})$를 구하면 됨 State variable 구하기 $..
[MPC] 2. 상태 공간 방정식 유도
·
🐬 ML & Data/📮 Reinforcement Learning
MPC 상태 공간 방정식 유도 상태공강 방정식 + LTI(Linear TimeINvariant, 선형 시간 불변 시스템)의 경우 => Continuous-time state-space model 상태 방정식 : $$\bar{x} = Ax + Bu$$ 출력 방정식 : $$y = Cx$$ MPC는 discrete 한 환경 => Discrete-time state-space model 상태 방정식 : $$x(k+1) = A_{d}x(k) + B_{d}u(k)$$ 출력 방정식 : $$y(k) = C_{d}x(k)$$ MPC 기본 모델은 Discrete-time aumented state-space model 상태 변수 대신 상태 변수의 변화량 $\Delta x$ 사용 상태 방정식 $${x(k+1) - x(k) ..
[MPC] 1. Model Predictive Control Intro
·
🐬 ML & Data/📮 Reinforcement Learning
유튜브 https://www.youtube.com/watch?v=zU9DxmNZ1ng&list=PLSAJDR2d_AUtkWiO_U-p-4VpnXGIorrO-&index=1 블로그 https://sunggoo.tistory.com/65 위 자료를 기반으로 공부한 내용을 가볍게 정리하려고 합니다. 수식 증명이 많겠고, 그 뒤로는 목적에 따라 논문이나 코드 구현을 보면서 추가해보겠습니다. MPC(Model Predictive Control)의 컨셉 기기 상태 변화(dynamics) + 주변 환경 요소 => cost function 제어공학 비선형 / 비볼록(Non-linear, Non-convex) 대상 공부하면서 느끼기에는 강화학습의 향기가 좀 있음 Flow k-1 일 때의 상태 변수를 기반으로 k+1 ~ ..
[etc] Logout 후 뒤로 가기 방지 - BF Cache
·
🐥 Web/❔ Back-end | etc.
문제 logout을 한 뒤에 로그인 권한이 필요한 페이지로 뒤로 가기를 눌렀을 때, 데이터가 그대로 노출되는 문제 보안상의 결함으로 수정해야하는 경우 원인 브라우저에서 관리하는 BF Cache(Back-Forward Cache) 웹 페이지를 방문하면 해당 페이지의 css/html/javascript/image 등 모든 리소스를 캐시에 저장 뒤로가기 / 앞으로 가기 버튼을 누르면 서버에 다시 요청하지 않고 캐시 리소스 활용해서 로딩 로그아웃 이후에도 BF Cache가 남아있기 때문에 다시 페이지가 보일 수 있음 해결 방법(Fast API 기준) Jinja Template response 사용 로그인 해야 이용할 수 있는 페이지에 접속 요청을 보내면 라우터에서 access token 확인 권한이 있는 경우 ..
[Math] Mathematics for Machine Learning 2. Linear Algebra
·
🐬 ML & Data/❔ Q & etc.
근래에 정말이지 수학 공부의 필요성을 느껴서 MML 이라는 머신러닝 수학의 바이블 같은 책으로 공부를 시작했는데... 일단 영어고(!), 용어가 너무 많고(!), 내용도 어려워서 아주 애를 먹고 있다. 어찌저찌 이해했다고 생각했는데 연습문제를 보니까 또 이야~ 모르겠고 난리다... 답안지를 봐도 이해가 어려운 부분이 많아서 꼼꼼하게 가이드 따라 두세번 풀어봐야 이해가 되지 싶다. 근데 너무 어렵다 ㅎㅋ... 선형대수 강의를 수강했었는데도 내가 들었던 선형대수 강의의 범위보다 더 넓은 듯 하다. 아무튼 아래 링크는 참고한 사이트 등. 한국어 번역 해주신 준별님 정말 감사합니다... 비교하며 보고 있습니다... 교재 - pdf 무료 공개(https://mml-book.github.io/book/mml-boo..
2023년 회고
·
😼 사담
새해를 맞이한만큼 새로운 마음으로, 과거를 발판삼아 나아가자는 의미에서 회고로 시작을 해보려고 합니다. 2023년은 모순적이게도 도전과 안정의 한 해였습니다. 저는 무수한 도전 속에서 삶의 흥미를 되찾고 안정을 얻는 사람인지라 2023년도의 수많은 새로운 도전들이 이전에 개인적인 이유로 불안정했던 마음을 추스리는데 도움이 되었습니다. 3월에 현직장에서 근무를 시작했습니다. 감사하게도 지금 이곳에서 너무나 많은 것들을 배우고, 경험하고, 성장하고 있습니다. 제가 12월까지 10개월간 근무하며 새롭게 도전해서 성과를 내본 것들은 아래와 같습니다. 관련 사항을 공부해서 정리한 블로그를 함께 첨부합니다. - YOLO 기반 object detection [Model Review] YOLOv5 + Roboflow ..
[Docker + ELK] Docker ELK를 사용해서 PostgreSQL DB 모니터링 하기
·
🐳 Docker & Kubernetes
이번 포스팅에서는 이전에 elasticsearch, kibana, logstash를 별도로 실행하여 PostgreSQL DB를 모니터링했던 것을 Docker을 통해서 구현해본다. 로컬 환경에서 elk를 구성했던 포스트는 아래 링크에서 확인할 수 있다. '🐥 Web/❔ Back-end | etc.' 카테고리의 글 목록 호락호락하지 않은 개발자가 되어보자 dnai-deny.tistory.com Docker을 사용해서 배포하면 명령어 하나로 쉽게 다른 사람의 개발환경, 버전, 설정을 복사해서 시스템을 구축할 수 있으므로, 다소 준비단계가 복잡한 ELK stack을 보다 간편하게 사용하기 위해 공부해서 구현해보기로 결정하였다. 사전 작업이 꼼꼼하게 들어가야하지만 제대로 알아두면 다음에도 할 수 있을테니까...👀..
[Protocol] XKNX를 활용한 KNXnet/IP 데이터 통신하기
·
🌠 etc.
ETS를 이용해서 device의 group address가 전부 설정된 이후 read/write 하는 것이 목표 1. knx 객체 정의 from xknx import XKNX from xknx.io import ConnectionConfig, ConnectionType aysnc def main(): xknx = XKNX( connection_config=ConnectionConfig( gateway_ip="knx net/ip address", gateway_port=3671, connection_type=ConnectionType.ROUTING, ), ) router를 사용하는 경우(EX. ABB ips) ConnectionType을 Routing으로, TUNNELING도 설정 가능 device들이 이..
[Protocol] KNX Overview
·
🌠 etc.
KNX https://support.knx.org/ 빌딩 자동화를 위해 표존화된 통신 프로토콜 커뮤니케이션 매체 : 트위스터 페어 / 전력선 / 무선 지원 버트 토폴로지 : 중앙 컨트롤러 필요 정보 구조 : 텔레그램 기반 통신 그룹 주소 지정 : 그룹 주소 사용해서 장치 통신 버스 전원 공급 장치 : 버스 라인에서 전원 공급받음 구성 및 프로그래밍 : ETS(Engineering Tool Software) 사용 KNX python open source library GitHub - XKNX/xknx: XKNX - A KNX library written in Python XKNX - A KNX library written in Python. Contribute to XKNX/xknx development ..
[SciChart] Vanilla Javascript에서 SciChart 사용하기
·
🐥 Web/🎨 Front-end
Javascript에서 SciChart 사용하기 script를 가져오고 미리 필요한 것들 정의하기 ... const { SciChartSurface, NumericAxis, DateTimeNumericAxis, FastLineRenderableSeries, XyDataSeries, XyScatterRenderableSeries, EllipsePointMarker, EZoomState, SweepAnimation, SciChartJsNavyTheme, RolloverModifier, RubberBandXyZoomModifier, NumberRange, LegendModifier, MouseWheelZoomModifier, ZoomPanModifier, ZoomExtentsModifier } = SciCha..
[PostgreSQL] Windows 외부 접속 허용 설정 및 외부 접속 방법
·
🐥 Web/❔ Back-end | etc.
postgresql.conf 수정 C:\Program Files\PostgreSQL\15\data_ 경로에 postgresql.conf listen_addresses = '*' 로 설정 - 모든 ip 주소에서 접속 허용 white list ip 설정하고 싶으면 ip 주소 쓰기 ps_hba.conf 수정 C:\Program Files\PostgreSQL\15\data 경로에 pg_hba.conf # IPv4 local connections: host all all 0.0.0.0/0 scram-sha-256 IPv4 local connection address 0.0.0.0/0 으로 수정(원래는 127.0.0.1) 방화벽 설정 고급 보안이 포함된 windows defender 방화벽 인바운드 규칙 - 새 규..
[라이트 딥러닝] 1. 넓은 시각으로 보는 머신러닝 개괄
·
🐬 ML & Data/🦄 라이트 딥러닝
2022년 11월 Chat GPT가 대중적으로 굉장히 넓게 알려지면서 서서히 붐이 오고 있던 인공지능 시장이 그야말로 전성기를 맞이했다는 생각이 드는 요즘입니다. LLM(Large Language Model) 뿐만 아니라 CV(Computer Vision) 분야에서는 저작권 문제가 대두되고 있기는 하지만 사진과 그림체를 학습시켜 그림체를 입은 새로운 그림을 만들어내고, 음성합성 분야에서는 인공지능을 활용해 TTS가 노래를 부르게 하기도 합니다. 눈에 보이는 서비스를 제공하는 위와 같은 분야를 제외하고도 인공지능을 통한 이상탐지 솔루션, 강화학습을 활용한 게임 봇(Bot) 생성 등 아직 저도 완벽히 쓰임을 다 알지 못하는 무궁무진한 분야에서 딥러닝이 사용되고 있습니다. 이번 포스팅에서는 AI를 공부하기로 ..
[강화학습] Dealing with Sparse Reward Environments - 희박한 보상 환경에서 학습하기
·
🐬 ML & Data/📮 Reinforcement Learning
※ 아래 링크의 내용을 공부하며 한국어로 정리한 내용입니다. Reinforcement Learning: Dealing with Sparse Reward Environments Reinforcement Learning (RL) is a method of machine learning in which an agent learns a strategy through interactions with its environment… medium.com 1. Sparse Reward Sparse Reward(희박한 보상) : Agent가 목표 상황에 가까워졌을 때만 긍정 보상을 받는 경우 현재 실험 환경 세팅과 같음 Curiosity-Driven method agent가 관심사 밖의 환경에도 동기를 받도록 Curric..
[Obsidian] 커뮤니티 플러그인 추천 및 Git을 활용한 연동법
·
🌠 etc.
지난 포스팅에서는 Obsidian과 Notion을 비교하는 내용을 다뤘었는데, 이번 포스팅에서는 어차피 옵시디언으로 넘어온 거! 기깔나게 써봅세! 하는 마음가짐으로 커뮤니티 플러그인 소개를 하도록 하겠다. 이전에 말한 것처럼 옵시디언은 유저가 개발한 플러그인을 다운받아서 기능을 확장시킬 수 있는데, 이게 사실상 옵시디언을 사용하는 이유라고 해도 무방하다. 그럼 바로! 시작하도록 하겠다. 정렬 순서는 추천순은 아니고 생각난 대로이다. Git 활용법만 궁금하시면 1번은 생략하시고 2번으로 넘어가시면 된다. 1. Obsidian 커뮤니티 플러그인 추천 a. Calendar 안녕하세요, 데일리 노트 없이는 살 수 없는 사람입니다. 나와 같은 종류의 사람이라면 장담컨데 옵시디언으로 넘어와서 가장 먼저 찾은 게 캘..
[Obsidian] Notion vs Obsidian, 내가 Obsidian으로 이사한 이유
·
🌠 etc.
2~3주 전이었나? 업무시간 중간에 Notion 서버에 잠시간 장애가 발생했던 적이 있다. 나는 내 기억력을 안 믿는 편이라 해야할 업무부터 일하면서 리서치한 내용 등을 노션에 다 기록해두고 쓰고 있어서 아주, 아주, 아주 불편한 시간이었다. 그때 결심했다. 아, 대체제를 찾아야겠다. 그때 Obsidian을 알게 됐다. 노마드 코더의 영상을 보고(사실 봤다기엔 썸네일만 봤다) 처음으로 Obsidian을 접하게 되었고, 장단점을 비교한 여러 글들을 읽어보고 이사를 결심하게 되었다. 이사 과정이 조금 험난하기도 했고, 적응에도 시간이 필요해서 이제 조금 알 것 같은 기분이라 나처럼 이사를 고민 중인 분들을 위해서 기록을 남겨보려고 한다. 연동성, 디자인(이라 쓰고 사용자 경험), 확장성을 중심으로 비교해보자..