<밑바닥부터 시작하는 딥러닝 1(리마스터판)> ch2
·
🤓 기술 학습 & 공부 기록/딥러닝
📍퍼셉트론 개요- 1957년에 고안된, 신경망(딥러닝)의 기원이 되는 알고리즘- 다수의 신호(흐름)를 입력으로 받아 하나의 신호를 출력- 퍼셉트론 신호는 1(흐름), 0(흐르지 않음)의 2가지 값을 가짐 📍퍼셉트론 동작 원리- 예) 입력이 2개인 퍼셉트론퍼셉트론 사진 설명- 원: 뉴런 또는 노드- x: 입력 신호- y: 출력 신호- w: 가중치- 입력신호와 가중치가 곱해지며(w1x1, w2x2) 뉴런에서 보내온 신호의 총합이 정해진 한계(임계값, 세타)를 넘을 때만 1을 출력(=뉴런이 활성화)- 예) 퍼셉트론 동작원리를 수식으로 표현 📍논리 회로1. AND 게이트- 입력2, 출력1 이며, 입력이 모두 1일 때만 1을 출력하고 나머지는 0- 예) AND 게이트 진리표 퍼셉트론으로 표현w1 = 0.5w..
<객체지향의 사실과 오해> 4.역할, 책임, 협력
·
🤓 기술 학습 & 공부 기록/컴퓨터 일반
1. 협력협력은 요청으로부터 시작되며 다수의 요청과 응답으로 구성된다 2. 책임책임의 분류1️⃣ 객체가 무엇을 알고 있는가 -> 아는 것(knowing)- 개인적인 정보에 관해 아는 것- 관련된 객체에 관해 아는 것- 자신이 유도하거나 계산할 수 있는 것에 관해 아는 것 2️⃣ 객체가 무엇을 할 수 있는가 -> 하는 것(doing)- 객체를 생성하거나 계산을 하는 등의 스스로 하는 것- 다른 객체의 행동을 시작시키는 것- 다른 객체의 활동을 제어하고 조절하는 것 📍 책임과 메시지메시지 전송(message-send)- 객체가 다른 객체에게 주어진 책임을 수행하도록 요청을 보내는 것- 협력 안에서 객체는 다른 객체로부터 요청이 전송됐을 경우에만 자신에게 주어진 책임을 수행한다- 한 객체가 다른 객체에게 전..
<객체지향의 사실과 오해> 3.타입과 추상화
·
🤓 기술 학습 & 공부 기록/컴퓨터 일반
1. 추상화를 통한 복잡성 극복📍 추상화의 목적- 단순화- 복잡도를 다루기 위해 추상화한다📍 추상화의 정의- 어떤 양상, 세부 사항, 구조를 좀더 명확하게 이해하기 위해 특정 절차나 물체를 의도적으로 생략하거나 감춤으로써 복잡도를 극복하는 방법📍 추상화 방법 2가지1. 구체적인 사물들 간의 공통점은 취하고 차이점은 버리는 일반화2. 중요한 부분을 강조하기 위해 불필요한 세부사항을 제거- 객체지향에서는 객체라는 추상화를 통해 현실의 복잡성을 극복한다 2. 객체지향과 추상화📍 앨리스의 추상화 예시- 하트 여왕, 스페이드 정원사, 클로버 병사 등을 모두 트럼프 객체로 단순화(토끼는 트럼프로 추상화 불가)- 트럼프로 단순화할 수 있는 이유는, 위의 모든 인물들이 트럼프의 일반적인 외형과 행동방식을 지녔기..
[Python] 프로젝트 패키지 관리하기(pip freeze)
·
🤓 기술 학습 & 공부 기록/Python
📍목표- Python 프로젝트에서 패키지 관리하는 방법 알아보기 📍Python 프로젝트에서 의존성 관리 방법Python에도 Node.js의 npm 처럼 pip 라는 패키지 매니저가 존재한다. pip 명령어를 통해 외부 패키지를 설치하고 삭제할 수 있다. 그런데, 가상환경에서 Python 프로젝트를 실행하는 경우, 패키지 정보가 담기는 가상환경(일반적으로 /venv 폴더) 폴더의 /lib 은 gitignore에 의해 공유되지 않는다. 그렇다면 Python 에서는 Node.js 진영의 package.json 처럼 의존성을 명시하는 문서가 없을까? 📍현재 프로젝트의 모든 패키지 목록 추출하기찾아보니 pip freeze 명령어를 통해 현재 프로젝트의 의존성 리스트(버전 포함)를 터미널에 출력할 수 있었다-..
[Python] virtualenv 모듈로 가상환경 사용하기
·
🤓 기술 학습 & 공부 기록/Python
📍가상환경을 사용하는 이유- 여러 버전의 파이썬을 사용하거나, 프로젝트 별로 패키지를 설치하고 싶을 때- 가상환경에서 애플리케이션을 개발하면 특정 패키지를 시스템에 전역으로 설치하지 않아도 된다=> 가상환경 디렉토리 하위에 pip install로 설치한 패키지들이 설치되기 때문📍가상 환경 생성Python 표준 라이브러리의 venv 모듈을 사용한다 가상환경 폴더(주로 venv 라는 이름 사용)의 구성요소- /lib: 파이썬 인터프리터가 설치된 폴더- /bin: 가상환경 내에서 상호작용(가상환경 활성화/비활성화)에 필요한 파일이 저장된 폴더python3 -m venv [사용할 가상환경 이름] 📍가상 환경 활성화source [가상환경 이름]/bin/activate# 활성화에 성공하면 가상환경 폴더명이 프..
[Python] reduce 사용하기
·
🤓 기술 학습 & 공부 기록/Python
📍목표- Python에서 reduce 사용하기 📍functools.reduce예를 들어, 어떤 각각의 경우의 수를 나타내는 [1, 2, 3, 4, 5] 리스트가 있다고 할 때, 모든 경우의 수를 구하기 위해 이 리스트의 모든 원소를 곱하는 결과를 반환받고 싶다면 어떻게 할까? for loop 를 사용할 수도 있지만, JavaScript의 reduce 같은 메서드를 사용해 결과를 깔끔하게 반환할 수도 있을 것이다. Python에도 reduce 함수가 존재한다. functools 패키지에서 import 해오면 된다from functools import reduce 기본 문법은 아래와 같다reduce(function, iterable[, initializer]) - function: 2개의 인자를 받아(리..