인사말

안녕하세요~!

오늘부터 팀이 바뀌어서 5조에서 10조로 가게 되었어요!

새로운 분들과 대화를 나누고, 팀 노션도 같이 짜고

공부 내용도 새롭게 하나 더 추가 되었어요!

새로운 규칙들과 새로운분들과 함께 하니 낯설지만

환경을 주기적으로 바꿔주는 것도 좋은 거 같아요!

잘해봅시당! >_<

오늘의 일정
오전 11:00 ~ 17:00 -> 머신러닝 강의 2개 듣기
오후 17:00 ~ 18:00 과제1 해설 Zoom 수업 듣기
저녁 19 : 30 ~ 21 : 30 캐글 설치 및 설정하기

요약

  1. 머신러닝이란?
    1. 전통적 프로그래밍 vs 머신러닝 
    2. 머신러닝 구성 요소들(데이터셋, feature, 레이블, 훈련, 테스트)
    3. 머신러닝의 학습
      1. 학습 과정
      2. 학습 방법
  2. 과적합이란?
    1. 과적합 방지
  3. 머신러닝 실습

 


오전 ~ 오후( 11 : 00 ~ 17 : 00)

Zoom 수업이 있기 전까진 새로 받은 머신러닝에 대해 공부하려 합니다!

아직 SQL, 파이썬, 파이썬 라이브러리에 대해 제대로 습득을 하지 못 했는데

또 새로운 걸 머리에 집어 넣으려 하니까

스트레스가 폭발을 하려 하네요 🤯

 

음,, 어떻게 해야 할까요 🤔

뭐 어쩌겠어요 일단 해야죠

안 하면 안 할수록 미룬 일만 많아지니까,,

할 일을 미룬다는 게 더 싫어요 저는,,

 

1. 머신러닝이란?

  1. 개념
    1. 컴퓨터가 명시적으로 프로그래밍 되지 않아도 데이터를 통해 학습하고, 예측할 수 있도록 하는 기능
    2. 대량의 데이터를 알고리즘에 입력하여 학습과정을 통해 모델을 생성하고 예측을 수행함

1.1 전통 프로그래밍 vs 머신러닝

전통적인 프로그래밍 머신러닝
규칙과 논리를 프로그래머가 직접 정의 데이터를 이용해 패턴과 규칙을 스스로 학습
명시적 명령과 조건문을 통해 문제 해결 예측 모델을 통해 새로운 데이터에 대한 결과 도출
  프로그램이 아닌 모델이 중심

 

1.2 머신러닝의 구성 요소

  1. 데이터셋
    1. 개념 : 모델을 학습시키기 위한 데이터 모음
    2. 구성
      • 입력 데이터 : 모델이 학습할 수 있느 정보
      • 출력 데이터 : 모델이 예측해야 하는 목표값
  2. 특징(Feature)
    1. 개념 : 데이터셋에서 모델이 학습할 수 있는 개별 속성
    2. 예시 : 주택가격 예측할 시, 주택의 크기, 위치 , 방의 개수 등이 feature에 해당됨.
  3. 레이블(Label) = 정답
    1. 개념 : 예측하고자 하는 목표 변수
    2. 특징
      • 지도학습 모델에서는 레이블이 있는 데이터셋을 이용하여 모델을 학습시킴
      • 어떤 주제냐에 따라 레이블(정답)이 달라짐
  4. 모델
    1. 개념
      • 데이터의 특징으로부터 레이블(정답)을 예측할 수 있는 지식을 학습할 수 있는 프로그램/함수
    2. 특징 
      • 입력 데이터와 출력 데이터 간의 관계를 학습하여 새로운 데이터에 대한 예측 수행
  5. 학습
    1. 개념
      • 모델이 데이터를 통해서 패턴을 인식하고 이를 기반으로 예측을 수행할 수 있도록 함수 내의 가중치를 조정하는 과정
    2. test : 학습이 끝난 후 새로운 data, 실제 data로 모델의 성능을 검사함

 

1.3 머신러닝의 학습

<학습 과정>

 

  1. 데이터 수집 : 모델을 학습시키기 위한 필요 데이터 수집 단계
    • 예) 과일 가게에 가서 과일 사진 찍어오기
  2. 데이터 전처리 : 결측값 처리, 이상치 제거, 정규화 등등의 작업 단계
    • 예) 사과랑 오렌지만 비교할 건데, 바나나 사진이 있는 경우 이를 삭제
  3. Feature 선택 : 중요 feature을 선택하고 불필요한 피쳐를 제거하여 학습 효율을 높이는 단계
    • 예) 과일 모양, 가격, 무게, 구매한 갯수 중 불필요한 "구매한 갯수"는 제거
  4. 모델 선택 : 문제에 적합한 머신러닝 알고리즘을 선택
    • 예) 사과와 오렌지의 비교에 가장 적절한 머신러닝(모델)을 선출
  5. 모델 훈련 : 트레이닝 데이터셋을 사용하여 모델을 학습시킴
    • 예) 사과는 빨간색이야, 오렌지는 주황색이야 / 사과가 오렌지보다 크기가 더 작아
  6. 모델 평가 : 테스트 데이터셋을 사용하여 모델 성능을 평가
    • 예) 사과와 오렌지를 한 공간에 잔뜩 놓고 비교하는지 확인하기
  7. 모델 배포 : 학습된 모델을 실제 환경에 배포하여 예측 수행

 

<학습 방법>

  1. 지도학습(Supervised Learning)
    1. 개념 : 레이블(정답)이 있는 데이터셋을 이용하여 모델을 학습시키는 방법
      1. 회귀(Regression) : 연속적인 값을 예측하는 문제
        1. 예) 주택 가격 예측, 주식 가격 예측
      2. 분류(Classification) : 이산적인 값을 예측하는 문제
        1. 예) 이메일 스팸 필터링, 이미지 분류
  2. 비지도 학습(Unsupervised Learning)
    1. 개념 : 레이블(정답)이 없는 데이터셋을 이용하여 모델을 학습시키는 방법
      1. 군집화(Clustering) : 데이터를 유사한 그룹으로 묶는 문제
        1. 예) 고객 세분화, 이미지 세그멘테이션
      2. 차원 축소(Dimensionaliy Reduction) : 고차원 데이터를 저차원으로 변환
        1. 예) PCA, t-SNE
  3. 앙상블 학습(Ensemble Learning)
    1. 개념 : 여러 개의 머신러닝 모델을 결합하여 더 나은 성능을 얻는 방법
      1. 배깅(Bagging) : 여러 모델을 독립적으로 학습시키고, 예측을 평균내거나 다수결 투표로 최종 예측
        1. 예) 랜덤 포레스트
      2. 부스팅(Boosting) : 여러 모델을 순차적으로 학습시키고, 이전 모델의 오차를 보완하여 최종 예측을 수행
        1. 예) 그래디언트 부스팅, XGboost
      3. 스태킹(Stacking)
        1. 개념 : 여러 모델을 학습시키고 예측 결과를 새로운 데이터로 사용하여 메타 모델을 학습

2. 과적합이란?

과적합(Overfitting)

  1. 개념
    1. 모델이 훈련 데이터에 지나치게 적응하여 새로운 데이터에 대한 일반화 기능이 떨어지는 현상
    2. 모델이 너무 복잡하여 훈련 데이터의 노이즈까지 학습해버리는 경우에 발생함

 

2.1 과적합 방지

  1. 더 많은 데이터를 수집
  2. 교차 검증(Cross-validation) 사용
  3. 정규화(Regularization) 기법 적용
  4. 간단한 모델 사용

🔥머신러닝에서는 "절대로 좋다"라는 개념은 없음! 상황에 따라, 주제에 따라, 성능에 따라 다 다름🔥


저녁 ( 20 : 00 ~ 21 : 00)

19시 30분부터 20시까지 팀별 회의를 마치고 실습을 진행해보았습니다

1주차 강의를 2번 돌려봤더니 생각보다 시간이 많이 걸리네요 😭

처음 접하는 개념이라서 한 바퀴는 그냥 들어보고

두 바퀴로는 강의 자료랑 함께 보고

세 바퀴로는 공책에 적어가며 했더니 시간이 생각보다 오래 걸려요

주말에도 공부 해야겠어요,,

파이썬 라이브러리도 제대로 이해 못 했거든요,,

 

3. 머신러닝 실습

2주차 강의에서는 데이터셋을 다운받는 내용이 나왔어요

그 중에서 kaggle을 다운받는 절차를 따라 해봅시당

공식 홈페이지에 들어가셔서

회원가입부터 해주세요,,

그래야 프로필이 쓰고 settings에 들어갈 수 있더라구요

프로필 눌러주시면

Settings가 있습니다

스크롤하셔서 내려주시면

API가 있어요

거기에서 Create New Token을 눌러주시면

파일이 하나 다운로드 되실 겁니다

이걸 또 눌러주시면

이렇게 key를 받으실 거예요! 파일 저장해주세요!

~/.kaggle/kaggle.json

 

이렇게 되면 명령어를 통해서 다운로드 받을 수 있게 된대요!

kaggle datasets download -d <dataset-identifier>

 

음,, 저는 프로그래머가 아니기 때문에

그냥 공식 홈페이지에서 다운받았습니다.

https://www.kaggle.com/c/titanic/data

 

Titanic | Novice

Kaggle profile for Titanic

www.kaggle.com

이제서야 진행할 수 있겠네요!

휴우 😤

 


마무리

오늘은 뭔가 한 게 없는 날인 거 같아요

근데 벌써 내일이 금요일이래요! 🫠

내일 다시 머신러닝 2주차부터 해서 실습 하려구요,,

ㅠㅠ

화이팅입니다 ㅠㅠ

 

감사합니다!

 

 

 

+ Recent posts