← Mission 페이지로 돌아가기
📝 학생노트 샘플
AI-SANA Certificate Program 1 수강생들의 실제 학습 노트입니다.
학생들이 각 모듈을 공부하면서 자신의 언어로 정리한 배움과 인사이트를 확인하세요.
🎬 학생 제작 영상
수강생이 직접 만든 따라하기 영상입니다. 이 영상대로 따라하시면 됩니다.
▶ 영상 보기
학생 A
모듈 1 (1.2.2) — Getting Started with Python
- 파이썬을 처음 경험하는데 제미나이에게 물어보면서 "아 이게 이런 코드이구나"라는 것을 이해하는 것.
- 샵(#)을 넣으면 주석 처리가 된다는 것
- 제미나이가 코드를 다 짜 준다는 것.
- 답도 제미나이에게 코드를 넣어 물어보면 다 알려 준다는 사실.
모듈 2 (1.2.9) — Your First Real ML Code
- 임포트(import) 명령어의 뜻
- 답을 제미나이가 다 찾아주지는 못한다는 사실을 경험.
- 인공지능을 학습시키는 메카니즘
- 코딩이 결코 쉬운 게 아니라는 사실
- 정답을 찾기 어려웠던 이유는 예제 코드를 수정해야 정답을 맞출 수 있다는 것. 바나나와 딸기 사진을 가지고 AI를 학습하는 예제를 완성한 다음에 문제를 풀어야 한다.
모듈 3 (1.2.10) — Fraud Detection
- 일반적으로 AI를 훈련시킬 때 80%는 트레이닝, 나머지 20%는 테스트에 쓰인다.
- max_depth=4의 뜻은 의사결정을 할 때 질문을 4번까지만 하도록 하는 명령어.
- F1 스코어(오탐지) 비율이 40%라는 것이 균형이 잘 잡힌 비율이라는 사실.
- 용어의 이해 — Accuracy(정확도), Precision(정밀도), Recall(재현율), F1 Score(오탐)의 의미
모듈 4 (1.2.11) — AI in Agriculture
- 랜덤 생성 명령어에 42라는 상수를 넣어 주는 이유는 적당한 균형과 일관성을 이루기 위해 임의로 넣어 주는 숫자이다. 유명한 SF소설 때문에 프로그래머들이 42를 관례적으로 사용한다.
- 임계값 30% 50% 70%의 의미 — 살충제를 언제 뿌릴 것인가? 보통 70%에서 뿌려야 최대의 수확을 얻을 수 있다.
- AI를 활용해서 작물을 경작하려 할 때 정해진 상수는 없고 몇 번의 실험과 시행착오를 거쳐서 상세한 조정과 설정을 해야 한다.
모듈 5 (1.2.12) — Feature Engineering
- 피처 엔지니어링이란: 원시 데이터를 가공하여 최적의 특징으로 변환하고 생성하는 과정
- Tree의 깊이 개념 — max_depth=6은 연속으로 질문을 던질 수 있는 최대 횟수. 스무고개와 같은 개념.
- 의사결정 트리는 머신러닝에서 질문을 이어가는 알고리즘. "복잡한 데이터를 가장 잘 나눌 수 있는 최적의 질문과 순서를 컴퓨터가 스스로 찾아내는 과정"
- 피처링에서 질문이 많아진다고 해서 더 좋은 결과를 얻는 것이 아니다.
- 레이블이란: 모델이 궁극적으로 "예측하고 맞혀야 하는 최종 정답(Target)"
모듈 6 (1.2.13) — Similarity & Distance
- 레이블이 없다는 뜻은 정답이 없다는 뜻. 비지도 학습 방식에서는 레이블이 없다.
- Min-Max Scaling(최소-최대 정규화)은 데이터의 값을 0~1 범위로 변환하여 서로 다른 피처의 크기 단위를 통일하는 전처리 기법.
- 유사성 계산에는 스케일링이 매우 중요하다.
- "데이터 포인트를 통해 예측한다"는 것은 과거의 수많은 경험(데이터)들을 점으로 찍어보고, 그 패턴을 바탕으로 새로운 상황의 결과를 유추하는 것.
- 유사도 거리(Similarity Distance): 두 점이 수학적으로 "얼마나 가까운지(비슷한지)"를 자로 재듯 측정하는 개념.
모듈 7 (1.2.14) — Cosine Similarity
- 유클리드 거리는 "데이터가 서로 얼마나 닮았는지(유사도)"를 측정하는 가장 기본적인 기준선.
- 코사인 유사도는 두 데이터가 "얼마나 같은 방향을 바라보고 있는가(방향성)"를 측정하는 기준. 의미와 패턴을 중요하게 여긴다.
- 온라인 쇼핑몰에서 사용자의 취향을 감안해서 제품을 추천할 때는 코사인 유사도가 사용된다.
모듈 8 (1.2.15) — k-Nearest Neighbors
- 예측하는 AI를 만들 때에는 레이블이 지정된 데이터를 사용한다. K는 데이터의 총량, N은 사람이 정해준 기준을 의미한다.
학생 B
모듈 1 (1.2.2) — Getting Started with Python
- 파이썬을 처음 경험하는데 이게 뭐지? 하면서 이해하기가 힘들었다.
- 제미나이에게 물어보면서 "아 이게 이런 코드이구나"라는 것을 이해가 아닌 인정하는 것.
- 교육학 과목시간에 코드를 만드는 수업을 듣다가 수강 포기하고 다른 과목을 들었는데 다시 이곳으로 왔구나… 하는 배움.
모듈 2 (1.2.9) — Your First Real ML Code
- 강의를 듣고 문제를 풀었으나 제미나이와 GPT의 답이 틀리게 나올 수 있다는 배움이 있었다.
- 정답을 찾기 어려웠던 이유는 예제 코드를 수정해야 정답을 맞출 수 있다는 것인데, 예제의 코드를 수정하는 과정 자체가 어렵게 느껴졌다.
- 코딩이 어렵다.
솔직한 감정과 어려움을 기록하는 것도 훌륭한 학습 노트입니다.
학생 C
구글 코랩(Google Colab) 기초
- 구글코랩에 들어가는 것이 처음이었다.
- Google Colab은 함께 프로그램을 만들고 실험하는 곳 — Google Docs(함께 글), Google Sheets(함께 표)와 같은 개념
- AI를 공부하는 사람들이 가장 많이 사용하는 무료 도구 중 하나가 구글코랩이다.
- plasma 컬러맵이란? 입자마다 다른 색을 주기 위해 사용한다.
- #(주석) 표시 뒤에 나오는 것은 문제가 없지만, 주석 표시 앞에 오는 것은 프로그램 문법에 맞지 않는다.
이미지 분류(Classification)
- 두 가지 과일 이미지를 확인하는데 첫 번째는 "0", 두 번째는 "1"로 확인한다.
- 이미지를 인터넷 상에서 또는 나의 컴퓨터에 저장된 이미지를 가지고도 AI에게 확인하게 할 수 있다.
평가 지표 학습
- Accuracy(정확도): 전체 거래 중 맞춘 비율. 다만 이 지표 하나만 믿고 판단해서는 안 됨.
- Precision(정밀도): 모델이 사기라고 경고한 것 중 실제 사기였던 비율.
- Recall(재현율): 실제 사기 거래 중 모델이 잡아낸 비율. 현재 33건 중 10건만 잡음(30.3%).
- F1 Score: 정밀도와 재현율의 균형을 나타내는 조화평균. F1이 높으면 좋은 균형이 있음을 의미.
모듈 4 (1.2.11) — 임계값과 비즈니스 의사결정
- Threshold(임계값): 모델의 확신 수준을 바탕으로 최종 결정을 내리는 기준점. Paranoid(보수적) / Balanced(균형) / Relaxed(여유) 세 가지 접근법.
- 특징 공학(Feature Engineering)의 중요성: 단순히 데이터를 많이 넣는 것보다 도메인 지식을 활용해 BMI, 고위험군 조합 같은 파생 특징을 만들었을 때 가장 높은 F1 스코어(0.696)를 기록.
- 무조건 트리를 깊게 만드는 것보다 핵심적인 특징을 잘 설계하는 것이 더 중요함을 배웠다.
모듈 5 (1.2.12) — 피처 엔지니어링 심화
- 레이블(Label): 모델이 궁극적으로 "예측하고 맞혀야 하는 최종 정답(Target)"을 의미.
- 피처링에서 질문이 많아진다고 해서 더 좋은 결과를 얻는 것이 아니다.
모듈 6 (1.2.13) — 비지도학습과 유사도
- 레이블이 없다는 뜻은 정답이 없다는 뜻. 증거에 근거하여 추론하는 비지도 학습 방식.
- Min-Max Scaling: 데이터를 0~1 범위로 변환하여 피처의 크기 단위를 통일.
- AI는 규칙을 주는 것이 아니라 유사도 계산만 해줄 뿐 — 최종 판단(해석)은 인간의 몫.
모듈 7 (1.2.14) — 유클리드·맨해튼·코사인
- 유클리드 거리: 직선거리(드론 비행). 맨해튼 거리: 격자형 도로 거리(도시 걷기).
- 코사인 유사도: 데이터의 크기는 무시하고 방향성과 패턴만 측정 — 넷플릭스, 스포티파이 추천 시스템의 핵심 기술.
모듈 8 (1.2.15) — KNN 알고리즘
- K=1: 극도로 민감, 노이즈에 휘둘림. K=3~5: 균형 잡힌 최적 범위. K=7+: 지나치게 둔감.
- K값은 반드시 홀수(Odd Number)로 설정 — 짝수면 동점(Tie) 발생으로 결론을 내릴 수 없음.
- 최적의 K는 정답이 없다 — 다양한 케이스를 직접 테스트해서 찾아야 함.
모듈 9 (1.2.16) — ML 파이프라인
- MinMax vs StandardScaler: 이상치(Outlier)가 있으면 MinMax는 전체 데이터를 찌그러뜨림. StandardScaler(Z-Score)가 더 안정적.
- 데이터 누수(Data Leakage): 테스트 데이터 정보가 훈련 과정에 스며들면 "치팅"이 됨. 스케일러는 훈련 데이터로만 Fit!
- 파이프라인: 전처리→학습→예측을 하나로 묶어 실수 방지, 데이터 누수 차단.
모듈 10 (1.2.17) — 의사결정나무와 설명 가능성
- 블랙박스의 한계: "왜?"라는 질문에 답하지 못하는 모델은 대출, 의료, 법률 분야에서 사용 불가.
- 의사결정나무는 데이터 스케일링이 필요 없고, 수치형/범주형 데이터 모두 처리 가능.
- 과적합 딜레마: Depth=3~5는 합리적 예측, Depth=15+는 무의미한 조건까지 암기 → 새 데이터에 엉터리.
모듈 11 (1.2.18) — 랜덤 포레스트
- 3대 키워드: 다양성(각 나무가 다른 피처로 학습) + 독립성(서로 눈치 안 봄) + 민주주의(다수결 투표).
- 100개 나무 중 94개가 "안전"이면 94% 신뢰도로 최종 판정.
- 투명성과 정확도의 트레이드오프 — 랜덤 포레스트는 블랙박스지만 예측 정확도는 압도적.
모듈 12 (1.2.19) — 알고리즘 편향
- 야간 근무자 44.9% vs 주간 11.9%가 추가 검문 — 비정상적 불균형 발견.
- 💡 80% 규칙: 소수 집단의 통과율이 다수 집단의 80% 이상이어야 공정. 유지보수 부서 통과 비율 65.6%로 심각한 차별 존재.
- "정확함이 곧 공정함을 의미하지 않는다" — 90% 정확도여도 내부에 편향이 있으면 위험.
모듈 13 (1.2.20) — 회귀 분석
- 분류 vs 회귀: 분류는 카테고리, 회귀는 연속적인 숫자(가격, 시간 등)를 예측.
- 드론 비행시간: 적재 중량이 34%로 가장 큰 영향 → 다중 회귀로 83.4% 설명력 달성.
- 안전 마진: 모델이 40분 비행 예측해도, 오차를 고려해 30분만 비행 계획하는 것이 핵심.
모듈 15 (1.2.22) — 허깅페이스와 사전학습 모델
- 50만 개 이상의 모델이 공개된 허깅페이스 플랫폼 활용 — 시간과 비용을 극적으로 절약.
- 제로샷 분류: 학습 데이터 없이 카테고리 이름만 지정하면 문맥을 파악해 분류.
- 감성 분석의 한계 — 완곡한 표현에도 100% 긍정/부정으로 과하게 확신하는 맹점 발견.
모듈 16 (1.2.23) — API와 비즈니스 자동화
- API: 컴퓨터와 AI가 직접 데이터를 주고받도록 자동화하는 연결 고리.
- API 키 보안: 유출되면 막대한 비용 청구 가능. GitHub에 절대 노출 금지.
- JSON + 배치 프로세싱: 수만 건의 리뷰를 구조화된 형태로 자동 분석.
모듈 18 (1.2.25) — NLP와 프롬프트 엔지니어링
- TextBlob: 무료 감성 분석 라이브러리. 빠르지만 복잡한 문맥에서 오분류 발생.
- 프롬프트 엔지니어링: AI에게 역할(러닝 코치)과 답변 형식(공감→강점 발견→행동 팁→마무리)을 정교하게 설계.
- Temperature 조절: 낮을수록 일관된 답변, 높을수록 창의적 답변. 0.7이 적절한 균형.
모듈 19 (1.2.26) — 강화학습과 RLHF
- 강화학습: 보상과 벌칙을 통해 AI가 시행착오를 겪으며 스스로 최적의 행동을 학습.
- RLHF: 챗봇에서 더 마음에 드는 답변을 선택하는 행위 자체가 AI의 행동을 교정하는 훈련.
- np.random.seed(42): 반복문 바깥에 한 번만 설정해야 진정한 무작위성 확보 + 재현성 유지.
학생 D
모듈 1 (1.2.2) — Getting Started with Python
이 과정의 목표는 파이썬 문법의 완벽한 이해가 아닙니다. 구글 코랩 환경에서 코드를 직접 실행하고 인공지능의 도움을 받아 수정하면서 코딩에 대한 두려움을 없애는 데 집중합니다.
핵심 개념
- 구글 코랩과 재생 버튼: 웹 브라우저에서 곧바로 파이썬 코드를 실행할 수 있는 환경.
- 복사, 붙여넣기, 실행, 조작: 이번 교육 과정의 기본 원칙.
- AI 파트너: 챗지피티, 클로드, 코랩 내장 제미나이 등. 코드의 의미를 설명해 달라고 요청하거나, 오류를 해결할 때 필수적으로 활용.
- 주석(#): 컴퓨터가 실행하지 않고 무시하도록 만드는 기호.
- 디버깅: 코드에 오류가 발생했을 때 이를 추적하고 고치는 과정.
블록 깨기 게임 실습
- 의도적으로 오류가 포함된 게임 코드를 직접 고쳐보는 실습.
- 버그를 고쳐 게임이 정상 작동하면 색상, 크기, 공의 속도를 직접 바꿔보거나 AI에게 새로운 기능 추가를 요청.
모든 파이썬 코드 문법을 일일이 배우던 시대는 지났습니다. 이제는 인공지능 파트너와 함께 복사하고 붙여넣고 실행하며, 조금씩 수정해 나가는 실험적 코딩이 가장 훌륭한 학습 방법입니다.
나의 노트: 이번 챕터는 개인적으로는 이미 공부한 내용이라 새로운 것은 없었습니다. 단지 달라진 것이 있다면 옛날에 코랩으로 공부할 때 쉽지 않았지만 지금 우리가 공부하는 시대는 AI가 있어서 뭔가 좋아진 것 같습니다.
모듈 2 (1.2.9) — Classify the Strawberry
- 사전 학습 모델: MobileNet V2를 코드로 직접 실행. 방대한 데이터(ImageNet)로 이미 훈련 완료.
- 배열(Array) 인덱스는 0부터! 첫 번째 바나나는 0, 두 번째 딸기는 1.
- AI의 확신도(Confidence Level): 바나나 82%, 딸기 95%, 사자 93%
- 모델의 한계 발견: 만화 캐릭터를 '벽시계'로, 산타 옷 입은 강아지는 확신도 39%로 하락.
"데이터가 결과를 결정한다." — The better data, the better prediction and higher accuracy.
나의 노트: 이번 과의 핵심 내용은 좋은 AI는 얼마나 데이터를 학습했는지가 중요하다는 것을 배웠다.
챕터 3 — 피처 엔지니어링과 데이터 변환
- 인공지능에게 원본 데이터를 그대로 집어넣는 것은 가공되지 않은 원석을 그대로 쓰려는 것과 같다.
- 고위험군 결합 변수를 개발해 투입하자 F1 점수가 눈에 띄게 상승 — 데이터의 양보다 질이 중요.
- 데이터 누수: 시험 전에 정답을 보여준 꼴. AI 모델 다룰 때 극도의 엄격함이 필요.
정돈되지 않은 데이터는 그저 소음에 불과하다는 사실이 신선했습니다.
챕터 4 — 비지도 학습과 유사도 측정
- 코사인 유사도의 충격: 백만 원 쓰는 사람과 만 원 쓰는 사람이라도 비율과 방향성이 같으면 같은 취향 그룹 — 인간 관계의 본질을 수학으로 풀어낸 것 같았다.
- 크로스셀링 마케팅: 자산가에게 검증된 상품을 비슷한 패턴의 학생에게도 추천하는 시스템 가능.
챕터 5 — 화이트박스 모델과 앙상블
- 랜덤 포레스트가 작동하는 원리를 보며 인간 사회의 집단지성과 똑같다는 것에 깊은 감명.
- 고집 센 임원 한 명의 독단보다 다양한 시각의 다수결이 정답에 가깝다는 진리를 AI가 수학적으로 증명.
- 금융·의료·법률처럼 사유를 설명해야 하는 분야에서는 추적 가능한 모델이 필수.
챕터 6 — AI 윤리와 알고리즘 편향
- 수학 공식으로 만든 프로그램이니 인간보다 공정할 것이라는 믿음이 산산조각.
- AI가 악의를 품지 않더라도 과거의 잘못된 관행을 학습하면 차별주의자로 변할 수 있다.
- 80% 규칙: 소수 집단 통과율이 다수 집단의 80% 이상인지 주기적 모니터링 필수.
기계에게 전적으로 칼자루를 쥐여주는 것이 얼마나 위험한 일인지, 감시하는 인간의 눈이 왜 끝까지 필요한지 절실히 깨달았습니다.
챕터 7 — 회귀 분석과 불확실성 관리
- AI가 완벽한 미래를 맞혀낼 줄 알았는데, 오히려 자기가 틀릴 수 있는 오차 범위를 명확히 제시하는 모습에 충격.
- 진짜 과학은 100% 확신이 아니라 불확실성의 크기를 정확하게 측정하는 것.
- 물류·배달 스타트업은 AI 예측치에 RMSE의 2배를 안전 마진으로 설정해야.
챕터 8 — API와 워크플로우 자동화
- 과거에 수천만 원과 수개월이 걸리던 자동화를 API 몇 줄로 구현 — 소름이 돋았다.
- 거인의 어깨 위에 올라타서 누가 더 영리하게 시스템을 융합하느냐의 싸움.
- 제로샷 분류로 이메일을 부서별 자동 배정하는 지능형 라우팅 시스템 구현.
챕터 9 — 강화학습과 RLHF
- 챗봇에서 더 마음에 드는 답변을 고르던 행위가 거대한 기계의 영혼과 인격을 형성하는 강화학습의 훈련 조교 역할이었다는 사실에 머리를 맞은 것 같았다.
- 자식을 키워본 중년의 입장에서 기계가 아니라 하나의 유기체를 다루는 듯한 감정과 몰입감.
- 결론: AI는 확률 계산 기계에 불과. 리더는 임계값과 오차 버퍼를 정밀 통제하는 오케스트라의 지휘자가 되어야 한다.
그것이 쉰의 나이에 인공지능의 바다에 뛰어들어 발견한, 시대를 관통하는 진짜 비즈니스의 나침반입니다.
학생 E
모듈 1 (1.2.2) — Getting Started with Python
- 복사, 붙여넣기, 실행 — 코드의 의미를 전부 몰라도 구글 코랩에 코드를 복사하고 재생 버튼을 누르는 것만으로 충분히 코딩을 시작할 수 있다.
- AI 도구 적극 활용 — 모르는 코드에 대한 설명이 필요하거나 버그를 고쳐야 할 때 제미나이, ChatGPT, 클로드 등의 AI 파트너에게 물어보고 해결.
- 주석(#)을 활용한 오류 해결 — 문제가 되는 줄 맨 앞에 #을 붙여 코랩이 읽지 않도록 할 수 있다.
- 수정과 실험 — 색상, 크기, 속도 등을 마음대로 수정해 보고, AI를 이용해 새로운 코드를 짜보며 반복 실험하는 것이 자신감을 키우는 핵심.
모듈 2 (1.2.9) — Machine Learning Basics
- 사전 학습된 모델(Pre-trained Model): 대규모 데이터셋으로 이미 학습을 마쳐, 바로 가져다 쓸 수 있는 AI 모델.
- 이미지 분류: 입력된 이미지 속 객체가 무엇인지 분석하여 카테고리를 나누는 기술.
- AI의 한계와 데이터의 중요성: "더 좋은 데이터가 더 나은 예측을 만든다"는 머신러닝의 핵심 명제.
모듈 3 (1.2.10) — Fraud Detection
- 4가지 특징(거래 금액, 발생 시간, 집과의 거리, 새로운 기기 사용 여부)을 가진 은행 데이터 활용.
- 학습 데이터 80%로 패턴 학습, 테스트 데이터 20%로 성능 검증.
- False Positives(가짜 알람): 정상 고객의 거래를 사기로 오인 → 고객 이탈
- False Negatives(사기 방치): 실제 사기를 정상으로 판단 → 금전적 손실
모듈 4 (1.2.11) — Agriculture AI
- 단순 분류를 넘어서 "이 밭이 병들었을 확률이 구체적으로 몇 %인가?"를 도출하는 것이 핵심.
- 임계값 30%: 보수적 접근 — 농약 비용 많지만 손실 방지, 총비용 관점에서 가장 경제적.
- 임계값 50%: 중립적 접근 — 균형 잡힌 기준.
- 임계값 70%: 낙관적 접근 — 농약 절약하지만 대규모 작물 손실 위험.
모듈 5 (1.2.12) — Feature Engineering
- 기본 모델에 단순히 특성 개수만 늘렸더니 오히려 F1 점수가 하락.
- '스마트 조합'의 강력함: "BMI 28 이상 + 나이 45세 이상"과 같은 '고위험 콤보' 특성 → 가장 높은 F1 점수.
- 의사결정 나무는 컴퓨터가 스무고개를 하듯 층별로 질문을 던지며 데이터를 분류하는 모델.
학생 F — 심화 학습 노트
모듈 1 (1.2.2) — Getting Started with Python
- Google Colab은 구글에서 Python을 공부할 수 있도록 제공하는 웹툴.
- "#" 주석처리, "import" 필요한 라이브러리를 가져온다.
- 코드를 잘 몰라도, AI에게 초등학생 수준으로 설명하라고 하면 이해하기 쉽게 설명해 준다.
- 질문과 코드를 함께 넣으면 AI가 debug한 후 어디에 bug가 있고 어떻게 fix할지 알려 준다.
- 중요: 버그가 없는 것처럼 보일 수 있으나, Conceptually Wrong (Silent Bug)가 있다는 것을 명심해야 한다. 사용하는 모델의 개념을 이해하는 것이 중요하다.
모듈 2 (1.2.9) — Classify the Strawberry
- MobileNet V2 같은 pre-trained 모델을 가져와서 fine-tuning하면 된다.
- 모델을 가져다 쓸 때는 항상 필요한 라이브러리를 import 해야 하며, 모델 사용 개념을 잘 알아야 한다 (conceptually wrong 예방).
- Array 내 값을 읽을 때는 항상 0부터 시작한다.
모듈 3 (1.2.10) — TengriPay Fraud Classification
- DecisionTreeClassifier는 일반적으로 AI가 80%의 문제와 정답을 보고 패턴을 배운다.
- 나무의 깊이(max_depth)를 조절하여 성능을 조절한다.
- Confusion Matrix로 모델 성능을 시각화.
모듈 4 (1.2.11) — Crop Disease Detection with Thresholds
- Threshold를 0.30, 0.50, 0.80으로 각각 설정하여 False Positive(오탐지)와 False Negative(미탐지) 비율을 비교하고, 최적의 임계치를 결정하는 수업.
- 드론으로 밀의 녹색 정도, 토양 습도, 밀 길이, 강우 데이터를 수집할 수 있다는 것이 놀랍다!
- "녹병은 습하고 약해 보일 때 더 잘 생긴다"는 농업 논리를 사전에 알아야 한다 — 도메인 지식이 중요.
- np.random.seed(42)의 유래: SF 소설 "은하수를 여행하는 히치하이커를 위한 안내서"에서 "삶, 우주, 모든 것의 답"이 42라고 답한 것에서 유래. 재밌네!
모듈 5 (1.2.12) — Feature Engineering
- Feature Engineering: 기존 데이터를 재가공하여 AI의 학습 효율을 높일 수 있는 새로운 핵심 변수를 직접 생성하는 과정.
- 기본정보(age, weight, height, blood_pressure)를 조합하여 더 의미있는 새로운 특징을 만든다(bmi, age_risk, bmi_age_risk, lifestyle_score).
- "알고리즘보다 Feature Engineering이 더 중요하다"
- Feature Engineering은 "데이터 속에 숨어 있는 의미를 발견하는 능력"이다.
- 역량 강화 질문: 비율(Ratio)을 만들 수 있는가? 유의미한 차이(Difference)를 도출할 수 있는가? 변수 간 상호작용(Interaction)을 고려했는가? 도메인 전문가라면 어떤 파생 변수를 설계할 것인가?
모듈 6 (1.2.13) — Euclidean vs Manhattan Distance
- Euclidean Distance: 두 지점 간의 직선거리. 물리적 거리 측정에 적합.
- Manhattan Distance: 각 축 방향 이동 거리의 합. Feature가 많을 때 유리.
- 거리 계산 전에 반드시 정규화(Scaling) 과정이 필요.
| 상황 | 추천 스케일링 |
| 기본 머신러닝 | StandardScaler |
| KNN, K-Means | MinMaxScaler |
| 이상치 많음 | RobustScaler |
| NLP, Sparse Data | MaxAbsScaler |
| 코사인 유사도 | Normalizer |
| 심하게 치우친 데이터 | Log Transform |
모듈 7 (1.2.14) — Cosine Similarity
- Euclidean Distance는 물리적인 이격 거리에 집중, Cosine Similarity는 성분 간의 상대적 비율과 패턴의 일치 여부를 평가.
- 텍스트 분석이나 추천 엔진, 문서 검색 분야에서 Cosine Similarity가 널리 활용.
지금은 line by line 코드를 이해하는 것보다 원리와 concept을 이해하는 것이 우선이다. 코드는 AI시대에 Vibe 코딩을 이용할 것이다.
모듈 8 (1.2.15) — k-Nearest Neighbors for NomadMart Loyalty
- kNN 응용 분야: Healthcare Diagnostics, Fraud Detection, Recommender Systems, Computer Vision.
- k 값에 따라 각각 다른 예측을 한다 — k=1, 3, 5, 7로 실행하여 결정 경계 변화를 확인.
모듈 9 (1.2.16) — Feature Scaling & ML Pipelines
- MinMaxScaler는 VIP 고객 같은 극단적 이상치에 취약 — 데이터 변별력을 왜곡. StandardScaler가 더 안정적.
- Pipeline: 여러 단계를 하나로 묶어주는 도구. 사용하는 가장 큰 이유는 실수를 막기 위해서이다.
모듈 10 (1.2.17) — Decision Trees & Explainability
- 과적합(Overfitting): 모델이 "공부를 잘한 것"이 아니라, 훈련 데이터를 외워버린 상태.
- max_depth=None이면 트리가 계속 깊어져서 한 사람 한 사람을 거의 외우게 된다.
- 과적합을 줄이는 방법: 트리 깊이 제한(max_depth=3), min_samples_split, min_samples_leaf 설정.
모듈 11 (1.2.18) — Random Forests
- 랜덤 포레스트의 핵심은 개별 나무들의 다양한 시각이 모여 성능을 극대화하는 것.
- max_features를 전체로 설정하면 모든 나무가 동일한 피처를 학습하여 변별력이 떨어진다.
모듈 12 (1.2.19) — Algorithmic Bias
- 단순히 정확도를 높이는 것보다 "이 모델이 누구에게 불이익을 줄 수 있는가?"를 파악하는 것이 훨씬 중요.
- 데이터를 먼저 의심한다. Feature를 신중하게 선택한다. 사람이 최종 결정을 한다.
AI 개발 시 "이 모델이 누구에게 불이익을 줄 수 있는가?"를 파악하는 것이 정확도를 높이는 것보다 훨씬 중요하다. 이것이 바로 책임 있는 AI(Responsible AI) 구현의 핵심이다.
모듈 15 (1.2.22) — Hugging Face Pre-trained Models
- pipeline("sentiment-analysis") 단 한 줄의 코드로 전문가 수준의 AI 기능을 즉시 구현할 수 있다.
- Sentiment Analysis, Translation, Summarization, Question Answering 등 다양한 NLP 작업 수행 가능.
모듈 16 (1.2.23) — AI API Integration: JSON-Mode Pipeline
- OpenAI의 JSON Mode를 활용하여 고객 피드백에서 {감정, 주제, 긴급도}를 추출하는 자동화 파이프라인 구축.
모듈 13 (1.2.20) — Regression: Caspian Drone Fleet
- 드론의 비행 거리와 연료 소모량 데이터를 활용하여 y = mx + b 형태의 선형 회귀 모델 구현.
- R² 수치와 비즈니스적 의미를 분석하여 3개의 신규 경로 연료 비용 산출.
모듈 14 (1.2.21) — Wildfire Spread Forecasting
- 산불 확산 속도를 예측하는 회귀 모델 구현. 평균 절대 오차(MAE) 산출 후 D3 시각화로 인터랙티브 차트 구성.
모듈 17 (1.2.24) — K-Means Clustering
- k=2, 3, 4로 K-평균 클러스터링 수행. k=3일 때 군집별로 "strugglers", "crammers", "completers"로 명명.
모듈 18 (1.2.25) — Basic NLP: Student Feedback Analysis
- TextBlob 라이브러리로 피드백 12건의 감성(Sentiment) 수치를 추출하여 긍정/부정 분류.
- 모델과 작업자 모두가 오분류한 사례를 식별하여 문맥적 모호성에 의한 실패 원인 규명.
모듈 19 (1.2.26) — RLHF: Training AI with Human Feedback
- 응답 데이터 쌍 5개를 분석하여 더 우수한 답변을 선택하는 투표 → 선호도(Preference) 학습.
- 사람의 판단과 모델의 결과가 엇갈리는 사례에 대한 논리적 원인 규명.
학생 G — 시각적 정리 노트
모듈 1 (1.2.2) — Google Colab 핵심 정리
📌 핵심 메시지
- 코딩은 "이해 → 실행"이 아니라 "복사 → 실행 → 수정"이다
- 처음부터 완벽히 이해하려고 하지 말 것
- "실행 + 수정 + 반복"이 공부 방법
- AI를 적극적으로 활용할 것
코드가 안 될 때
- ❌ 문법 오류 (syntax error) — 이해 못하는 코드가 들어갔을 때 발생
- ❌ 주석(#) 문제 — #가 있으면 그 줄은 실행 안 됨
디버깅 방법
- 에러 난 줄 삭제
- # 제거 또는 추가
- 함수 이름 수정 (예: draws → draw)
- Ctrl + F로 문제 단어 찾기
모듈 2 (1.2.9) — Teachable Machine & MobileNetV2
- 사전 훈련된 모델: MobileNetV2는 ImageNet으로 이미 훈련을 마친 상태. 이미 완성된 AI 모델을 '빌려 쓰는' 방식.
- 컴퓨터는 0부터 센다: 첫 번째 바나나는 0번, 두 번째 딸기는 1번.
- 테스트 결과: 바나나 82%, 딸기 95% — 높은 확신도.
- 한계 발견: 만화 캐릭터 → '벽시계'로 오분류. 산타 옷 입은 강아지 → 확신도 39%로 하락.
"Better data, better prediction and higher accuracy." — 더 좋은 데이터가 더 나은 예측과 더 높은 정확도를 만듭니다.
만화 캐릭터나 특수한 대상을 분류하려면, 목적에 맞는 특화 데이터를 다량으로 직접 학습시켜야만 높은 정확도를 얻을 수 있습니다.
학생 H — 기초부터 차근차근
모듈 1 (1.2.2) — Google Colab 시작
- 모든 코드의 의미를 알 필요는 없다. 생성된 코드를 복사해서 붙여놓고 실행됨을 확인하라.
- #(우물정자)의 의미: 주석을 넣을 때만. 코드 앞에 붙으면 에러로 인식.
- 코랩 아래의 제미나이에게 질문하며 해결해 나가라.
저는 기본적인 지식이 전혀 없기에 백지부터 시작합니다. 그러기에 기본 개념부터 공부하며 구체적으로 물으며 나가려고 노력하고 있습니다. 😅
머신러닝 접근 방식의 핵심 이해
- 전통적 프로그래밍: 데이터 + 규칙 → 정답
- 머신러닝: 데이터 + 정답 → 규칙/모델 (컴퓨터가 스스로 패턴을 찾아냄)
- 한계: 블랙박스 문제 — "왜 그런 결론이 나왔는지" 역추적하기 어려움
- 핵심 교훈: Garbage In, Garbage Out — 잘못된 데이터를 주면 엉터리 규칙을 학습한다
모듈 2 (1.2.9) — MobileNet V2 이미지 분류
- 사전 학습된 모델(MobileNet V2)을 사용하면 처음부터 새로 만들 필요 없이 바로 활용 가능.
- 학습된 모델이 없는 대상은 올바른 분류가 어렵다 — 더 많은 데이터를 학습시켜야 좋은 결과를 얻을 수 있다.
모듈 3 (1.2.10) — TengriPay 사기 탐지
- 전체 흐름: 데이터 생성 → 분할(80/20) → 모델 훈련 → 평가 → 비즈니스 비용 분석
- False Positive(가짜 알람): 정상 거래를 사기로 오인 → 고객 불편, 평판 하락
- False Negative(사기 방치): 실제 사기를 놓침 → 직접적 금전 손실
- 모델의 오류를 실제 재정적 비용으로 계산하는 것이 핵심
모듈 4 (1.2.11) — 작물 질병 탐지와 임계값
- predict_proba(): 단순 '예/아니오'가 아니라 "70% 확률로 질병"처럼 확률로 알려주는 기능
- 임계값(Threshold): 확률을 바탕으로 최종 결정을 내리는 기준점
- 데이터 누수(Data Leakage): 나중에 평가해야 할 정답 정보가 실수로 포함되어 성능이 실제보다 좋게 보이는 문제
모듈 5 (1.2.12) — Feature Engineering
- 특징 공학은 원시 데이터를 활용해 모델 성능을 더 좋게 만드는 새로운 특징을 만들어내는 과정
- 비유: 재료를 있는 그대로 쓰는 것보다 잘 다듬어 새로운 맛을 내는 요리법과 같다
- 체중과 신장을 각각 주는 것보다, 이미 계산된 BMI라는 지표를 주면 더 직접적인 정보 전달 가능
- 특징의 '양'보다 '질'이 더 중요 — 단순히 특성 개수를 늘리면 오히려 성능 하락할 수 있음
모듈 6 (1.2.13) — 유사성 측정과 스케일링
- 스케일링이란: 키를 미터/센티미터로 단위를 통일하는 것처럼, 데이터의 범위를 같은 기준에 맞춰주는 것
- Min-Max Scaling: 가장 작은 값 → 0, 가장 큰 값 → 1로 변환. 값이 큰 특성이 과도한 영향을 미치는 것을 방지
- 유클리드 거리: 두 점 사이의 직선 거리
모듈 7 (1.2.14) — 코사인 유사도
- 유클리드 거리: 물리적 이격 거리에 집중
- 코사인 유사도: 벡터의 크기(양)는 무시하고 '방향'(패턴)에만 집중 — 동일한 비율이면 양이 달라도 유사도 1
- 텍스트 분석, 추천 시스템, 문서 검색에서 널리 활용
모듈 8 (1.2.15) — k-NN과 데이터 누수
- k-NN: 가장 가까운 k개의 이웃을 찾아 다수결로 분류를 예측하는 알고리즘
- 데이터 누수 방지: fit_transform은 훈련 데이터에만! 새로운 데이터에는 transform만 적용
- k가 작으면 노이즈에 민감(과적합), k가 크면 패턴을 놓침(과소적합) → 편향-분산 트레이드오프
모듈 9 (1.2.16) — ML Pipeline과 스케일러 비교
- MinMaxScaler: 극단적 이상치(VIP 고객 등)에 취약 — 전체 데이터가 왜곡될 수 있음
- StandardScaler: 이상치에 비교적 강건하여 더 안정적인 성능 제공
- Pipeline: 전처리 + 모델을 하나로 묶어 실수 방지, 데이터 누수 차단
모듈 10 (1.2.17) — 의사결정 트리와 설명 가능성
- 의사결정 트리는 '예/아니오' 질문을 연속으로 던지는 순서도 구조
- 루트 노드: 첫 번째 질문 → 내부 노드: 추가 질문 → 리프 노드: 최종 결정
- 설명 가능성: "왜 이 대출이 거절됐는가?"를 경로를 따라 추적할 수 있다는 것이 최대 장점
- 과적합: 모델이 훈련 데이터를 "외워버린" 상태 → 새로운 데이터에 약해짐
모듈 11 (1.2.18) — 랜덤 포레스트
- 핵심 원리 3가지: 다양성(각 트리가 다른 데이터/특성으로 학습) + 독립성(트리 간 영향 없음) + 민주주의(다수결 투표)
- 개별 트리의 오류가 전체 숲에서 상쇄되어 더 견고한 예측 가능
- max_features를 잘못 설정하면 트리 다양성이 사라져 과적합 위험 증가
모듈 12 (1.2.19) — 알고리즘 편향 감사
- 야간 근무조/유지보수 부서 직원이 과도하게 플래그 처리되도록 의도적 편향이 주입된 데이터
- AI는 편향된 데이터에서 편향된 규칙을 학습 — 무고한 사람을 부당하게 플래그 처리
- 핵심 교훈: "AI가 똑똑해도 데이터가 똑똑하지 않으면 소용없다"
- 코딩은 단순히 기술이 아닌, 사람들의 삶에 영향을 미치는 활동 — 공정성과 윤리를 항상 고려해야
모듈 13 (1.2.20) — 회귀 분석: 드론 배터리 예측
- 단순 선형 회귀: 단일 피처로는 배터리 수명 변동의 50% 이상 설명 불가
- 다중 선형 회귀: 여러 피처(온도, 풍속, 탑재량, 고도, 비행속도)를 합치면 설명력 크게 향상
- 비즈니스 통찰: 탑재량이 배터리에 가장 큰 영향, 높은 풍속은 배터리를 크게 소모