분류 전체보기 40

컴퓨터 시스템의 구조

*본 강의는 KOCW에서 이화여대 반효경 교수님의 2014년도 1학기 공개 강의를 공부하며 요약 및 정리한 내용입니다. 컴퓨터 시스템의 구조 컴퓨터라고 하는 시스템은 CPU와 메모리로 구성된 협의의 컴퓨터 부분과 모니터, 키보드, 마우스, 프린터 그리고 하드 디스크와 같은 입출력 장치(I/O device)들로 구성되어 있다. CPU CPU는 오직 메모리와 작업하며 입출력 장치들과는 인터럽트(Interrupt)를 통해 커뮤니케이션 한다. CPU는 매우 빠른 자원이기 때문에 입출력 장치들을 직접 관리할 경우 비효율적인 동작을 하게 된다. 따라서 각각의 입출력 장치들은 해당 장치를 제어하는 디바이스 컨트롤러(device controller)와 로컬 버퍼(local buffer)를 가지고 있고, 디바이스 컨트롤..

파이토치 @ 연산

파이토치에는 @ 연산이 있다. 가령 아래와 같이 사용될 수 있다. t = torch.tensor([[1, 2], [3, 4]]) result = t @ t.T 이는 행렬의 곱을 의미한다. 즉, 아래의 두 연산의 결과는 동일하다. # 1. @ 연산 print(t @ t.T) # 2. 텐서의 matmul 메소드 print(t.matmul(t.T)) # 출력 """ tensor([[ 5, 11], [11, 25]]) """ 추가로 행렬의 원소별 곱 연산은 다음과 같다. print(t * t) print(t.mul(t)) # 출력 """ tensor([[ 1, 4], [ 9, 16]]) """

STUDY LOG/AI\ML 2022.07.04

운영 체제란?

*본 강의는 KOCW에서 이화여대 반효경 교수님의 2014년도 1학기 공개 강의를 공부하며 요약 및 정리한 내용입니다. 운영 체제란? 운영체제란 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층을 의미한다. 전문적이고 좁은 의미의 운영체제는 핵심부분인 커널(kernel)을 의미하나 넓은 의미로는 커널 뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념을 의미한다. 운영 체제의 목적 운영체제의 가장 중요한 목적은 컴퓨터 시스템의 자원을 효율적으로 관리하는 것이다. 또한, 컴퓨터 시스템을 보다 편리하게 사용할 수 있는 환경을 제공하는 목적도 가지고 있다. 운영 체제의 분류 동시 작업 가능 여부에 따라 분류하면 단일 작업(single tasking)과 다..

Pandas(6)

이름 바꾸기 및 결합하기Renaming and Combining 데이터는 여러 곳으로부터 모입니다. 이들을 사용할 수 있게 만들어 봅시다. 소개 대부분 데이터는 열 이름, 인덱스 이름 또는 만족스럽지 않은 형태의 다른 이름 규칙과 함께 여러분에게 도착할 것입니다. 이런 경우, 어떻게 pandas 함수가 맘에 안드는 이름들에서 그것보다 나은 것으로 바꾸는지 배워야할 것입니다. 또, 어떻게 여러가지 데이터프레임 또는(혹은 그리고) 시리즈로부터 데이터를 결합해내는지에 대해 배워볼 것입니다. (이 글은 캐글의 코스 중 pandas를 번역한 글입니다. 효과적인 학습을 위해 exercise를 함께 해보시면 좋습니다! 강의의 출처는 글 최하단의 링크를 참조하세요.) 이름 바꾸기Renaming import pandas..

STUDY LOG/Kaggle 2021.10.09

Pandas(5)

데이터 타입과 결측값Data Types and Missing values 가장 일반적인 진행 방해 요소를 다뤄봅시다. 소개 이번 시간에는 데이터프레임이나 시리즈 내부의 데이터 타입을 조사하는 방법을 배울 것이고 또한, 항목을 찾고 교체하는 방법도 배울 수 있을 것입니다. 이 코스는 exercise로 실습을 병행하시면 학습효과 더 좋습니다! (이 글은 캐글의 코스를 번역한 글입니다. 링크는 글 최하단에 있습니다.) Dtypes 데이터프레임이나 시리즈 안의 한 열에 대한 데이터 타입을 dtype이라고 합니다. import pandas as pd reviews = pd.read_csv('../input/wine-reviews/winemag-data-130k-v2.csv', index_col=0) pd.set_..

STUDY LOG/Kaggle 2021.10.09

Intro to Deep Learning(6)

이진 분류Binary Classification 딥러닝을 다른 보편적인 작업에 적용해봅시다. 소개 이 수업에서 지금까지 신경망이 어떻게 회귀regression 문제를 풀 수 있는지를 배웠습니다. 이제는 신경망을 또 다른 보편적인 기계학습 문제에 적용해볼 것입니다. 바로, 분류classification죠. 지금까지 배운 거의 모든 것들은 여전히 적용됩니다. 가장 큰 차이점은 사용하는 손실 함수와 마지막 레이어에서 만들어내길 원하는 출력값의 종류입니다. 이진 분류 두 가지 클래스 중에서 한가지로 분류하는 것은 보편적인 기계학습 문제입니다. 여러분은 아마 소비자가 구매를 할지, 신용카드의 거래가 사기인지, 깊은 우주의 신호가 새로운 행성의 증거를 보여주는지, 의료 검사가 질병의 증거인지 예측하고 싶을 것입니다..

STUDY LOG/Kaggle 2021.10.07

Intro to Deep Learning(5)

드롭아웃과 배치 정규화Dropout and Batch Normalization 과적합 방지와 안정적인 학습을 위해 이 특별한 레이어들을 추가해보세요! 소개 딥러닝의 세계에는 dense 레이어뿐만 아니라 더 많은 것들이 있습니다. 여러분이 모델에 추가하고 싶어할 여러가지 종류의 수십가지 레이어가 있습니다.(더 궁금하시다면 Keras docs를 참고해주세요.) 이 중 어떤 것들은 dense 레이어 같고 뉴런들 사이의 연결을 정의하며, 다른 어떤 것들은 다른 종류의 전처리나 변형을 할 수 있습니다. 이번 시간에는 두 가지 특별한 레이어를 살펴볼 것입니다. 이 두 가지는 어떤 뉴런과도 연결되지 않지만, 여러가지 방법을 통해 때때로 모델을 향상시킬 수 있는 몇가지 기능을 추가할 수 있습니다. 이 두 가지 모두 현..

STUDY LOG/Kaggle 2021.10.07

C++ 접근 지정자

접근 지정자 C++ 의 접근 지정자는 객체지향의 중요한 특징인 캡슐화를 지원하는 역할을 한다. 이 때, 캡슐화란 알약의 내용물이 캡슐로부터 보호받는 것처럼 객체를 외부로부터 보호하는 것을 의미하는데, 구체적으로는 외부로부터 객체의 중요한 데이터에 접근하는 것을 막아 데이터의 신뢰도를 높이고, 접근해도 괜찮은 데이터는 외부에서도 접근 가능하도록 설계하는 것을 뜻한다. 접근 지정자의 종류 접근 지정자의 종류로는 private, public, protected 세가지가 있는데 각각의 접근 권한은 다음과 같다. private : 동일한 클래스 멤버 함수만 접근 가능 public : 외부 함수도 접근 가능 protected : 자신과 자신을 상속받은 클래스만 접근 가능 마지막으로 코드 예시는 다음과 같다. cla..

STUDY LOG/C\C++ 2021.10.04