이 문서는 Coursera - Duke University의 Human Physiology 강의 내용을 개인적으로 공부하면서 요약한 내용들입니다.
부족한 내용은 댓글로 정정 요청해주시는것 대 환영입니다.

 

강의를 수강하면서 개인적으로 이해가 되지 않는 해석용어는 (?)를 사용하였습니다.


Introduction

생리학이란

  • 통합 과학으로써 세포와 분자에서 기관 및 기관계 수준에 이르기까지 복잡한 살아있는 유기체를 다루는 학문.

생리학자들이 던지는 질문

  • 기관과 기관계가 어떻게 작동하는지
  • 이 기관계가 신체에 무엇을 제공하는

이 강의를 통해 배울 점

  • 특정 기관계와 관련한 용어와 개념을 배울 것임.
  • 특히 작동 모델을 수강자 스스로 발달시키는데에 있음. (?)
  • 이 작동 모델을 통해 기관계들이 끊임없이 변화하는 환경에서 생명을 유지하기 위해 어떻게 조정되는지 이해하게 될 것임.
  • 이 모델을 사용하여 구조를 함수와 연결시켜 혈압 및 혈액 기체(?)와 같은 생리학적 데이터를 해석하는데 도움을 줄 것임.
  • 또한 이것은 특정 섭동과 관련해 신체에서 발생하는 변화를 예측하도록 도와줄 것임.
  • 여기서 말하는 변화는 급격한 변화를 이야기하는데, 예를 들면 감자칩 한봉지를 먹었을 때의 변화 같은 것을 이야기함.
  • 변화는 또한 만성적인 변화가 있는 상황이 있을 수가 있음. 마라톤 훈련을 받는다면 몸이 어떠한 반응을 보일까? 실제로 마라톤을 뛸 때는 어떤 반응을 보일까? 저염식 식단을 시작하고 유지한다면 어떨까? 
  • 우리는 이 강좌를 통해 소규모 연구 사례를 살펴보게 될 것임. 이러한 연구 사례는 신체에 자극을 주고 그에 대한 정상적인 반응을 알려줄 것임.
  • 또한 이러한 정상적인 반응이 실패하여 질병을 얻게 되었을 때, 어떤 일이 일어나는지도 배울 것임.

따라서 이 강의는 간호, 물리 치료, 의사 보조 및 의학과 같은 보건 과학에 관심있는 개인을 대상으로 함.

여기에 필요한 지식은 기초 생물학임.

또한 MCAT 시험을 준비하기에도 좋을 것임.

 

  1. 파이썬 org에서 원하는 버전 확인
    1. https://www.python.org/ftp/python/
  2. 원하는 버전의 압축파일을 다운로드
    1. wget https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tgz
  3. tar xvzf 명령어를 이용하여 압축해제
    1. tar -xvzf Python-3.9.13.tgz
  4. 압축 해제된 파일의 디렉토리에 이동한 후 빌드한다.
    1. cd Python-3.9.13
    2. sudo ./configure -- enable-optimizations
    3. sudo make altinstall
  5. 만약 make altinstall이 에러가 나는 경우 다음을 참조하여 해당 라이브러리를 설치한다.
    1. sudo apt-get install build-essential libsqlite3-dev sqlite3 bzip2 libbz2-dev \
      zlib1g-dev libssl-dev openssl libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev \
      libncursesw5-dev libffi-dev uuid-dev
    2. 참조: https://askubuntu.com/questions/1047445/altinstall-error
  6. 빌드된 파일을 Linux의 alternative를 이용하여 python 버전을 등록한다. (뒤에 1은 버전관리할 우선순위 (priority)를 의미한다)
    1. 버전 등록 -> sudo update-alternatives --install /usr/bin/python python /home/ubuntu/Python-3.9.13/python 1
  7. config에서 원하는 python 버전을 선택한다. 
    1. 버전 설정 -> sudo update-alternatives --config python
 

altinstall error

Hello I have just install python as highlighted below there is an error for altinstall, should I use make install? ./configure make sudo make altinstall or ./configure make sudo make install...

askubuntu.com

 

 

Index of /ftp/python/

 

www.python.org

 

'OS > 리눅스' 카테고리의 다른 글

[Linux] screen 명령어  (1) 2021.06.02
[Linux] Nano 편집기 사용법  (0) 2019.05.11

이미 로컬에서 많은 작업이 이루어진 프로젝트를 Git 원격 저장소와 연동하는 경우, 다음의 방법을 사용한다.

 

git init

git remote add origin [깃 원격 저장소 URL]

가끔 유니티로 작업하다보면 Unity Editor에서 관리자 권한으로 켜야할 때가 있다.

그럴때 Unity hub를 관리자권한으로 실행해봤자 Editor까지 권한이 이양되지 않거나 에러가 생기게 된다.

방법은 다음과 같다.

 

Windows 명령 프롬프트 사용

1. 명령 프롬프트를 관리자권한으로 켠다.

2. 명령 프롬프트에 다음을 입력하여 Unity 프로젝트를 시작한다.

-> "<PathToEditor>" -projectPath "<PathToProject>"

 

명령 프롬프트 사용 예시.

 

Unsupervised learning allows us to approach problems with little or no idea what our results should look like. We can derive structure from data where we don't necessarily know the effect of the variables.

We can derive this structure by clustering the data based on relationships among the variables in the data.

With unsupervised learning there is no feedback based on the prediction results.

Example:

Clustering: Take a collection of 1,000,000 different genes, and find a way to automatically group these genes into groups that are somehow similar or related by different variables, such as lifespan, location, roles, and so on.

Non-clustering: The "Cocktail Party Algorithm", allows you to find structure in a chaotic environment. (i.e. identifying individual voices and music from a mesh of sounds at a cocktail party).

Supervised Learning

In supervised learning, we are given a data set and already know what our correct output should look like, having the idea that there is a relationship between the input and the output.

Supervised learning problems are categorized into "regression" and "classification" problems. In a regression problem, we are trying to predict results within a continuous output, meaning that we are trying to map input variables to some continuous function. In a classification problem, we are instead trying to predict results in a discrete output. In other words, we are trying to map input variables into discrete categories.

Example 1:

Given data about the size of houses on the real estate market, try to predict their price. Price as a function of size is a continuous output, so this is a regression problem.

We could turn this example into a classification problem by instead making our output about whether the house "sells for more or less than the asking price." Here we are classifying the houses based on price into two discrete categories.

Example 2:

(a) Regression - Given a picture of a person, we have to predict their age on the basis of the given picture

(b) Classification - Given a patient with a tumor, we have to predict whether the tumor is malignant or benign.

Arthur Samuel의 머신러닝 정의

- 최초의 머신러닝 기반 체커게임을 만든 사람.

  • 컴퓨터가 명시적(explicit) 프로그램 없이도 스스로 학습할 수 있는 것.

 

Tom Michell의 머신러닝 정의

- Carnegi Mellon 대학교 교수

  • 학습과제(well-posed learning problem) 중심으로 정의
  • 프로그램이 일정 수준의 작업 성능(P)을 가지고 작업(T)을 수행한다고 했을 때 경험(E)이 증가함에 따라 작업(T)를 수행하는 성능(P)이 향상될 때 이 프로그램이 경험(E)으로부터 학습(learn)을 했다고 표현함.

 

객체지향 프로그래밍 언어로 기술된 프로그램의 기본 구성 요소는 객체(object)이다.

객체는 다시 데이터와 함수들로 구성되는데 이와 같은 환경에서 프로그램이 하는 일은 그 안에서 기술되어 있는 객체들 간의 관계로 설명된다.

 

객체지향 언어들은 모두 캡슐화(encapsulation), 다형성(polymorphism), 상속성(inheritance)의 세가지 특징을 공통으로 가지고 있다.

 

1.캡슐화란,

데이터와 그것을 다루는 코드를 연관시키는 구조를 말한다. 이렇게 연관된 데이터와 코드를 객체라고 부른다.

객체 안에 있는 데이터와 코드는 공개(public)될 수도 있고, 비공개(private)될 수도 있다.

비공개된 데이터와 코드는 해당 객체 안에서만 액세스가 가능하다.

공개된 데이터와 코드는 외부에서 액세스가 가능하다.

일반적으로, 객체의 공개 부분은 객체의 비공개 부분과 외부와의 인터페이스 역할을 수행한다.

 

2. 다형성이란,

다양한 형태라는 의미를 가지며 하나의 이름을 연관된 두가지 이상의 용도로 사용할 수 있게 하는 성질이다.

객체지향 프로그래밍에서 다형성은 하나의 이름으로 여러 동작들을 저장할 수 있게 해준다.

여러 동작 중에서 특정 동작을 선택하는 것은 주어진 데이터 타입에 의해 결정된다.

보다 일반적인 다형성의 개념은 "하나의 인터페이스에 여러 방법들"로 설명할 수 있다.

이 말은 비슷한 종류의 동작들을 같은 인터페이스로 설계함으로써 복잡성을 줄여주는 이점을 가진다.

 

3. 상속성이란,

하나의 객체가 다른 객체의 특성을 이어 받을 수 있게 해주는 것이다.

하나의 객체는 다른 객체로부터 일반적인 성질들을 상속받고, 이에 자신에게 필요한 특징들을 추가할 수 있다.

'소프트웨어 > C++' 카테고리의 다른 글

[C++] 객체지향의 개념  (0) 2021.12.01
[C++] 연산자  (0) 2020.04.29
[C++] 데이터 타입  (0) 2020.04.25

객체지향(Object-Oriented Programming, OOP)이란,

컴퓨터 프로그램을 명령어의 목록으로 (절차지향적으로) 보지 않고 여러개의 독립단위(객체)들의 모임으로 파악하고자 하는 컴퓨터 프로그래밍의 한 패러다임이다. C++은 1970년대 후반 미국 벨연구소의 비얀 스트라우스트럽(Bjarne Stroustrup)이 당시 유행하던 객체지향 개념을 C에 도입하여 'C with classes'를 개발하게되는데, 이것이 C++이다.

다시 돌아와서, 객체지향은 다음을 구현하는 방법이다.

    1. 객체는 기본적인 구성요소이다.
2. 각 객체는 어떤 클래스(class)의 인스턴스(instance)이다.
3.클래스들은 상속성 관계에 의해 서로 연관되어 있다.

언어가 다음의 조건들을 만족할 때 객체지향 언어라 부른다.

 

1. 언어가 객체를 지원한다.
2. 언어에서 객체는 클래스에 속한다.

3. 언어가 상속성을 지원한다.

객체(Object)는,

연산을 수행하고 지역적인 상태를 갖는 개체(entity)이다. 따라서 객체는 데이터와 프로시저(procedure)의 결합으로 볼 수 있다.

 

인스턴스(Instance)는,

같은 클래스에 속하는 객체로, 하나의 클래스에서 생성된 객체를 말한다. 이때 추상적인 개념인 클래스에서 실제 객체를 생성하는 것을 인스턴스화(instantiation)라고 한다.

 

클래스(Class)는,

속성과 메서드를 공유하는 유사한 성질들의 객체들을 하나로 그룹화한 것이다.

 

Reference

'소프트웨어 > C++' 카테고리의 다른 글

[C++] 객체지향 언어  (0) 2021.12.01
[C++] 연산자  (0) 2020.04.29
[C++] 데이터 타입  (0) 2020.04.25

사람은 처음에 누구나 실수를 한다.

다만 그 실수를 다시 반복할 여지를 남겨놓느냐 아니느냐에 따라 인재나 아니냐가 갈린다.

 

살아가면서 느끼는 인재의 기준은 다음과 같다.

 

1. 스스로의 피드백이 있는가?

-> 발생한 실수에 대해 자가분석을 한 뒤 실수를 줄이기 위한 노력을 하는가?

-> 실수를 줄이기 위한 노력의 방향이 올바르게 나아가는가?

-> 얼마나 빠르게 실수를 줄여가는가?

 

-> 스스로 잘함과 못함을 판단하는 기준을 만들어가는가?

 

2. 자기발전이 있는가?

-> 부족함을 인지하고 지속적인 발전을 해나가는가?

 

결론적으로 가장 중요한 것은 스스로의 피드백이다.

대부분의 사람은 완벽하지 않다.

그 완벽하지 않은 부분을 얼마나 많은 노력을 기울여가며 발전해나가는 사람이 되는지가 가장 중요한 인재의 기준이지 않을까.

'인생' 카테고리의 다른 글

[가치관] 스스로의 가치를 낮추지 않는 것.  (0) 2020.04.26

+ Recent posts