전체 글 262

[ML 스터디 2주차] 이항 분포 vs 베타 분포

스터디 교재: "개발자를 위한 필수 수학" by 토마스 닐드참고 본문: 72p. 2.4 베타 분포--------------책에서 사용한 엔진 테스트 예시 대신에 좀 더 단순한 예시들을 가지고 이항 분포와 베타 분포의 차이를 알아본다. 1. 알고자 하는 것이항 분포와 베타 분포의 가장 큰 차이는 '무엇을 알고 있고, 무엇을 모르는가(무엇을 추정하려 하는가)'에 있다.똑같은 동전 던지기 상황을 다루더라도 두 분포에서 알고자 하는 것은 반대 방향을 가리킨다.1️⃣ 이항 분포: 동전의 성능을 알 때, 결과는 어떨까앞면이 나올 확률이 50%인 정상적인 동전이 있다고 하자. 이때 "이 동전을 10번 던졌을 때 앞면이 정확히 7번 나올 확률은 얼마인가"를 묻는다.성능(확률)은 이미 주어졌고, 궁금한 것은 성공 횟수,..

[ML 스터디 2주차] 제트 엔진 테스트 사례로 살펴보는 이항 분포와 통계적 의사결정

스터디 교재: "개발자를 위한 필수 수학" by 토마스 닐드참고 본문: 70p. 2.3 이항 분포--------------책에서 이항 분포 설명을 위해 다음과 같은 예시를 들었다. 새로 개발한 제트 엔진을 10회 테스트했더니 8회 성공, 2회 실패. 눈에 보이는 성공률은 80%다.목표치인 90%에 미치지 못한 이 결과를 두고 팀 내부에서는 "재설계가 필요하다"와 "표본이 부족하므로 추가 검증이 필요하다"는 두 입장이 대립했다.직관이 아닌 정량적 근거로 이 논쟁을 정리하려면 이항 분포(Binomial Distribution) 개념이 필요하다. 1. 이항 분포의 전제 조건1️⃣ 이항(Binomial)의 어원과 정의이항이라는 용어는 두 개를 뜻하는 접두사 Bi-와 항을 뜻하는 -nomial의 결합이다.통계학에..

[ML 스터디 2주차] 확률과 가능도, 그리고 베이즈 정리

스터디 교재: "개발자를 위한 필수 수학" by 토마스 닐드참고 본문: 65p. 2.2.3 베이즈 정리-------------- 확률(Probability)과 가능도(Likelihood)는 얼핏 비슷해 보이는데 사실은 바라보는 방향이 서로 반대인 개념이다.확률은 원인에서 결과를 향하고, 가능도는 결과에서 원인을 향한다.확률과 가능도를 결합하면 이미 알고 있던 지식에 새로 관측한 증거를 곱해 결론을 갱신하는 베이즈 정리(Bayes' Theorem)가 나오는데, 이것은 단편적인 통계에 속지 않고 합리적인 판단을 하게 도와주는 근거가 된다. 1. 확률: 정해진 조건에서 결과를 예측1️⃣ P(결과 | 조건)확률은 이미 정해진 환경이 있는 상태에서 앞으로 어떤 일이 벌어질지를 예측하는 개념이다.즉, 설정은 고정되..

[ML 스터디 2주차] 단일 확률, 주변 확률, 결합 확률 용어 정리

스터디 교재: "개발자를 위한 필수 수학" by 토마스 닐드참고 본문: 62p. 2.2 확률 계산--------------1. 단일 확률 = 주변 확률(Marginal Probability)'주변 확률'은 '단일 사건의 확률'과 같은 개념이다.여러 가지 변수가 얽혀 있는 복잡한 상황에서, 다른 변수는 모두 무시하고 특정 사건 하나만 떼어서 볼 때의 확률을 의미한다.예: 동전을 하나 던져서 앞면이 나올 확률 = 1/2예: 주사위를 굴려서 6이 나올 확률 = 1/6그렇다면 왜 굳이 '주변(Marginal)'이라는 수식어를 붙였을까? 이는 통계학에서 확률 분포를 '표(Table)'로 그리는 관행에서 유래했다. 복잡한 확률 표를 분석할 때, 개별 사건의 총합(확률)은 항상 표의 바깥쪽 가장자리(Margin)에 ..

[ML 스터디 1주차] 미분과 극한, 그리고 도함수

스터디 교재: "개발자를 위한 필수 수학" by 토마스 닐드참고 본문: 43~52p. 1.10 미분--------------오일러 수에 대해 정리하며 마지막에 경사하강법(Gradient Descent)이라는 것을 언급했다.손실 함수(Loss Function)의 기울기를 계산하고 그 기울기의 반대 방향으로 파라미터를 조금씩 이동시켜 오차를 최소화한다는 원리인데, 결국 기울기는 "지금 이 순간 값이 어느 방향으로 얼마나 빠르게 변하는가"이며, 이 질문에 답하려면 미분을 알아야 한다.1. 미분의 조건1️⃣ 미분이 구하는 값'함수를 미분한다'는 것은 특정 순간에 값이 얼마나 빠르게 변하고 있는지, 즉 순간변화율을 구하는 과정이다.그래프 상에서는 특정 지점에서 접선의 기울기를 찾는 일이다.자동차의 누적 주행 거리..

[ML 스터디 1주차] 오일러수(e)와 미분(dy/dx)의 본질을 찾아서...

스터디 교재: "개발자를 위한 필수 수학" by 토마스 닐드참고 본문: 37p. 1.8.1 오일러 수--------------책에 있는 내용만으로는 미안하지만 "오일러수"가 어떤 개념이고 왜 있는 것인지 잘 이해가 안 됐다.모 LLM한테 오일러수를 딱 한 마디로 알아듣기 쉽게 정의해달라고 했더니 "자라는 속도가 자기 크기와 똑같아지는 유일한 숫자"라고 했다.이런 저런 설명을 하는데 여전히 알듯 말듯 모르겠다.그래서 그냥 내가 이해할 수 있는 말로 다시 정리해본다.1. 오일러수(e)의 본질: "커지는 속도 = 자기 크기"복리 이자 비유은행에 100만 원을 저축하고 1년에 100%의 이자를 받는다고 가정해 보자.이자를 1년에 한 번 받을 때보다, 6개월, 1달, 1일, 1초 단위로 쪼개서 복리로 받을 때 최..

[ML 스터디 1주차] 잡다한 질문

스터디 교재: 1. 내장 함수 이름을 변수로 쓰면 안 되는 이유본문: 31p. 예제 1-11 네 배열의 합계 구하기문제주피터 노트북에서 아래 파이썬 코드를 실행했더니 에러가 났다.x = [1, 5, 3, 4]n = len(x)summation = sum(10*x[i] for i in range(0, n))print(summation) 코드 자체는 아무 문제가 없어 보인다. 원인원인은 그 전 셀에 있었다.여기서 오른쪽의 sum(...)은 내장 함수로 정상 동작해서 30을 계산했다.문제는 그 결과를 sum이라는 이름에 그대로 대입했다는 것.그 순간부터 sum은 더 이상 함수가 아니라 정수 30이 된다.다음 셀에서 sum(...)을 호출하면 파이썬 입장에선 30(...)을 호출하는 셈이니, "int 객체는 호..

보안이슈#5. 랜섬웨어 3.0과 사이버 회복탄력성

최근 보안뉴스가 [2026 안티랜섬웨어 솔루션 리포트]를 공개했다. 랜섬웨어의 진화 양상과 그에 맞선 방어 솔루션의 흐름을 정리한 기획 기사로, 랜섬웨어의 진화와 공격/방어 패러다임의 변화에 대해 다루고 있다. [2026 안티랜섬웨어 솔루션 리포트] “복호화 시대는 끝?” 랜섬웨어 3.0세대, 대응도 달라져야 한과거 랜섬웨어는 파일을 암호화한 뒤 이를 복호화하는 조건으로 몸값을 요구하는 것이 기본 공식이었다. 하지만 이제는 양상이 완전히 달라졌다.www.boannews.com 공격자는 이제 데이터를 훔치고, 백업을 무력화하고, 협상 테이블에서 우위를 점하기 위해 기업의 운영 지속성 자체를 겨냥한다.그 결과 방어 담론의 축도 '탐지·차단'에서 '자기보호'와 '사이버 회복탄력성'으로 점차 이동하고 있다. 1..

Linux CPU 과점유 대응: top, /proc, strace로 위장 프로세스 추적하기

리눅스 서버의 CPU 사용률이 갑자기 늘어나면 가장 먼저 top 명령어로 어떤 프로세스가 CPU를 잡아먹고 있는지 찾아봐야 한다. 그리고 그 프로세스가 정상적인 연산 부하인지, I/O 병목인지, 정상 프로세스로 위장한 악성코드인지를 구분하려면 ps, /proc, strace, lsof로 이어지는 교차검증이 필요하다. CPU 과점유 원인은 크게 세 가지로 나뉘고, 그 판별 흐름은 다음과 같다. top 실행 결과, %CPU의 us/sy 비율, /proc/[PID]/exe가 가리키는 실제 실행 파일, strace -c의 syscall 분포가 각각 다른 결론을 뒷받침하는 근거가 된다.1. 실습 환경 준비1️⃣ 실습 환경 사양이 실습은 의도적으로 CPU를 포화시키므로, 관찰과 조작을 위한 여유분을 확보한 스펙이 ..

Mini-SOAR 엔진의 계층 구조와 파이썬 모듈의 처리 흐름

지난 SOAR 구축 실습: Snort 경보 기반 자동 침해대응 플레이북 엔진>에서는 공격 탐지부터 차단·알림·티켓 발행까지 이어지는 전체 파이프라인을 구축하고 End-to-End로 검증하는 과정을 다뤘다. 그 때는 인프라 구성과 통합 흐름에 초점을 맞췄다면, 이번에는 그 파이프라인의 중심부에 해당하는 SOAR 엔진 자체의 내부 설계와 작동 원리를 자세히 살펴본다. 1. Mini-SOAR 플레이북 엔진의 계층 구조 Mini-SOAR 엔진은 네 개의 계층(모듈)으로 분리했다.진입점(app.py)에서 경보를 수신하고, 파싱 계층(snort_parser.py)이 원본 문자열을 구조화된 데이터로 바꾸고, 매칭 계층(playbook_engine.py)이 어떤 플레이북을 실행할지 판단하고, 실행 계층(actions..