Computer/Machine learning models
LSTM(Long Short-Term Memory)과 GRU(Gated Recurrent Unit)의 특징 비교
LSTM(Long Short-Term Memory)과 GRU(Gated Recurrent Unit)는 둘 다 순환 신경망(RNN)의 변형으로, 시퀀스 데이터(예: 시계열 데이터, 텍스트 등)를 처리하는 데 사용됩니다. 두 구조 모두 기본 RNN의 단점인 장기 의존성 문제를 해결하기 위해 고안되었으나, 그들의 내부 구조와 작동 방식에서 차이가 있습니다. LSTM의 특징 게이트: LSTM은 셀 상태를 조절하기 위해 세 개의 게이트(입력 게이트, 출력 게이트, 망각 게이트)를 사용합니다. 이 게이트들은 네트워크가 장기간에 걸친 의존성을 학습할 수 있도록 돕습니다. 셀 상태: LSTM은 셀 상태라는 추가적인 정보 흐름을 가지고 있으며, 이는 네트워크를 통해 정보를 장기간에 걸쳐 전달하는 데 도움을 줍니다. 매개..
Computer/Machine learning models
recurrent_activation
recurrent_activation recurrent_activation은 순환 신경망(RNN)의 게이트 제어에 사용되는 활성화 함수를 지정하는 옵션입니다. LSTM과 GRU 같은 RNN 구조에서 게이트는 셀의 상태를 어떻게 업데이트할지 결정하는 중요한 역할을 합니다. 여기서는 recurrent_activation에 사용될 수 있는 몇 가지 일반적인 활성화 함수와 그 설명을 제공합니다: 1. Sigmoid ('sigmoid') 설명: sigmoid 함수는 출력을 0과 1 사이로 제한합니다. 이 특성 때문에 sigmoid는 게이트의 열림과 닫힘을 제어하는 데 주로 사용됩니다. 출력이 1에 가까우면 게이트는 완전히 열리고, 0에 가까우면 게이트는 완전히 닫힙니다. 사용 예: LSTM과 GRU의 입력 게이트..
Computer/Machine learning models
Epochs 와 Batch Size
epochs와 batch_size는 신경망을 훈련할 때 사용되는 두 가지 중요한 하이퍼파라미터입니다. 이들의 역할은 다음과 같습니다: Epochs 정의: 한 epoch은 전체 데이터 세트가 신경망을 통해 한 번 전달되는 과정을 의미합니다. 다시 말해, 모든 훈련 데이터가 신경망을 한 번 통과하고 가중치가 업데이트되는 과정이 하나의 epoch입니다. 용도: epochs=100이라는 설정은 전체 훈련 데이터 세트를 신경망을 통해 총 100번 전달하겠다는 것을 의미합니다. 이를 통해 모델이 훈련 데이터로부터 패턴을 학습하고 성능을 개선할 기회를 제공합니다. 중요성: 너무 적은 수의 epoch는 모델이 데이터에서 충분한 패턴을 학습하지 못하게 할 수 있으며, 너무 많은 epoch는 과적합(overfitting)..
Computer/Machine learning models
데이터 분할 : train_test_split
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42) 머신러닝 모델을 훈련시키기 위해 전체 데이터셋을 훈련 데이터와 테스트 데이터로 분할하는 과정을 나타냅니다. train_test_split 함수는 scikit-learn 라이브러리의 model_selection 모듈에 포함되어 있으며, 데이터를 무작위로 훈련 세트와 테스트 세트로 나누는 데 사용됩니다. 각 부분의 구성 요소를 자세히 살펴보겠습니다: X_scaled: 모델 훈련에 사용할 피처(독립 변수)입니다. 이 변수는 스케일링된 데이터를 나타내며, 스케일링은 피처들의 범위를 일정하게 맞추기 위해 수행됩니다. 스케일링은 모델의 성능을 ..
Computer/Micro:bit
빗방울 피하기
마이크로 비트를 제어하는 기본 문법을 학습하여 게임을 만든다. # 게임셋팅 def gameSetting(): global start, gameSpeed, sprite, direction start = False gameSpeed = 500 sprite = game.create_sprite(2, 4) # sprite가 처음 배치가 되면 오른쪽을 바라보고 있다. 초기 세팅을 해주는것. direction = "right" rainSetting() # 게임오버 만들기 def spriteDie(): global start if sprite.is_touching(rain1) or sprite.is_touching(rain2) or sprite.is_touching(rain3): rain1.delete() rain2..
Computer/ETC
RS422 / RS485 차이점
RS422와 RS485는 모두 직렬 통신 인터페이스로 사용되는 표준이지만 몇 가지 중요한 차이점이 있습니다. RS422는 포인트 투 포인트 연결을 지원하며, RS485는 멀티포인트 네트워크를 구성할 수 있습니다. RS422는 전송 거리가 짧고 속도가 빠르며, RS485는 전송 거리가 길고 멀티드롭 환경에 적합합니다. RS422는 주로 데이터 통신에 사용되며, RS485는 주로 산업 자동화 및 제어 시스템에서 사용됩니다. RS422는 두 개의 신호선(데이터+와 데이터-)을 사용하고, RS485는 세 개의 신호선(데이터+와 데이터-, 그리고 공통 GND)을 사용합니다. RS422는 전송 속도가 일정하지만 RS485는 전송 속도를 다양하게 조정할 수 있습니다. 이러한 차이점을 고려하여 RS422와 RS485를..
Computer/ETC
정보보호 개요
정보보호(information security)의 사전적 의미를 살펴보면 '정보의 수집, 가공, 저장, 검색, 송신, 수신 중에 발생하는 정보의 훼손, 변조, 유출 등을 방지하기 위한 관리적, 기술적 수단, 또는 그러한 수단으로 이루어지는 행위' 이다. 정보보호는 '기밀성, 무결성, 가용성, 인증성 및 부인방지를 보장하기 위하여 기술적, 물리적, 관리적 보호대책을 강구하는 것' 이라고 할 수 있다. 사람들이 필요로 하는 사용 가능한 자원을 쉽게 얻을 수 있으면서도 정보에 위협이 되는 요소를 최소화하는 균형점을 찾는 것이다. 정보의 활용은 정보의 가용성을 극대화하자는 뜻이며, 정보의 통제는 위협 요소를 줄이고 안정성을 확보하기 위해 최대한 통제를 하자는 의미이다. 정보의 활용과 정보의 통제 사이에서 균형감..
Computer/WEB, PHP-JAVA-Script
const, var, let
var: var 키워드는 자바스크립트에서 가장 오래된 변수 선언 방식이에요. 가장 큰 특징인 함수 스코프(function scope) 때문에, 가끔 예상치 못한 동작이 발생할 수 있어요. 함수 내부에서 선언된 var 변수는 그 함수 내에서만 접근이 가능하지만, 블록(중괄호)와 관계 없이 접근이 가능해요. let: let 키워드는 ES6(자바스크립트의 버전)부터 도입된 변수 선언 방식이에요. let은 블록 스코프(block scope)를 갖고 있어서, 중괄호 { } 사이에서만 접근이 가능해요. 그래서 var보다 코드를 작성하고 관리하기에 안전한 방식이라고 볼 수 있죠. const: const 키워드도 let처럼 ES6부터 도입된 방식이구요. 블록 스코프를 가지며, 한 번 값을 할당하면 상수처럼 변경할 수 ..
Computer/ESP32
ESP32 WiFi
ESP32 WiFi 라이브러리 WiFi.mode(mode) : WiFi 모드 설정 - WiFi 사용 시 어떠한 방식으로 인터넷에 연결할지 설정 - WIFI_AP, WIFI_STA, WIFI_AP_STA or WIFI_OFF WIFI_STA : station mode: the ESP32 connects to an access point WIFI_AP : access point mode: stations can connect to the ESP32 WIFI_AP_STA : access point and a station connected to another access point ESP32를 Wi-Fi 스테이션으로 설정하면 라우터와 같은 다른 네트워크에 연결할 수 있습니다. 이 시나리오에서 라우터는 ESP ..