Python으로 배우는 AI 개념

Python으로 배우는 선형 회귀와 로지스틱 회귀

회귀는 가장 간단한 머신러닝입니다. 선형 회귀는 직선으로 숫자를 예측하고, 로지스틱 회귀는 그 직선을 sigmoid에 통과시켜 예/아니요 답의 확률을 예측합니다.

쉬운 말로 이해하는 개념

회귀는 가장 간단한 머신러닝입니다. 선형 회귀는 직선으로 숫자를 예측하고, 로지스틱 회귀는 그 직선을 sigmoid에 통과시켜 예/아니요 답의 확률을 예측합니다.

최소제곱법으로 직선을 맞추고, 로지스틱 회귀로 점수를 확률로 바꿉니다.

핵심 아이디어

  • 선형 회귀는 가격이나 기온 같은 연속적인 값을 예측합니다.
  • 로지스틱 회귀는 두 클래스에 대한 확률을 예측합니다.
  • 둘 다 공식 대신 경사 하강법으로 학습할 수 있습니다.
  • 퍼셉트론은 비슷한 분류기로, 틀렸을 때만 가중치를 업데이트합니다.

언제 사용하나요?

  • 신경망과 AI 라이브러리 내부에서 무슨 일이 일어나는지 이해합니다.
  • 해당 챌린지에서 직접 구현하기 전에 아이디어를 익힙니다.
  • 머신러닝 강의, 면접, 프로젝트를 준비합니다.

직접 움직여 보기

왼쪽 차트를 클릭해 점을 추가하면 가장 잘 맞는 직선이 갱신됩니다. 오른쪽에서는 w와 b를 바꿔 결정 경계를 옮길 수 있습니다.

예제 코드

코드 실행 →
main.py
import math

# Linear regression: find the line that best fits the points (least squares).
xs = [1, 2, 3, 4, 5]
ys = [2.1, 3.9, 6.2, 8.1, 9.8]
mean_x, mean_y = sum(xs) / len(xs), sum(ys) / len(ys)
slope = sum((x - mean_x) * (y - mean_y) for x, y in zip(xs, ys)) / sum((x - mean_x) ** 2 for x in xs)
intercept = mean_y - slope * mean_x
print(f"line: y = {slope:.2f}x + {intercept:.2f}")
print("predict x=6:", round(slope * 6 + intercept, 2))

# Logistic regression turns a score into a probability with the sigmoid.
def predict_pass(hours_studied, weight=1.5, bias=-4.0):
    return 1 / (1 + math.exp(-(weight * hours_studied + bias)))

for hours in (1, 3, 5):
    p = predict_pass(hours)
    print(f"{hours} hours -> pass probability {p:.2f} -> {'pass' if p >= 0.5 else 'fail'}")

예상 출력

line: y = 1.96x + 0.14
predict x=6: 11.9
1 hours -> pass probability 0.08 -> fail
3 hours -> pass probability 0.62 -> pass
5 hours -> pass probability 0.97 -> pass

작동 원리

최소제곱 공식은 점들까지 거리의 제곱이 가장 작아지는 기울기와 절편을 찾아 y = 1.96x + 0.14를 얻습니다. predict_pass()는 공부한 시간으로 점수를 계산하고 sigmoid가 이를 확률로 바꿉니다. 0.5가 불합격과 합격의 기준입니다.

값을 변경하고 Python 설치 없이 CodeUtility 온라인 Python 컴파일러에서 실행하세요.

연습 문제

입력값과 경계 조건을 바꾸고 더 큰 데이터에서도 동작을 확인하세요.

  1. 입력이나 가중치를 바꾸고 실행하기 전에 출력을 예상해 보세요.
  2. 중간 값을 출력해 계산의 각 단계를 따라가 보세요.
  3. 아래에 연결된 챌린지를 풀며 아이디어를 직접 구현해 보세요.
Python IDE에서 실행 →

챌린지로 연습하기

이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.

모든 챌린지