ML&DL&AI
-
자기지도 학습과 강화 학습ML&DL&AI/인공지능 2024. 6. 21. 14:46
자기지도 학습(self-supervised learning) 자기충분한 양의 레이블이 있는 데이터를 얻기 어려울 때, 레이블이 없는 데이터로부터 학습하는 방법데이터를 전처리하거나 일부 변형한 후, 원래 데이터로부터 일부 정보를 추출하여 학습에 필요한 레이블을 생성자기지도 학습은 주로 사전 학습(pre-training) 단계에서 사용되며,이 후에 소량의 레이블된 데이터로 모델을 미세 조정(fine-tuning)합니다.Pretext Task원래 데이터에서 레이블을 자동으로 생성하여 모델을 학습시키기 위한 임시 작업입니다.Contranstive Learning데이터의 변형된 버전들 간의 유사성을 최대화하고, 다른 데이터들과의 차이를 최대화하여 학습합니다.대표적인 방법으로는 SimCLR과 MoCo가 있습니다. ..
-
지도학습과 비지도 학습ML&DL&AI/인공지능 2024. 6. 21. 13:40
지도학습정답(뭐가 출력해야 할지)을 알고 있는 학습입력 데이터와 그에 대응하는 출력 데이터(목표값)가 쌍을 이루고 있어, 모델이 입력값으로부터 정확한 출력을 예측할 수 있도록 학습지도학습의 대표적인 예로는 회귀와 분류회귀(regression)회귀 분석은 연속적인 값을 예측하는 작업입력 변수와 출력 변수 사이의 관계를 학습하여 새로운 데이터에 대해 연속적인 값을 예측대표적으로 선형 회귀, 다항 회귀, 서포트 벡터 회귀, 결정 트리 회귀, 랜덤 포레스트 회귀 등사용 예시) 집값 예측, 주식 가격 예측 등분류(classification)분류는 데이터를 미리 정의된 범주(클래스) 중 하나로 분류하는 작업학습 데이터에서 입력 변수와 클래스 레이블의 관계를 학습하여 새로운 데이터에 대해 그 클래스 레이블을 예측대표..
-
인공지능, CNN, RNN, GANML&DL&AI/인공지능 2024. 6. 20. 17:14
인공지능AI(Artificial intelligence) 인간의 지능(지적 능력)을 인공적으로 만든 것인간의 사고 방식을 흉내 내는 것 (딥러닝)인공지능 vs 머신러닝 vs 딥러닝- AI- ML : data 기반으로 학습- DL : DNN(Deep neural network )기반으로 학습 머신 러닝데이터 기반으로 학습 딥러닝 깊은 인공 신경망으로 학습 CNN (Convolutional Neural Network)CNN은 주로 이미지 데이터를 처리하는 데 사용되는 딥러닝 모델입니다.이미지를 입력받아 특정 클래스를 예측하는 모델입니다.CNN은 일반적으로 여러 개의 층으로 구성됩니다.이 층들은 컨볼루션 레이어, 풀링 레이어, 그리고 완전 연결(fully connected) 레이어를 포함합니다.입력: RGB..
-
그래프(Graph)ML&DL&AI/자료구조 2024. 6. 18. 16:13
그래프(graph)사물을 정점(vertex)과 간선(edge)으로 나타내는 위한 도구 - 인접 행렬(adjacency matrix) : 2차원 배열을 사용하는 방식- 인접 리스트(adjacency list) : 연결 리스트를 이용하는 방식 인접 행렬(adjacency matrix)그래프를 2차원 배열로 표현03730무한7무한0 인접 행렬 - 무방향 무가중치 그래프모든 간선이 방향성을 가지지 않는 그래프를 무방향 그래프라고 한다.모든 간선에 가중치가 없는 그래프를 무가중치 그래프라고 한다.무방향 비가중치 그래프가 주어졌을 때 연결되어 있는 상황을 인접 행렬로 출력할 수 있다.0110101011010010 인접 행렬 - 방향 가중치 그래프모든 간선이 방향을 가지는 그래프를 방향 그래프라고 한다.모든 ..
-
우선순위 큐ML&DL&AI/자료구조 2024. 6. 18. 15:27
우선순위 큐(Priority Queue)우선순위 큐는 우선순위에 따라서 데이터를 추출하는 자료구조컴퓨터 운영체체, 온라인 게임 매칭 등에 활용 된다.우선순위 큐는 일반적으로 힙(heap)을 이용해 구현지료구조추출되는 데이터스택(stack)가장 나중에 삽입된 데이터큐(queue)가장 먼저 삽입된 데이터우선순위 큐(priority queue)가장 우선순위가 높은 데이터 데이터의 개수가 N개 일때, 구현 방식에 따라 시간 복잡도우선순위 큐 구현 방식삽입시간삭제시간리스트 자료형O(1)O(1)힙(Heap)O(logN)O(logN) 일반적인 형태의 큐는 선형적 구조가지며, 우선순위 큐는 이진트리의 구조를 사용하는 것이 일반적이다. 힙(Heap)원소들 중에서 최댓값 혹은 최솟값을 빠르게 찾아내는 자료구조완전 이진트..
-
이진 탐색 트리ML&DL&AI/자료구조 2024. 6. 17. 15:41
트리(Tree)가계도와 같이 계층적인 구조를 표현할 때 사용 할 수 있는 자료구조 루트 노드(root node) : 부모가 없는 최상위 노드단말 노드(leaf node) : 자식이 없는 노드 트리 용어 정리트리 부모와 자식 관계 성립형제 관계 : 트리의 같은 레벨선상에 있는 노드들이 서로 형제 깊이(depth) : 루트 노드에서의 길이(length)길이(length) : 출발 노드에서 목적지 노드까지 거쳐야 하는 간선의 수높이(height) : 루트 노드에서 가장 깊은 노드 까지의 길이를 의미 이진 트리(Binary Tree)최대 2개의 자식을 가질 수 있는 트리 이진 탐색 트리(Binary Search Tree)다수의 데이터를 관리(조회, 저장, 삭제)하기 위한 가장 기본적인 자료구조왼쪽 자식 노드 ..
-
덱(Deque)ML&DL&AI/자료구조 2024. 6. 17. 13:55
덱(Deque)스택과 큐의 기능을 모두 가지고 있다.포인터 변수가 더 많이 필요하기 때문에, 메모리는 상대적으로 더 많이 필요하다.Python에서 큐(queue)의 기능이 필요할 때, 간단히 덱(deque)을 사용한다.데이터 삭제와 삽입 모두에서 0(1)의 시간 복잡도가 소요된다. 덱의 동작 예시좌측 삽입4 좌측 삽입3 좌측 삽입2 좌측 삽임1우측 삽입5 우측 삽입6 우측 삽입7 우측 삽입8우측 삭제 좌측 삭제 우측 삭제 좌측 삭제최종 : 3 4 5 6 덱의 시간 복잡도 연산수행 시간설명1좌측 삽입(Append Left)O(1)덱의 가장 왼쪽에 새 데이터 삽입2좌측 삭제(Pop Left)O(1)덱의 가장 왼쪽에서 데이터 추출3우측 삽입(Append Right)O(1)덱의 가장 오른쪽에 새 데이터 삽입4우..
-
큐(queue)ML&DL&AI/자료구조 2024. 6. 17. 13:30
큐(queue)먼저 삽입된 데이터가 먼저 추출되는 자료 구조ex) 게임에서 대기 큐에서 먼저 대기한 유저가 먼저 매칭이 됩니다. 큐의 동작 원리삽입3 삽입5삭제(3번 삭제)삽입7삭제(5번 삭제)삽입8삭제(7번 삭제)삽입2 삽입9최종(8 2 9) 연결 리스트로 큐 구현큐를 연결 리스트로 구현하면, 삽입과 삭제가 있어서 O(1)를 보장할 수 있다.연결 리스트로 구현할 때는 머리(head)와 꼬리(tail) 두 개의 포인터를 가진다. 머리(head) 남아 있는 원소 중 가장 먼저 들어 온 데이터를 가리키는 포인터꼬리(tail) 남아 있는 원소 중 가장 마지막에 들어 온 데이터를 가리키는 포인터 연결 리스트 삽입 연산삽입할 떄는 꼬리(tail) 위치에 더이터를 넣는다. 연결리스트 삭제 연산삭제할 때는 머리(h..