티스토리 뷰
Study/A.I
[AI Study] Day4 - 머신러닝의 주요 알고리즘 - 선형 회귀 (Linear Regression)
knowledge hunter 2025. 1. 29. 00:56728x90
반응형
학습 목표
- 선형 회귀 알고리즘의 개념과 원리를 이해한다.
- 단순 선형 회귀와 다중 선형 회귀의 차이를 학습한다.
- Python을 사용하여 선형 회귀를 구현하고 결과를 분석한다.
1. 선형 회귀란 무엇인가?
**선형 회귀 (Linear Regression)**는 입력 변수와 출력 변수 사이의 관계를 직선으로 표현하여 예측하는 알고리즘입니다.
1.1. 특징:
- 연속형 데이터를 예측하는 데 사용됩니다.
- 데이터를 가장 잘 설명하는 직선을 찾습니다.
- 공식:
- 단순 선형 회귀:
- : 출력 (예측값)
- : 입력 (독립 변수)
- : 기울기 (slope)
- : 절편 (intercept)
- 다중 선형 회귀:
- 단순 선형 회귀:
1.2. 사용 사례:
- 집값 예측 (면적에 따른 가격)
- 광고비에 따른 매출 예측
- 학생 공부 시간에 따른 시험 점수 예측
2. 선형 회귀의 동작 원리
- 가설 설정: 형태의 모델을 가정합니다.
- 오차 계산:
- 오차(Residual) = 실제 값 - 예측 값
- 비용 함수 (Cost Function):
- 평균 제곱 오차(MSE, Mean Squared Error)를 사용하여 모델의 정확도를 측정.
- 최적화:
- 경사 하강법(Gradient Descent)을 사용하여 비용 함수의 값을 최소화.
3. Python으로 선형 회귀 구현하기
3.1. 코드 예제
# 필요한 라이브러리 가져오기
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
# 데이터 생성
x = np.array([1, 2, 3, 4, 5]).reshape(-1, 1) # 공부 시간
y = np.array([2, 4, 5, 4, 5]) # 시험 점수
# 데이터 분리 (훈련 데이터와 테스트 데이터)
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=42)
# 모델 생성 및 학습
model = LinearRegression()
model.fit(x_train, y_train)
# 예측
y_pred = model.predict(x_test)
# 시각화
plt.scatter(x, y, color='blue', label='Actual Data')
plt.plot(x, model.predict(x), color='red', label='Regression Line')
plt.xlabel('Study Hours')
plt.ylabel('Scores')
plt.legend()
plt.show()
3.2. 코드 설명
- 데이터 준비:
- x는 입력 변수(공부 시간), y는 출력 변수(시험 점수)입니다.
- train_test_split을 사용하여 데이터를 훈련용과 테스트용으로 나눕니다.
- 모델 생성:
- LinearRegression() 객체를 생성하고, fit 메서드로 데이터를 학습시킵니다.
- 예측 및 시각화:
- 학습된 모델로 테스트 데이터를 예측하고, 결과를 실제 데이터와 비교하여 시각화합니다.
4. 학습 활동
활동 1: 손으로 계산해보기
- 데이터를 , 로 가정하고, 기울기 와 절편 를 계산해 보세요.
활동 2: 다중 선형 회귀 실습
- 다중 입력 변수(예: 공부 시간, 수업 참여도)를 포함한 데이터를 생성하여 모델을 학습해 보세요.
활동 3: 토론 질문
- "선형 회귀는 모든 데이터에 적합할까요?"에 대해 가족이나 친구와 이야기해 보세요.
5. 퀴즈 (복습)
- 선형 회귀란 무엇인가요?
- 단순 선형 회귀와 다중 선형 회귀의 차이점은 무엇인가요?
- 선형 회귀에서 평균 제곱 오차(MSE)의 역할은 무엇인가요?
6. 추가 학습 자료
- 동영상: "Linear Regression Explained" - YouTube.
- 참고 자료:
- 블로그 글: 선형 회귀 분석의 기본 가정 (선형성, 독립성, 등분산성, 정규성)
- 이 블로그 글은 선형 회귀 분석의 네 가지 주요 가정인 선형성, 독립성, 등분산성, 정규성에 대해 자세히 설명하고 있습니다.
- 논문: 상관성과 단순선형회귀분석
- 이 논문은 두 변수 간의 선형 상관관계 여부를 검정하고, 상관분석과 회귀분석을 사용하기 위한 가정들을 전제로 한 분석 방법을 다루고 있습니다.
- 선형 회귀와 경사 하강법 설명 논문
7. 오늘의 학습 정리
- 선형 회귀는 연속형 데이터를 예측하기 위한 머신러닝 알고리즘입니다.
- 단순 선형 회귀와 다중 선형 회귀의 개념을 이해하고 Python으로 구현했습니다.
728x90
반응형
LIST
'Study > A.I' 카테고리의 다른 글
[선형회기 사전학습] Day 1: 함수(Function)와 기울기(Slope) 이해하기 (0) | 2025.02.09 |
---|---|
6일 코스: 선형 회귀 사전 학습 플랜 (1) | 2025.02.09 |
[AI Study] Day3 - AI의 주요 활용 사례 (Applications of AI) (2) | 2025.01.29 |
[AI Study] Day2 - 머신러닝의 작동 원리 (How Machine Learning Works) (4) | 2025.01.28 |
[AI Study] Day1 - AI란 무엇인가? (0) | 2025.01.28 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 수학공부
- 일일학습
- 1차방정식
- ai스터디
- 인공지능
- 초급영어
- 영어공부
- AI학습
- 머신러닝
- 파이썬
- 딥러닝
- 초등수학
- Ai
- 회화
- 리딩
- 방정식
- 학습
- 선형회기
- 연습문제
- 영어초보
- 데일리영어
- Python
- Study
- 일차방정식
- 2차방정식
- 데일리잉글리쉬
- 수학초보
- 연립방정식
- 어휘
- 일일영어
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함
반응형