Jost Do It.

그냥 IT해.

반응형

프로그래머가 알아야 할 알고리즘 40 6

프로그래머가 알아야 할 알고리즘 40 Chapter 6 비지도 학습 알고리즘

Chapter 06. 비지도 학습 알고리즘 요약 비지도 학습의 여러 알고리즘들을 학습하고 어떻게 활용되는지 알 수 있었다. 내용 정리 6-1. 비지도 학습 이해하기 비지도 학습 (Unsupervised learning) 데이터에 내재된 패턴을 발견하고 이를 구조화하는 프로세스 데이터가 무작위로 생성된 것이 아닌 이상, 다차원의 공간에서 데이터 요소 간에는 어떤 패턴이 존재한다. 비지도 학습은 숨겨진 패턴을 찾아내 데이터셋에 구조를 부여하는 과정이다. 지도 학습과 비지도 학습을 결합해 새로운 알고리즘을 개발하려는 연구자들이 늘고 있다 (semi-supervised learning). 비지도 학습의 장점 정답이 주어져 있지 않기 때문에 분석이 훨씬 유연해 가정(assumption)에 덜 의존적임 어떤 차원의..

Study/알고리즘 2022.11.23

프로그래머가 알아야 할 알고리즘 40 Chapter 5 그래프 알고리즘

5장. 그래프 알고리즘 요약 그래프의 종류들과 그래프를 사용한 알고리즘 방법론들을 알 수 있었다. 내용 정리 그래프 알고리즘(graph algorithm) 복잡하고 상호연결성이 높은 자료 구조에서 원하는 정보를 가장 빠르게 찾을 수 있는 방법 전통적으로 검색 분야에서 크게 쓰이고 있음 최근 빅데이터, 소셜미디어, 분산형 데이터 분석에도 사용되고 있음 5.1 그래프 표현 이해하기 그래프(Graph) 버텍스(vertex)와 엣지(edge)로 구성된 자료 구조 버텍스(vertex): 네트워크를 구성하는 개체로 하나의 노드로 볼 수 있다. 모든 버텍스는 버텍스 집합에 속한다 (v ∈ V). 엣지(edge): 두 버텍스가 관계가 있을 때, 이를 이어서 엣지로 표현함 모든 엣지는 엣지 집합에 속한다 (e ∈ E)...

Study/알고리즘 2022.11.16

프로그래머가 알아야 할 알고리즘 40 Chapter 4 알고리즘 설계

4장. 알고리즘 설계 요약 알고리즘을 설계할 때 중요한 포인트들과 여러 알고리즘 종류들을 알 수 있었다. 내용 정리 4.1 알고리즘 설계의 기본 개념 살펴보기 알고리즘 설계 "특정 목표"를 가장 효율적으로 달성할 수 있는 "명료한 요구사항으로 구성된 유한한 집합"을 고안하는 것 문제 이해: 풀려는 문제를 명확히 이해해야 한다. 요구 사항: 무엇을 완료해야 하는지를 파악해야 한다. 알고리즘 설계: 어떻게 완료할 것인지 고민해야 한다. 문제 이해 단계 문제의 기능적 요구 사항과 비기능적 요구 사항을 모두 파악해야 한다. 기능적 요구사항: 문제의 입출력 인터페이스, 이와 관련된 함수를 의미함. 기능적 요구사항을 통해 기대하는 결과를 얻기 위해 구현해야 할 데이터 처리, 가공 및 연산과정을 이해 비기능적 요구사..

Study/알고리즘 2022.11.14

프로그래머가 알아야 할 알고리즘 40 Chapter 3 알고리즘에 사용되는 자료구조

3장. 알고리즘에 사용되는 자료구조 요약 정렬과 검색에 사용되는 기본 알고리즘들을 학습할 수 있었다. 내용 정리 3.1 정렬 알고리즘 이해하기 버블 정렬 버블 정렬(bubble sort): 리스트 안에서 가장 큰 값을 반복적으로 옮기는 알고리즘 장점: 가장 간편하다 단점: 속도가 매우 느린 알고리즘 최선의 경우 시간 복잡도: O(n^2) 최악의 경우 시간 복잡도: O(n^2) 버블 정렬의 작동 원리 패스(pass)라는 과정을 반복한다. 패스(pass): 리스트의 큰 값을 오른쪽으로 보내는 행위 패스로 붙어있는 이웃끼리의 값을 비교한 후 오른쪽으로 보내게 된다. k번째 패스마다 리스트의 N-k+1번째 값(k번째로 큰 값)이 결정된다. k번째 패스에서 리스트 내 패스 대상은 0번째 ~ N-k+1번째 까지의 ..

Study/알고리즘 2022.10.31

프로그래머가 알아야 할 알고리즘 40 Chapter 2 알고리즘에 사용되는 자료구조

2장. 알고리즘에 사용되는 자료구조 요약 파이썬에 내장된 자료구조들의 특징과 이를 이용해 구현할 수 있는 추상화 자료형들에 대해 학습할 수 있었다. 내용 정리 2.1 파이썬 자료 구조 파악하기 알고리즘을 실행할 때는 데이터를 보관할 인메모리 자료구조가 필요함 => 적절한 자료구조를 선택하는 것은 효율적인 알고리즘 구현의 필수요소이다. 자료구조(Data structure): 컬렉션을 저장하는 방법론들을 통칭함 컬렉션(collection): 특정 목적을 위해 함께 저장되고 처리되는 데이터 요소들의 묶음 파이썬의 자료구조 종류 리스트(list): 데이터 요소간 순서가 있고, 수정이 가능한 자료구조 튜플(tuple): 데이터 요소간 순서는 있으나 수정이 불가한 자료구조 세트(set): 데이터 요소간 순서가 없고..

Study/알고리즘 2022.10.23

프로그래머가 알아야 할 알고리즘 40 Chapter 1 알고리즘 기초

1장. 알고리즘 기초 요약 책에서 앞으로 공부할 각 단원의 내용마다 왜 공부해야하는지, 어떤 내용이 있는지 핵심요소들을 거시적으로 정리하는 장이었다. 내용 정리 1.1 알고리즘 정의하기 알고리즘(Algorithm): 문제를 풀기 위해 특정한 연산을 수행하는 규칙 정해진 포맷의 입력 데이터를 정의된 연산 규칙에 따라 처리해서 결과를 출력한다. 알고리즘을 설계하는 것은 가장 효율적인 방법으로 현실의 문제를 해결하는 과정이다. 기본적인 알고리즘들의 조합은 더 큰 범위의 문제를 해결하는데 적용될 수 있다. 알고리즘의 개발, 배포, 사용 단계 문제 정의 알고리즘 설계 알고리즘 구현 알고리즘 검증 배포 및 사용 개발 단계: 설계 단계 + 구현 단계 개발 단계에서 설계와 구현 과정을 반복하면서 효율적인 알고리즘을 찾..

Study/알고리즘 2022.10.21
반응형