Jost Do It.

그냥 IT해.

반응형

Study 32

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

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

Study/알고리즘 2022.11.23

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 7 보조기억장치

Chapter 7. 보조기억장치 요약 보조기억장치의 종류와 보조기억장치를 구성하는 방법인 RAID 기술을 알 수 있었다. 내용 정리 대표적인 보조 기억 장치 하드 디스크 플래시 메모리 07-1. 다양한 보조기억장치 하드 디스크 하드 디스크 (HDD, Hard Disk Driver) 자기적인 방식으로 데이터를 저장하는 보조기억장치 자기 디스크(magnetic disk)의 일종으로 볼 수 있음. 하드 디스크 특징 동그란 원판에 데이터를 저장하고, 원판을 회전시켜 뾰족한 리더기를 통해 데이터를 읽는다. CD나 LP와 비슷하게 동작한다. 하드 디스크 구조 플래터(platter): 하드 디스크에서 데이터가 실질적으로 저장되는 곳. 원판 형태이다. 자기 물질로 덮여 있으며, 내부에 수많은 N극과 S극이 존재한다. ..

프로그래머가 알아야 할 알고리즘 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

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 6 메모리와 캐시 메모리

Chapter 6. 메모리와 캐시 메모리 요약 RAM의 종류에 따른 특징을 알 수 있었고, CPU가 메모리의 프로그램을 어떻게 읽어들이는지 이해할 수 있었다. 내용 정리 06-1. RAM의 특징과 종류 RAM과 보조기억장치 RAM은 휘발성 저장 장치이다. 휘발성 저장 장치(volatile memory): 전원을 끄면 저장된 내용이 사라지는 저장 장치 하드디스크나 SSD 등 보조기억장치는 비휘발성 저장 장치이다. 비휘발성 저장 장치(non-volatile memory): 전원이 꺼져도 저장된 내용이 유지되는 저장 장치 한편 CPU는 보조기억장치에 직접 접근하지 못한다. 따라서 보조기억장치에는 "보관할 대상"을 저장하고, RAM에는 "실행할 대상"을 저장한다. RAM의 용량 RAM 용량이 작으면 보조기억장치..

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 5 CPU 성능 향상 기법

Chapter 5. CPU 성능 향상 기법 요약 CPU 성능 향상을 위해서 명령어를 병렬적으로 처리하는 파이프라이닝 기법에 대해 알 수 있었다. CPU 명령어 집합의 종류와 특징에 대해 알 수 있었고, 병렬화에 효율적인 명령어와 그렇지 못한 명령어의 차이에 대해 알 수 있었다. 내용 정리 05-1. 빠른 CPU를 위한 설계 기법 클럭 컴퓨터 부품들은 "클럭 신호" 주기에 맞춰서 명령어들이 실행되며 동작한다. 클럭 속도가 높을수록 CPU의 명령어 사이클은 더 빠르게 반복된다. 따라서 클럭 속도가 높은 CPU가 성능이 일반적으로 좋으며, CPU의 속도 단위로 간주된다. 클럭 속도 헤르츠(Hz) 단위로 측정되며 1초에 클럭이 몇번 반복되는지를 나타냄 1Hz는 1초에 클럭이 1번 반복된 것을 의미함 클럭속도는 ..

[온라인 강의] 스탠포드 대학 딥러닝 강의 목록

최근 딥러닝을 다시 공부해야 될 필요성을 많이 느낀다. 우선 책으로만 공부하다 보니 머리 속에 정리가 잘 안됐다. 그리고 최신 트렌드나 실제 적용을 해보질 못하니 탁상공론을 하는 느낌이 계속 들었다. 그래서 딥러닝 강의들을 찾던 중 스탠포드 대학에서 온라인에 무료로 공개한 딥러닝 강의가 많이 있다는 것을 알게 되었다. 아래는 주제별 강의 목록이다. 스탠포드 대학 딥러닝 강의 목록 Deep Learning http://web.stanford.edu/class/cs230/ [ Natural Language Processing ] CS 124: From Languages to Information (LINGUIST 180, LINGUIST 280) http://web.stanford.edu/class/cs12..

Study/딥러닝 2022.11.04

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 CPU의 작동 원리

Chapter 4. CPU의 작동 원리 요약 CPU 내부에서 명령어가 어떻게 처리되는지 자세히 알 수 있었다. 내용 정리 04-1. ALU와 제어장치 배경 지식 CPU: 저장된 명령어를 읽고, 해석하고, 실행하는 장치 CPU 내부는 아래 장치들로 구성된다. ALU: CPU내에서 계산을 담당 제어장치: 명령어를 읽고 해석하는 장치 레지스터: CPU 내에 있는 작은 임시 저장 장치 ALU ALU: 계산을 수행하는 장치 레지스터에 저장된 피연산자를 받아들임 제어장치에서 수행할 연산을 알려주는 제어 신호를 받아들임 피연산자와 제어 신호를 통해 산술 연산, 논리 연산 등 다양한 연산을 수행함 연산을 위해 여러 회로들이 존재하며, 가산기, 보수기, 시프터, 오버플로우 검출기 등이 존재함 ALU 회로 가산기: 덧셈을..

프로그래머가 알아야 할 알고리즘 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

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 3 명령어

Chapter 3. 명령어 요약 고급언어와 저급언어의 차이를 정리하고, 저급언어인 명령어가 어떻게 구성되는지 알 수 있었다. 내용 정리 03-1. 소스코드와 명령어 (1) 고급언어와 저급언어 프로그래밍 언어로 만든 소스 코드들이 실행되려면 컴퓨터 내부에서 이해할 수 있는 명령어로 변환이 되야 한다. 고급 언어(high-level programming language): 프로그래밍 언어와 같이 사람이 이해하기 쉽게 만들어진 언어 ex> C, C++, Java, Python 등 고급언어의 필요성 사람이 읽고 쓰기 편하다. 가독성이 좋다. 변수나 함수 등 문법을 이용해 복잡한 프로그램을 구현할 수 있다. 저급 언어(low-level programming language): 컴퓨터가 이해할 수 있는 언어로 명령..

반응형