본문 바로가기

전체 글144

파이토치 첫걸음 - 3. 선형회귀분석 # 세줄요약 # 선형회귀분석은 주어진 데이터의 경향성을 잘 나타내는 선형관계를 찾아내는 것을 의미하는데, 간단한 예로는 y=wx+b 방정식에서 데이터 x, y를 가장 잘 표현하는 변수 w, b를 찾는 것이다(w: weight, b: bias). 예측값과 목표값의 차이인 오차를 나타내는 손실함수(Loss function)를 구하고, 경사하강법(gradient descent)을 사용하여 가중치(weight)를 업데이트하며 오차의 최솟값을 찾는 과정이 바로 학습(Learning)이다. 파이토치에서는 데이터 기본 단위로 "tensor"를 사용하여, "torch.nn" 라이브러리에서 신경망 모델과 손실함수를 설계하고, "torch.optim" 라이브러리에서 경사하강법 알고리즘을 선택해 학습을 수행한다. #code.. 2019. 11. 14.
Ardila et al., 2019, End-to-end lung cancer screening with three-dimensional deep learning on low-dose chest computed tomography # 세줄요약 # We propose a deep learning algorithm that uses a patient’s current and prior computed tomography volumes to predict the risk of lung cancer. Our model achieves a state-of-the-art performance (94.4% area under the curve) on 6,716 National Lung Cancer Screening Trial cases, and performs similarly on an independent clinical validation set of 1,139 cases. We conducted two reader studies: Fi.. 2019. 11. 11.
Liao et al., 2017, Evaluate the Malignancy of Pulmonary Nodules Using the 3D Deep Leaky Noisy-or Network # 세줄요약 # Automatic diagnosing lung cancer from Computed Tomography (CT) scans involves two steps: detect all suspicious lesions (pulmonary nodules) and evaluate the whole-lung/pulmonary malignancy. The model consists of two modules, the first one is a 3D region proposal network for nodule detection, which outputs all suspicious nodules for a subject, then the second one selects the top five nodu.. 2019. 11. 11.
Nasrullah et al., 2019, Automated Lung Nodule Detection and Classification Using Deep Learning Combined with Multiple Strategies # 세줄요약 # 높은 사망률을 가지는 폐암을 조기 진단하기 위하여 폐 CT 영상에서 딥러닝을 이용한 기존의 많은 폐결절(Lung Nodule) 진단 알고리즘이 연구되어 왔으나, 거짓 양성(False Positive)를 구분해내는 것이 어려워 이 논문에서는 환자들의 진단 정보(Clinical Information)를 딥러닝 학습에 함께 사용하였다. 따라서 폐 결절 진단 알고리즘은 여러 단계로 구성되며, 폐 CT 영상을 이용한 영상 딥러닝에서는 CMixNet(Customized mixed link Network)을 기반으로 faster R-CNN을 이용한 결절 포착(Nodule Detection) 단계와 GBM(Gradient Boosting Machine)을 이용한 결절 분류(Nodule Classific.. 2019. 11. 11.
뇌를 자극하는 파이썬3 - 11. 파일에 데이터 읽고 쓰기 # 세줄요약 # 1. 애플리케이션은 파일을 읽고 쓰기 위해 운영체제에게 API 함수로 파일처리를 요청하고 그 결과를 반환받는다. 2. 일반적으로 파일을 읽고 쓰는 과정은 열[open()] -> 쓰기[.write()]/읽기[.read()] -> 닫기[close()]로 구성되는데 자원 누수를 막기 위해 마지막에 파일 '닫기'를 잊지말고 해줘야 한다("with~ as~" 문을 사용하면 close() 함수를 사용하지 않아도 자동으로 파일이 항상 닫힘). 3. 문자집합은 기호로 문자를 컴퓨터에서 표현하기 위한 것으로 알파벳 문자집합인 ASCII를 시작으로 현재는 전세계 모든 언어의 문자집합인 Unicode가 제정되어 사용 중이다(이러한 문자집합을 부호화하는 것이 Encoding(인코딩)이다). #code bloc.. 2019. 11. 11.
뇌를 자극하는 파이썬3 - 10. 오류를 어떻게 다뤄야 할까 # 세줄요약 # 1. 파이썬에서 예외(Exception)는 문법적으로 문제가 없는 코드를 실행하는 중에 발생하는 오류를 의미한다(ex. Input 값이 잘못된 경우). 2. 예외처리는 "try~ except~" 구문을 이용하여, try 절 안에는 문제가 없는 정상적인 경우에 실행할 코드를, except 절에는 문제가 있을 경우 뒤처리하는 코드를 배치한다. 3. 파이썬에서 발생하는 대다수의 예외들은 "Exception" 클래스 안에 정의되어 있으므로 as문을 사용하여 Exception을 객체(Instance)로 받으면 거의 모든 예외처리가 가능하다(Exception 클래스 안에 없는 예외형식은 raise 문을 사용하여 매개변수로 넘기면 된다). #code block# my_list = [1, 2, 3] t.. 2019. 11. 11.
뇌를 자극하는 파이썬3 - 9. 클래스 # 세줄요약 # 1. 클래스(Class)는 속성(변수)과 기능(함수)이 합쳐진 객체(Instance)의 자료형으로, class를 이용하면 class 코드블록 내의 변수와 함수들은 객체 내부에서만 응집력을 발휘하고 객체 외부에는 영향을 주지 않는다. 2. 클래스를 정의할 때는 >>> class My_cls: 로 시작하고 __init__() 메소드로 변수를 초기화하여 모든 객체들이 변수를 공유하는 것을 막고 Self를 사용하여 객체에 소속된 변수와 함수를 정의한다. 3. 다른 클래스의 함수와 변수를 그대로 사용하려면 상속( >>> class A: // >>> class B(A): A -> B)을 이용하여 부모클래스의 변수, 함수를 받아올 수 있다. #code block# class Car: def __ini.. 2019. 11. 11.
뇌를 자극하는 파이썬3 - 8. 모듈과 패키지 # 세줄요약 # 1. 모듈(module)은 독자적인 기능을 갖는 구성 요소를 의미하는데 파이썬에서는 각각의 소스파일을 의미한다. - 사용법: import 키워드를 사용하여 자신 또는 다른 프로그래머가 만든 소스파일을 불러와서 사용할 수 있다. #code block# # 모듈 약자를 사용하는 방법 import module as mod mod.function() # 모듈의 특정 함수만 불러오는 방법 from module import function function() - 모듈의 종류 표준 모듈: 파이썬에 내장된 자체모듈 사용자 생성 모듈: 프로그래머가 직접 작성한 모듈 서드파티 모듈: 다른 프로그래머 또는 업체가 제공한 모듈 2. 파이썬은 최상위 수준에서 실행되는 스크립트가 있을뿐 메인함수가 따로 없기에 현.. 2019. 10. 25.
뇌를 자극하는 파이썬3 - 7. 함수로 코드 간추리기 # 세줄요약 # 1. def 키워드를 사용하여 함수를 정의한 뒤 호출하여 사용하면 결과값을 반환해주며, 함수를 사용하면 코드를 반복되는 코딩을 줄여 전체 코드를 간결하게 작성할 수 있다. - def: 함수나 메소드를 정의하는 키워드, definition의 약자 #code block# def function(param): """ codeblock """ return result val = function(param) # [output]: val = result - 함수 이름을 쓰면 그 함수가 호출되어 아래 정의된 코드블록을 실행하고, 해당 결과를 반환(return)해준다. 2. 매개변수(Parameter): 함수에 입력되는 변수로 함수가 호출되면, 매개변수가 입력되어 코드블록에서 입력된 매개변수 값을 연산.. 2019. 10. 22.
뇌를 자극하는 파이썬3 - 6. 프로그램의 흐름 제어하기 # 세줄요약 # 1. 프로그래밍에서 흐름을 제어하려면 논리연산자, 비교연산자 등을 가지고 bool 자료형으로 True & False가 판별되는 방식을 사용해야 한다. - bool 자료형: True & False 두가지 값으로 이루어진 자료형 - 코딩에서 비어있는 문자열, 리스트, 튜플 등의 변수는 False로 취급된다. #code block# # True a = 3 > 2 # [output]: a => True b = 1 bool(b) # [output]: True int(True) # [output]: 1 # False a = 2 > 3 # [output]: a => False b = [] # [output]: bool(b) => False c = 0 # [output]: bool(c) => False.. 2019. 10. 22.