JHJ

[내일배움캠프 QAQC 부트캠프] 머신러닝 심화 마무리(32일차, 260625) 본문

[내일배움캠프 QAQC 부트캠프]/TIL

[내일배움캠프 QAQC 부트캠프] 머신러닝 심화 마무리(32일차, 260625)

Jo, Hongjin 2026. 6. 25. 10:52

1. 오늘 학습 키워드:

머신러닝 심화 마무리

 


2. 오늘 학습 한 내용을 나만의 언어로 정리하기:

코드카타

알고리즘
 
77 - 이진 변환 반복하기

def solution(s):
    count_2 = 0
    count_0 = 0
    while s != "1":
        count_2 += 1
        count_0 += s.count('0')
        s = s.replace('0', '')
        a = len(s)
        b = ""
        while a > 0:
            b = str(a % 2) + b 
            a = a // 2 
        s = b
    return [count_2, count_0]

SQL

서브쿼리 그만 좀 풀고 싶다

66 - 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기

SELECT CONCAT('/home/grep/src/', B.BOARD_ID, '/',B.FILE_ID, B.FILE_NAME, B.FILE_EXT) AS FILE_PATH
FROM USED_GOODS_BOARD AS A
INNER JOIN USED_GOODS_FILE AS B
ON A.BOARD_ID = B.BOARD_ID
WHERE B.BOARD_ID = (
    SELECT BOARD_ID
    FROM USED_GOODS_BOARD
    ORDER BY `VIEWS` DESC
    LIMIT 1
)
ORDER BY B. FILE_ID DESC
67 - 주문량이 많은 아이스크림들 조회하기

SELECT A.FLAVOR
FROM FIRST_HALF AS A
INNER JOIN JULY AS B 
ON A.FLAVOR = B.FLAVOR
GROUP BY A.FLAVOR
ORDER BY (MAX(A.TOTAL_ORDER)+SUM(B.TOTAL_ORDER)) DESC
LIMIT 3;
68 - 저자 별 카테고리 별 매출액 집계하기

SELECT A.AUTHOR_ID, B.AUTHOR_NAME, A.CATEGORY, SUM(C.SALES*A.PRICE) AS TOTAL_SALES
FROM BOOK AS A
INNER JOIN AUTHOR AS B
ON A.AUTHOR_ID = B.AUTHOR_ID
INNER JOIN BOOK_SALES AS C
ON A.BOOK_ID = C.BOOK_ID
WHERE C.SALES_DATE LIKE '2022-01%' 
GROUP BY A.AUTHOR_ID, B.AUTHOR_NAME, A.CATEGORY
ORDER BY A.AUTHOR_ID ASC, A.CATEGORY DESC
69 - 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기

SELECT MONTH(START_DATE) AS MONTH, CAR_ID, COUNT(*) AS RECORDS
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE 
    START_DATE BETWEEN '2022-08-01' AND '2022-10-31'
    AND CAR_ID IN (
        SELECT CAR_ID
        FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
        WHERE START_DATE BETWEEN '2022-08-01' AND '2022-10-31'
        GROUP BY CAR_ID
        HAVING COUNT(*) >= 5
    )
GROUP BY MONTH(START_DATE), CAR_ID
ORDER BY MONTH(START_DATE) ASC, CAR_ID DESC
70 - 그룹별 조건에 맞는 식당 목록 출력하기

SELECT A.MEMBER_NAME, B.REVIEW_TEXT, B.REVIEW_DATE
FROM MEMBER_PROFILE AS A
INNER JOIN REST_REVIEW AS B
ON A.MEMBER_ID = B.MEMBER_ID
WHERE A.MEMBER_ID = (
    SELECT MEMBER_ID
    FROM REST_REVIEW
    GROUP BY MEMBER_ID
    ORDER BY COUNT(*) DESC
    LIMIT 1
)
ORDER BY B.REVIEW_DATE ASC, B.REVIEW_TEXT ASC

 

머신러닝/라이브러리 심화

3-1 군집화 이론
비지도 학습: 데이터 간 유사성을 이용해서 답을 지정하는 방법
대표적으로 K - 평균 군집화 알고리즘

수행 순서:
K개 군집 수 설정, 임의의 중심을 선정
해당 중심점과 '거리가 가까운 데이터'를 그룹화
데이터의 그룹의 '무게 중심으로 중심점'을 이동
중심점을 이동했기 때문에 '다시 거리가 가까운 데이터'를 그룹화

장점: 일반적, 적용 용이
단점: 
거리 기반이므로 고차원일수록 정확도 하락
반복 횟수에 따른 시간 문제
몇 개의 군집(K)을 선정할지 주관적
이상치에 취약(평균을 이용하기 때문)
sklearn.cluster.KMeans

군집평가 지표
군집화가 잘되어 있다는 것은 다른 군집간의 거리는 떨어져 있고 동일한 군집끼리는 가까이 있다는 것
실루엣 분석:
군집 간의 거리가 얼마나 효율적으로 분리되어 있는지
실루엣 계수: : 1로 갈수록 잘 군집화. -1에 가까울수록 잘못 군집화

3-2 3-3 군집화 실습 - 한번 더 보기
군집화 외에 PCA도 있음
군집화가 잘 안 될 때는 로그 스케일의 추가 전처리도 유용
단순히 실루엣 계수만 볼 것이 아니라 분석 목적에 맞게 주관적으로 선택
4-1 딥러닝 이론
머신러닝과 다르게 딥러닝은 자연어처리와 이미지 처리에 집중 발전
공통점: 
데이터로부터 가중치를 학습하여 패턴을 인식하고 결정을 내리는 알고리즘 개발과 관련된 AI의 하위 분야
차이점:
신경세포 구조를 모방한 인공 신경망을 사용

인공 신경망: 인간의 신경세포를 모방하여 만든 망
신경세포: 이전 신경세포로 들어오는 자극을 이후 신경세포로 전기신호로 전달하는 기능을 함
퍼셉트론: 인공 신경망의 가장 작은 단위


회귀에서 최소화 해야 하는 값 MSE: 최소화하려는 값을 목적 함수 혹은 손실 함수
경사 하강법: 모델의 손실 함수를 최소화하기 위해 모델의 가중치를 반복적으로 조정하는 최적화 알고리즘
다양한 활성화 함수( ex. 로지스틱 함수 등)의 존재
히든레이어: 고차원적 특성을 학습하기 위해 입력과 결과 외의 추가하게 되는 숨은 층

순전파: 입력 데이터가 신경망의 각 층을 통과하면서 최종 출력까지 생성되는 과정
역전파: 신경망의 오류를 역방향으로 전파하여 각 층의 가중치를 조절하는 과정
기울기 소실 문제: 역전파 과정에서 하위 레이어로 갈수록 오차의 기울기가 점점 작아져 가중치가 거의 업데이트 되지 않는 현상 
해결: 특정 활성화 함수(ex Relu)를 통해 완화

Input Layer: 데이터가 벡터의 형태로 입력
Hidden Layer: 인풋과 아웃풋 사이의 층, 비선형 문제를 해결
Output Layer: 최종도착 Layer
활성화 함수: 비선형성을 추가하며 기울기 소실 문제 해결

딥러닝에서 복습의 중요성: epoch, batch ,iteration 등의 개념

4-2 딥러닝 실습
Tensorflow: 구글, 기계학습 라이브러리,  딥러닝 라이브러리 통합
Pytorch: 메타, 토치 기반의 딥러닝 라이브러리

실습 - 텐서플로우
https://www.tensorflow.org/api_docs/python/tf/keras/Model#fit

tensorflow.keras.model.Sequential 
tensorflow.keras.model.Dense

4-3 딥러닝 동향
자연어처리: 인간의 언어를 데이터 화 하는 것
ex. Transformer 모델,  LLM 모델
이미지: 3차원 데이터를 모델에 학습 시킴
텍스트, 이미지, 음성 등 다양한 유형의 데이터를 함께 사용하는 Mutimodal의 시대 ex. Stable Diffusion

4-4 머신러닝 요약
머신러닝의 기본, 개념
회귀분석: 선형회귀, MSE
분류분석: 로지스틱회귀, 정확도, f1_score
프로세스: 데이터 수집 → 전처리 → 모델링 → 평가
회귀, 분류 모델링 심화: 의사결정나무, 랜덤포레스트, KNN, 부스팅
비지도학습: K-means 군집화
인공 신경망: 사람의 신경세포를 모방한 네트워크

Data Engineer: 데이터 추출, 변환, 적재 및 데이터 파이프라인 관리, Workflow 과정 자동화, ML/DL 활용 낮음
Data Analyst: 데이터 분석 및 인사이트 도출,보고서 작성 및 데이터 시각화 , ML/DL 활용 중간

3. 학습하며 겪었던 문제점& 에러 + 회고

3-1 문제점& 에러: X

                           

3-2 회고: 오늘이랑 내일은 개인공부에 투자할 예정!


4. 내일 학습할 것은 무엇인지(기본적인 AI 진단퀴즈, 코드카타, TIL 제외)

- 금요일(26일): 라이브세션 재수강, 개인공부

 

 

AI 시대를 돌파할 취업 솔루션 | 내일배움캠프

직무별 AI 활용 역량부터 인턴십까지. AI 시대를 돌파할 취업 솔루션, 스파르타클럽 내일배움캠프

nbcamp.spartaclub.kr