All

    [ML lec 02] Linear Regression

    [ML lec 02] Linear Regression

    이론 우리가 Supervised Learning을 할 때에, 학생이 몇시간 정도 공부를 했더니 얼마정도의 성적을 받았다는 데이터를 학습을 하게됩니다. 여기서 우리가 예측을 하고자하는 최종적인 목표가 0~100의 범위를 가지는 값입니다. 이런 종류의 학습을 Supervised Learning 중에서도 regression이라고 합니다. 설명을 간단히 하기 위해서, 데이터셋을 다음과 같이 간단하게 두어 보겠습니다. 이 데이터를 그래프로 그려보면 오른쪽 그래프와 같이 표현됩니다. 그래서 우리가 이 regression 모델을 학습한다는 것은 어떠한 하나의 가설을 세울 필요가 있습니다. "어떤 Linear한 모델이 우리 데이터에 맞을 것이다" 라는 가설 하에 생성된 모델이 바로 Linear regression입니다..

    [ML lec 01] 기본적인 머신러닝의 용어와 개념 설명

    오늘은 - 머신러닝이란 무엇인가?- 러닝은 무엇인가?- regresion이 무엇인가?- classification이 무엇인가? 에 대해서 알아보도록 하겠습니다. 머신러닝이라는 것은 일종의 소프트웨어입니다. 우리가 많이 사용하는 앱 같은 것을 보면, 입력을 기반으로 어떤 데이터를 보여주고 하는 프로그램인데, 이런 것들을 explicit program이라고 합니다. explicit program은 개발자들이 이런 환경에서 이렇게 반응하고 저런 환경에서 저렇게 반응하라고 만들어놓은 프로그램입니다. 이런 explicit program에서는 한계점이 있습니다. 예를 들어, 스팸 메일 필터같은 경우 엄청나게 많은 규칙들이 생겨날 수 있는 상황이 있죠. 이런 상황을 해결하기 위해, Arthur Samuel이라는 사람..

    Mass Storage Structure

    Mass Storage Structure

    * 왜 디스크가 필요한가?- 충분한 메모리를 가질 수 없다!가상 메모리의 스왑 공간으로서의 디스크 등 - 메모리는 휘발성이다! * Read/Write Operations to a Disk1. 섹터 주소가있는 디스크를 제시하십시오.• 디스크 주소 = (드라이브, 표면, 트랙, 섹터)2. 헤드가 목표 트랙으로 이동합니다.• 시간 찾기3. 적절한 헤드가 활성화됩니다.4. 대상 섹터가 헤드 아래에 나타날 때까지 기다립니다.• 회전 대기 시간 5. 섹터 읽기 / 쓰기• 전송 시간 * Disk(Head) 스케쥴링- 디스크 대기열에서 둘 이상의 요청 가능성운영 체제는 요청에 대한 총 헤드 이동을 최소화하여 디스크 I / O 성능을 최대화합니다. - 디스크 스케줄링 알고리즘1) FCFS (선착순) 스케줄링공평하나 비효..

    I/O Systems

    I/O Systems

    * I/O Hardware Detail- CPU side: I/O bus와 I/O address하드웨어 장치와 통신하기 위한 주소, 물리적 메모리 주소 공간에 매핑 가능 - Device side: hardware controllerControl 및 status registers (CSRs) - 하드웨어 디바이스와 상호 작용하는 세가지 방법폴링 (예 : 플로피 드라이버)인터럽트 구동 (예 : 대부분의 다른 장치)DMA (직접 메모리 액세스) * I/O Architecture- Three componentsI/O portsI/O interfacesDevice controller - I/O portsI / O 버스에 연결된 각 장치에는 "I / O 포트"라고하는 고유한 I / O 주소 집합이 있습니다.각 장치..

    Virtual Memory

    Virtual Memory

    가상 메모리 개념 : physical memory로부터 유저의 logical memory를 분리이점 :전체 주소 공간이 physical memory에 상주하지 않아도 프로그램 실행 가능모든 코드나 데이터 영역을 가져올 필요가 없음프로세스를 분리한다.프로세스가 파일과 주소공간을 공유한다. 가상 어드레스 프로세스는 virtual(logical) address를 사용한다.다수의 프로세스의 메모리 관리를 쉽게 하기 위해가상 주소는 참조된 데이터의 실제 물리 고간과 독립적임.cpu를 통해 실행되는 instruction은 가상 주소를 발행한다.가상 주소는 하드웨어에 의해 물리 주소로 번역된다.(OS의 도움에 의해) Demand Paging 개념 : “필요할 때만 해당 페이지를 메모리에 가져오자”페이지레벨 스와핑을 ..

    Memory Management

    Memory Management

    메모리 관리의 배경 멀티 프로그래밍 : 다수의 프로세스가 한번에 메모리에 접근함-> 한 프로세스가 사용가능한 주소를 제약해줘야함 (Protection)-> 메모리 하드웨어의 업데이트를 빠르게 해야함 (protection과 translation) 메모리 관리의 정의 OS와 하드웨어에서 다수의 프로세스가 메인 메모리에 수용되도록 실행하는 작업 메모리 관리의 목표 프로세스간의 분리를 제공하기 위해. 최소의 오버헤드로 성능을 최대화하기 위해서 경쟁하는 프로세스간의 부족한 메모리 자원을 할당하기 위해. 메모리 관리의 쟁점 다수의 프로세스 지원 - 각각의 프로세스는 논리적으로 연속된 공간을 가져야함.- 각각의 공간의 크기는 가변적임. 프로세스가 할당된 메모리보다 더 크게 사용할 수 있게 함. - 모든 메모리 공간이..

    File System(2)

    File System(2)

    • 할당 방법 3가지- Contiguous allocation각 파일은 디스크에서 일련의 연속 블록을 차지합니다.단순하게 : 시작 위치와 길이만 필요합니다.효율적인 임의 접근공간의 낭비(동적 스토리지 할당 문제)CD-ROM에 널리 사용됨. (파일이 변하지 않으며, 모든 파일 사이즈를 알고 있습니다.)문제점1) 파일이 커질 수 없습니다.2) 필요한 공간보다 더 크게 추정합니다. - Linked allocation각 파일은 디스크 블록의 링크 된 목록입니다. 블록이 디스크의 어느 곳에나 흩어져 있을 수 있습니다.단순하게 : 시작 지점만 필요합니다.자유 공간 관리 시스템(Free-space Management)으로 공간 낭비가 없습니다.문제점1) 무작위 접근에 비효율적입니다.2) 포인터를 위한 공간이 필요합니..

    File System(1)

    File System(1)

    •파일 시스템의 기본 개념- 장기적 정보 저장에 대한 요구엄청 많은 양의 정보를 저장할 수 있어야 한다.프로세스가 그것을 사용하고 종료하더라도 남아있어야한다.다수의 프로세스가 동시에 접근할 수 있어야 한다. - 파일 시스템의 책임보조 저장소에 대한 추상화 구현(파일)파일을 논리적으로 조직화(디렉토리)프로세스, 사람, 기계 간의 정보 공유 허가비인가 접근에 대한 데이터 보호(보안) •파일- 파일이란?보조 저장소에 기록된 관련 정보의 명명된 집합체파워 결함이나 시스템 리부팅에도 유지됨OS는 파일을 통한 정보 저장의 일관된 논리적 뷰를 제공 - 파일 구조Flat: 연속된 바이트간단한 기록 구조 : lines, fixed length, variable length복합한 구조 : formatted document..

    리액트 #08 - Forms

    리액트 #08 - Forms

    이번에는 리액트에서 Form을 어떻게 다루는 지에 대해서 알아봅시다. 리액트는 데이터의 흐름이 단방향입니다. 따라서 여러 폼에 변화하는 같은 값을 적용하려면, 따로 처리를 해주어야 합니다. 아래와 같이 초기 value 값을 state.data로 적용해주고, 이 후에 onChange로 변하는 값을 state로 갱신합니다. App.js import React from 'react'; class App extends React.Component { constructor(props) { super(props); this.state = { data: 'Initial data...' } this.updateState = this.updateState.bind(this); }; updateState(e) { this..

    리액트 #07 - Component Life Cycle

    리액트 #07 - Component Life Cycle

    ReactJS에는 컴포넌트들에 대한 라이프 사이클 메서드들이 존재합니다. 이번 포스트에서는 이 라이프 사이클 메서드들에 대해서 알아봅시다. Life Cycle Methods- componentWillMount 서버와 클라이언트 모두에게 렌더링하기 전에 작동됩니다. - componentDidMount 클라이언트에서 첫 렌더링이 이루어지고 난 후에 작동됩니다. 이 메서드에서 AJAX 리퀘스트나 DOM, state 갱신을 진행합니다. 또한 다른 자바스크립트 프레임워크나 다른 함수들과 합쳐지는 것에 사용되며, 이 때는 setInterval이나 setTimeout 등과 같은 함수로 지연을 시키게 됩니다. - componentWillReceiveProps Prop가 갱신되면, 다른 렌더링이 작동하기 전에 불려집니다..