일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 머신러닝
- 분류
- Classification
- Machine Learning
- 지도학습
- supervised learning
- LG Aimers 4th
- OpenAI
- AI
- LG Aimers
- GPT-4
- 딥러닝
- 회귀
- 해커톤
- LG
- deep learning
- 오블완
- gpt
- ChatGPT
- regression
- 티스토리챌린지
- LLM
- PCA
- Today
- Total
목록분류 전체보기 (336)
SYDev
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/EFai4/btssf3Q1bzA/qcOLsZkYFk2lKlJRa36mw0/img.png)
비지도 학습과 군집 알고리즘을 이해하고, 이를 이용하여 과일 사진 분류 알고리즘을 구현해보자. 비지도 학습 비지도 학습(unsupervised learning): 데이터가 어떻게 구성되어있는지 파악할 때 사용하는 기계 학습 문제이다. 지도 학습과 달리 label이 주어지지 않는다. 비지도 학습을 이용한 사진 분류 알고리즘 구현 !wget https://bit.ly/fruits_300_data -O fruits_300.npy #리눅스 명령어로 데이터 저장 import numpy as np import matplotlib.pyplot as plt fruits = np.load('fruits_300.npy') print(fruits.shape) print(fruits[0, 0, :]) (300, 100, 10..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ckYDrB/btssfw5p9Aa/kcS8hsCFtdDaZXHBgKp5eK/img.png)
4주차 세션 발제 내용중에 이해가 안 됐거나, 따로 정리하고 싶었던 내용들을 정리해봤다. Histogram-based Gradient Boosting 사실 세션 전까지 히스토그램 기반 그래디언트 부스팅이 뭔지 잘 이해가 안 됐었다. 지금도 이해가 된 것은 아니지만 나름 이해한 내용을 바탕으로 대충 정리해봤다. 1. 입력 데이터(연속적인 수치 데이터)를 작은 구간(bin)으로 256개 분할하여 범주화한다. 2. 결정 트리를 구축하면서 노드 분할을 수행할 때, 히스토그램 정보를 사용한다. 3. 경사 하강법을 적용할 때, 히스토그램 정보를 활용해 오차를 최소화한다. + 256개의 bin 중 하나의 bin은누락된 값을 위해 사용한다. -> 이게 무슨 뜻? -> 255개와 개별적으로 결측치를 가지는 빈 구간을 만..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bltvpL/btsrYxDSHTe/ZN2kgJcTe3Kea7iKYVkobK/img.png)
계층적 관계(Hierarchical Relationship)를 표현하는 자료구조인 트리(Tree)를 이해하고, 트리를 대표하는 이진트리를 이용해 수식 트리를 구현해보자. 트리 트리(Tree): 트리는 계층적 관계(Hierarchical Relationship)를 표현하는 자료구조이다. 노드(node): 트리의 구성요소에 해당하는 A, B, C, D, E, F와 같은 요소 간선(edge): 노드와 노드를 연결하는 연결선 루트 노드(root node): 트리 구조에서 최상위에 존재하는 A와 같은 노드 단말 노드(terminal node): 아래로 또 다른 노드가 연결되어 있지 않은 E, F, C, D와 같은 노드 내부 노드(internal node): 단말 노드를 제외한 모든 노드로 A, B와 같은 노드 레..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/wKqJg/btsrRRWV7QO/vrZWJwi9QT3shVaVSKTeBK/img.png)
앙상블 학습이 무엇인지 이해하고, 다양한 앙상블 학습 알고리즘을 실습을 통해 알아보자. 정형 데이터와 비정형 데이터 정형 데이터(structured data): 구조화된 데이터로, 미리 정해진 구조에 따라 저장된 데이터이다. 엑셀의 스프레드 시트, csv나 데이터베이스의 테이블이 이에 속한다. 반정형 데이터(semi-structured data): 구조에 따라 저장된 데이터지만, 정형 데이터와 달리 구조에 대한 설명이 내부에 존재한다. 보통 파일 형태로 저장되고, HTML, XML, JSON 문서나 웹 로그, 센서 데이터 등이 이에 속한다. 비정형 데이터(unstructured data): 정해진 구조가 없이 저장된 데이터이다. 책의 글과 같은 텍스트 데이터, 디지털 카메라로 찍은 사진, 디지털 음악 등..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/xfxdk/btsrH6sZmya/QJA8RptxrhMEaCtwtVrKXk/img.png)
검증 세트의 필요성을 이해하여 교차 검증 방법을 학습하고, 그리드 서치와 랜덤 서치를 이용해 최적의 하이퍼파라미터를 찾아보자. 검증 세트 테스트 세트로 일반화 성능을 올바르게 예측하려면 가능한 테스트 세트를 사용하지 말고, 모델을 만들고 마지막에 한 번 사용하는 것이 좋다. 테스트 세트를 사용하지 않고, 훈련 세트를 또 나누어 임시로 사용하는 데이터셋을 검증 세트(validation set)라 부른다. 이렇게 나눈 검증 세트를 이용하여 파라미터를 바꿔가며 최적의 파라미터를 찾은 후, 훈련 세트와 검증 세트를 합쳐 해당 파라미터로 모델을 학습한다. 마지막으로 테스트 세트에서 최종 점수를 평가한다. #와인 데이터셋 넘파이 배열로 변환 import pandas as pd wine = pd.read_csv('h..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/uBtr6/btsrH85j9l4/D0YiCdH8h6uQTUOSVaKCFK/img.png)
결정 트리 알고리즘을 이해하고, 이를 이용해 분류 문제를 해결해보자. 결정 트리 결정 트리(Decision Tree): 분류와 회귀 모두 가능한 지도 학습 모델 중 하나로, 예/아니오 질문을 이어나가며 학습한다. 모델을 설명하기가 쉽다. 각각의 칸을 node라고 부른다. 첫 번째 질문이 존재하는 node는 Root node, 마지막 node는 Terminal node 혹은 Leaf node라 부른다. 결정 트리 알고리즘 작동 과정 깊이가 깊을 수록 정확도는 높아지지만, 지나치면 오버피팅이 될 수 있다. 불순도, 지니 인덱스, 엔트로피, 정보 이득, 불순도 불순도(Impurity): 해당 범주 안에 불순물이 섞여있는 정도 사이킷런이 제공하는 불순도에는 지니 불순도와 엔트로피 불순도가 존재한다. 지니 불순도..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bULigB/btsrCwSAYut/0exhHWjqQmSYSpTKqSKad1/img.png)
3주차 세션 발표 내용 정리 3주차 세션에서 1조가 발표했던 내용중에 이해가 안 됐거나, 따로 정리하고 싶었던 내용들을 정리해봤다. 퍼셉트론 퍼셉트론: 이진 분류 모델을 학습하기 위한 지도학습 기반의 알고리즘이다. 뇌의 신경 세포 뉴런의 동작 과정과 유사한 형태를 가진다. 뉴런은 수상돌기와 인접한 다수의 뉴런 내 축삭돌기와 시냅스를 통해 신호를 입력받아 신경세포체에 저장하는데, 해당 뉴런이 저장한 신호의 크기가 특정 값 이상이 될 때만 신호가 축삭돌기를 통해 외부로 전달된다. 퍼셉트론은 뉴런이 신호를 입력받듯이 다수의 값 $x$를 입력받고 입력된 값마다 가중치$w$를 곱한다. 여기서 가중치가 클수록 입력값이 중요하다는 것을 의미한다. 입력값 1에 그 값을 곱한 변수인 편향 $b$도 입력된다. 입력값과 가..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ws4Gr/btsrdjtpEGU/IFDKXqtvFqS6Cdetnz3Knk/img.png)
FIFO구조를 가지는 자료구조인 queue에 대해 이해하고, 추가적으로 queue와 비슷한 deque을 구현해보자. 큐 큐은 가장 처음에 들어간 데이터가 가장 먼저 나오는 선입선출, FIFO(First-In, First-Out)의 자료구조를 가진다. 큐 자료구조의 ADT void QueueInit(Queue * pq); - 큐의 초기화를 진행한다. - 큐 생성 후 제일 먼저 호출되어야 하는 함수이다. int QIsEmpty(Queue * pq); - 큐가 빈 경우 TRUE(1)를, 그렇지 않은 경우 FALSE(0)을 반환한다. void Enqueue(Queue * pq, Data data) - 큐에 데이터를 저장한다. 매개변수 data로 전달된 값을 저장한다. Data Dequeue(Queue * pq)..