분류 전체보기
- 9. Revision(논문 수정하기) 와 Appeal 하기 2018.09.26
- 8. ProofReading(논문의 검토 및 교정 작업)하기 2018.09.25
- 7. References 정리 하기 2018.09.25
- 6. Introduction(서론) 과 Abstract(초록) 2018.09.25
- 5. Figures -> Result & Discussion 2018.09.24
- 4. 논문의 구조 - 결론을 어떻게 이끌어 내느냐 2018.09.22 1
- 2. Table 만들기, 리스팅하여, 목차 만들어보기 2018.09.21
- 3. 왜 논문을 써야하는가? 2018.09.21
- 1. figure 작성방법 2018.09.18 4
- 15. ROC(Receiver Operating Characteristic) curve 와 AUC(Area Under the Curve) 2018.09.09 8
- 2018. 8. 20 한국지도자육성 장학생 여름연수 2018.08.23
- 14. 다중 분류 모델의 성능측정 - Performance Measure( ACU, F1 score) 2018.08.21 7
- 13. 혼동행렬(Confusion Matrix) / 실습 2018.08.21
- 15. Batch size & Batch Norm 2018.08.19
- 14. Regularization 2018.08.19
9. Revision(논문 수정하기) 와 Appeal 하기
논문 제출시 유의사항과, 제출시 받는 평가보고서에 대해서 어떻게 대응해야할지에 대해서 알아보자.
Authorship
어서쉽은 논문이 다 작성된 다음 작성해야하는, 지도교수의 고유권한이다.
즉, 제 1저자, 2저자 등을 정하는 과정이다.
- 제 1저자가 대부분의 일을 하며, 마지막의 교신저자가 지도교수이다.
CoverLetter
커버레터를 요구하는 저널들이 있다. 최근에 많이 몰리는 저널들 같은 경우, 에디터들이 빨리 판단을 해야하므로,
에디터에게 요약서를 내는 것이다. 이 커버레터(요약서)에는 2가지+@가 포함되어야한다.
What(너희 저널의 scope에 해당한다), Why( 신속하게 출판해야할 이유가 있다)에 대한 것이다.
Introduction에 쓴 것을 많이 축약해야 하는 것이다.
심사위원으로 누구를 추천한다.까지 포함 시킬 수 있다.
하나의 커버레터 예를 보자. 문단이 4개 + 1개가 있다.
저널 에디터들이 Review를 선정하는 기준
- 그 분야의 전문가
- Reference의 저자들에게 가는 경우가 굉장히 많다. - 논문 저자가 제안한 사람들
First Decision
논문이 reivew들에게 넘어간다면, review들(3~4명)은 보고서를 제출한다.
yes or no 형태로 3가지 경우의 수가 들어올 것이다.
결과는 아래와 같이 5가지 형태로 나타난다.
- Accept( as it is ) : 수정없이 게재해라 - 이런 일은 거의 없다
- Accept( with minor revision ) : 마이너한 것들만 고치면 바로 게재해주겠다. 리뷰어들에게 다시 안간다
- Revision( minor )
- Revision( major )
- Reject
Rebuttal letter
리뷰탈 레터는, 리뷰어들이 준 커멘트에 대해, comment by comment로 response를 작성하는 것이다.
이 때 유의 사항은
- 성실하고 겸손하게 답변할 것 : 리뷰어들이 모른다고 무시하지 말 것. 틀린 질문을 하더라도 기분나쁘게 답변x
- 결론 문장부터 쓰고, 자세히 풀어 쓸 것
- Rebuttal letter는 자세히 쓰되, 본문 수정은 최소화 할 것
- 본문은 에디터가 보기 때문에, 수정이 많이 될수록 안좋은 인상을 남기낟. - 하라고 제인한 것은 반드시 해야한다
- Ref suggestion은 반드시 할 것
- 다른 리뷰어의 커멘트를 활용하여 답변할 것
- 기존 연구 결과를 언급하면 답변시 설득이 쉬워진다.
Revision 논문을 제출할 시 준비물 3가지
- Cover Letter :
- 에디터에게 handling(검토)해줘서 고맙다는 표현쓰기
- refree comment는 검정색 / 우리의 답변은 파란색 / 본문의 수정사항은 하이라이트로 표시해준다
- 중요한 핵심쟁점은 다시 요약해준다.
즉, 중요한 문제는 뭐였고---> 우리는 실험을 통해 다 해소하였다.
- 빨리 accept 해달라는 표현을 간곡히 써준다. - Rebuttal letter
- 리뷰어들의 답변은 하나도 빠트리지말고 하나하나 답변을 한다.
어떤 것이 아쉽다고 제시하면, 그 해당사항에 대해서 더 실험을 했다고 답변해준다.
그 과정은 what- why- how 순으로 해준다.
만약, 리뷰어들이 어떤 표현에 대해서 고쳐주라고 하면, 타당하다면 '당신이 맞다고' 핵심을 치면서, 바로 맞다고 해준다.
이러이러한 관점에서 맞는 것 같으니, 우리는 이렇게 고쳤다고 말해준다.
리뷰어들이 어떤 것을 제안한다면, 또 agree한다고 하며 따라준다.
만약 리뷰어들이 잘못된 지적을 한다면, 정중하게 거절해야한다.
예 ) we kindly defuse ~ concern 의 형태로,
당신이 지적한 사항은 어디에 해다하는 사항이며 우리의 연구는 다른 상황이라 적용범위가 다르다. 라는 방식으로 작성해준다.
'한의대 생활 > 본3 - 논문써보기' 카테고리의 다른 글
11. 잉크 스케이프를 통한 Figure Templates 만들기 (0) | 2018.10.08 |
---|---|
10. 잉크 스케이프 기초 (0) | 2018.10.08 |
8. ProofReading(논문의 검토 및 교정 작업)하기 (0) | 2018.09.25 |
7. References 정리 하기 (0) | 2018.09.25 |
6. Introduction(서론) 과 Abstract(초록) (0) | 2018.09.25 |
8. ProofReading(논문의 검토 및 교정 작업)하기
지금까지 논문의 구조를 잡고 -> Figure와 table -> Results + Discussion -> Intro + Abstract -> Reference까지 다 쓴 상태라고 가정한다. Conclusion은 논문의 요약이기 때문에 어렵지 않게 쓸 수 있다.
이제 논문을 제출하기전에, 심사과정이 짧게는 1달 길게는 6개월 까지 걸리기 때문에,
불필요한 Revision을 피하기 위해서는 완벽한 상태로 제출해야한다.
이번시간에는 어떠한 실수들을 주로 하는지, 어떤 주안점을 가지고 검토를 해야하는지 알아보자.
논문의 검토
- 가능한 많은 사람들에게 보여주자.
- 논문이 구성을 바꾸는 것을 두려워 하지말자.
- 자기는 쉽게 쓴다고 쓴 것이 독자들에게는 어려울 수 있다.
- 아니다 싶으면 과감하게 구성을 바꾸자 - 가능한 쉽게, 쉬운 단어로 써서 잘 읽히게 쓰자.
구체적인 체크리스트
- Figure
- 가장 많이 하는 실수가, 그림에 Scale bar, Color bar & Units가 빠진 경우가 많다
- Figure에 나타난 약어들은 모두 본문에 나타나야한다.(알겠지~ 하고 생략하면 안됨)
- 결과들 역시 모두 본문에 있어야 한다.(sub figure들도 모두 다 본문에 있어야함. 없다면 빼야함)
- 본문에서 그림이 호출( Fig. 1)한 다음에 호출된 그림이 배치되어야 한다.
- 문장을 시작할 때는 Fig. 축약표기 대신 Figure라고 다 풀어써야한다. symbol도 쓰지 않는다.
- subfigure 가 (a)로 표기되었으면, 본문에서도 Fig. 1(a)로 똑같이 풀어쓴다.
( 저널마다 표기가 a 혹은 (a) 등등 규정이 다양하다. 본문은 그 규정에 맞는 figure를 따라서 표시)
- 여러 그림을 호출할 때는, Figs. 1 and 2 show 형태로 복수(s)를 붙혀야한다. - Results
- 결과로 확신있는 주장 인지 / 다른 가능성이 있는 주장인지 명확히 파악한다
- 쉽게 설명이 되었는지
- 논리적인 비약은 없는지
- 기존 선행연구의 방법론을 따를 때는, 인용 + 기본 원리까지 설명 - Text
- 약어는 처음사용시 정의하고, 그 이후는 통일해서 쓰기. Ctrl+F 를 활용하기
- 약어는 3번 이상 사용할 경우만 사용.
초록과 본문은 별개의 문서이므로, 각각 따로 정의해주어야한다.
- 숫자 + 단위 사이에서는 항상 space를 넣는다.
예외적으로 10% 나 10℃ (percent와 degree정도만 예외)
- 문장을 시작할 때는, symbol로 시작하지 않는다.
- 하이픈(hyphenation) 사용시 주의 사항
(1) 명사들로 구성된 형용사로 쓰일 경우 붙힘( ex> x-ray diffraction, 4-mm-long gas cell, R-matrix theory)
(2) 명사일 때는 사용하지 않음( ex> emission by x rays, was 4 mm in length, the R matrix is tested.
(3) 미국식 영어에서는, 접두어 - 접미사 사이에서는 하이픈을 뺀다. - Refs. etc.
- 참고문헌이 똑같은 것이 중복 사용되었는지 확인
- endnote를 사용하더라도 완벽하진 않다 --> Issue #, Page #, Yr 등 확인
이것 때문에, 엄청난 시간을 버릴 수 있다. 잇슈 넘버, 페이지 넘버와 연도를 다시 확인한다.
- 제출단계에서, professional 하게 하도록 노력하자.
예를 들면, 마이크로미터를 u를 넣을 것을 m(뮤)로 바꾸고, 곱하기도 x(엑스)가 아니라 symbol(특수기호)로
- 애매한 표현은 절대 쓰지 않는다. 줄여서 쓰지 않는다.(aren't 등 )
어느 정도/ 얼마나 많이 / 충분히 / 등의 표현은 피한다.
- 단어 뜻을 제대로 알고 사용하자
- 셀수있는 것과 셀수없는 것을 정확히 표시하자
ex> microscophy -> 학문 셀수x / microscope -> devices 셀수o
ex> reconstruction은 의미에 따라서 셀수있을 수도 있고 셀수 없을 수 도 있다. - 전치사
- By는 좋은 표현이 아니다 ----> 구체적인 using(사용) or via or utilizing로 쓴다
- space앞에는 in이 맞다. / Study , Finding, Effects 뒤에는 on이 맞다 - 흔한 실수들
- 4배에서 10배까지 좋아졌다면, to를 쓰던가 긴 하이픈 symbol을 쓴다. ~(tilda)는 절대 쓰지 말 것
범위 역시 1 ~ 3 이 아니라 긴 하이픈을 쓴다.
- 특별히 ~ 하다 -> Especially는 한국사람만 실수한다. In particular 를 쓴다.
- ~에 접근하다 -> Acess to - Stronger expressions : 강한 표현을 써서 강조하고 싶다면 오른쪽으로 바꿔준다.
- 1,2,3,4, 9(serious는 부정적)는 가장 흔하게 바꾸는 부분이다.
'한의대 생활 > 본3 - 논문써보기' 카테고리의 다른 글
10. 잉크 스케이프 기초 (0) | 2018.10.08 |
---|---|
9. Revision(논문 수정하기) 와 Appeal 하기 (0) | 2018.09.26 |
7. References 정리 하기 (0) | 2018.09.25 |
6. Introduction(서론) 과 Abstract(초록) (0) | 2018.09.25 |
5. Figures -> Result & Discussion (0) | 2018.09.24 |
7. References 정리 하기
Literature search는 왜 해야하는가?
왜 논문 조사를 해야하는가?
- Novelty : 나의 연구가 새롭고 중요한 것임을 강조하기 위해서, 기존의 연구가 어디까지 되었는지 완벽히 파악해야한다
- Methods : 내가 연구에 사용할 수 있는 기존의 방법을 파악해야한다.
- Comparision : 내 결과가 타당한지 비교 검토할 수 있다.
Literature search의 흐름
생각을 통해, '혹시 이런 것은 이미 해보지 않았을까? 비슷한 것은 없을까? '라는 search question이 나온다.
그러면, 여러가지 search tool 들을 이용해서 결과를 얻게 되고, 정리해서 review를 가지고 있어야한다.
Tools
나의 검색어 : Akebiae Caulis, Aristoiochiae Manshuriensis, microscopic tissue
- 구글 스칼라 : https://scholar.google.co.kr
- 구글의 확실한 검색엔진을 바탕으로 한 툴이다
- - WEB OF SCIENCE : http://wokinfo.com/webtools/searchbox/
- 정보는 확실하지만, 업데이트하는데 시간이 걸리는 서치 툴이다. - PubMed : http:/www.ncbi.nlm.nih.gov/pubmed
- 미국 보건소에서 운영하는, 의약/약학/생물 관련 논문이 잘 정리 되어있다.
Google scholar 사용법
- 제목이 나오고
- 초록색은 저자들 + 년도와 저널
- 초록이 3줄 정도 프리뷰 된다.
- Cited by 는 인용된 횟수다.
그 외에 년도별로 볼 수 있으면서, 쌍따옴표를 누르면, 인용하기 쉽게 정리되어 나타난다.
WEB OF SCIENCE는 아래와 같은 인용 논문들에 대한 맵을 제공한다.
일단 회원가입란이 없어서 패스했다.
각종 논문들을 대표하는 수치들
Impac factor
톰슨 로이터에서 제공하는 영향력있는 수치이다.
많은 저널들 중 영향력있는 저널들의 수치를 제공하여, 기관들이 구독시 판단할 수 있게 하였다.
예) IF 32 : 최근 2년동안 Nature Photonics지에 실린 논문들이, 한편 당 32회 정도 인용을 당했다라는 수치이다.
Google scholar profile
한 연구자가 가입만 해놓으면, 년도별로 자신의 논문이 얼마나 인용되었는지 알 수 있다.
h-index
Hirsch라는 사람이 개인의 과학적 연구에 대한 output으로서 h-index를 제안하는 논문을 냈다.
abtracts도 1줄로 깔끔하게 정리하였다.
h-index 30 : 해당 과학자는, 최소 30번 이상 인용되는 논문들이, 최소 3개 있다. 라는 의미이다.
Review journals
어떤 분야는 research하기에 너무 힘들고 많은 논문들이 있을 수 있다.
그래서 많은 논문들을 review만 해놓은 review논문들을 다루는 저널들이 따로 있다.
그 중에 ANNUAL REVIEWS가 가장 영향력이 좋다.
새로운 연구나, 동향을 파악할 때, 굉장히 효율적인 방법이 될 수 있다.
BIBLIOGRAPHY MANAGEMENT S/W : Endnote
이제 찾은 기존 선행연구 논문들을 인용하는 작업을 편하게 해주는 소프트웨어를 비블리오그래피 소프트웨어라고 한다.
흔히들 mendeley를 많이 사용하지만, 대학교에서 제공하는 endnote를 가지고 설명해보자.
- endnote 다운로드 -> 컴퓨터에 설치
- 구글스칼라 -> settings -> bibliography manager를 endnote로 설정 -> 저장
- 구글스칼라에서 논문 검색 -> import into endnote -> 자동으로 저장
- MS word상에서 인용하고 싶은 본문 위치에서 커서를 가져다 놓는다.
- endnote상 떠있는 논문을 확인한다.
- endnote 탭 클릭(설치시 생김) -> Insert Citation -> Insert Selected Citation을 누른다.
자동으로 링크 및 참고논문 정보가 아래에 인용된다.
Endnote를 사용하는 이유는,
제출하여 reject된 저널말고, 다른 저널에 지원할 때, 해당 양식에 맞게 지원해야한다.
이 때, 양식에 맞게 일일히 다 고칠려면 너무 힘들다.
endnote를 이용하면, 각 저널의 양식에 맞게 논문을 작성할 수 있다.
아래 예는 Nature Medicie에 맞게 style이 지정되어있다.
이것을 바꾸면, 양식에 맞게 변형된다.
무료버전의 endnote 설치해보기
- http://my.endnote.com
- 구글에서 인용하여 endnote파일 다운로드하기
- 수집 > 문헌 가져오기 > 파일 선택
가져오기 옵션 > EndNote Import
받는 사람 > 아무거나 선택 - 내 문헌에서 확인
- 다운로드 > Windows 다운로드를 통해 basic버전을 다운로드 후 설치한다.
- MS word로 들어간 다음, Endnote 플러그인 탭을 클릭 한 뒤,
insert Citations 를 선택하고, 키워드를 적으면 논문이 나온다. - insert 하면, 해당 부분에 링크가 걸리면서,
맨 마지막 페이지에 참고문헌 양식으로 자동 작성된다.
'한의대 생활 > 본3 - 논문써보기' 카테고리의 다른 글
9. Revision(논문 수정하기) 와 Appeal 하기 (0) | 2018.09.26 |
---|---|
8. ProofReading(논문의 검토 및 교정 작업)하기 (0) | 2018.09.25 |
6. Introduction(서론) 과 Abstract(초록) (0) | 2018.09.25 |
5. Figures -> Result & Discussion (0) | 2018.09.24 |
4. 논문의 구조 - 결론을 어떻게 이끌어 내느냐 (1) | 2018.09.22 |
6. Introduction(서론) 과 Abstract(초록)
지금까지는 Figure와 Table / 논문의 구조 / Results와 Discussion 에 대해 알아보았다.
오늘은 서론과 초록을 어떻게 써야하는지에 대해 알아보자.
Introduction
서론(Introduction)은 논문의 예고편이다. 서론에서는 꼭 3가지에 대해 답을 해야한다.
- What : 이 논문에서 어떤 주제를 연구해보았는가
- Why : 이 주제가 중요한지, 왜 이 연구를 했는지
- 추가 : 지금까지는 어디까지 알려져있고, 어디까지는 안되있어서 우리가 해보았다라는
선행연구결과로 ---> Why와 How를 연결한다. - How : 그래서 어떻게 해서, 어떤 결과가 나왔는지에 대한 것이다.
Introduction - 첫문단 : 1. What & 2. Why
예를 들면,
Kaist와 관련된 미스터리 중 하나는 교내에서 서식중인 오리들이 왜 도로를 건너는가 이다.
===> What에 대한 대답으로서, 무엇을 했는지에 대해, 우리가 한 연구를 강렬하게 쓴다.
즉, 두괄식으로 강하게, 어떤 연구를 했는지 1~2문장으로 강렬하고 짧게 쓴다.
매일 아침 9시경 오리들은 동측으로 길은 건너고, 오후 4시경 오리들은 서측으로 길을 건너는 것을 반복한다.
===> Why에 대한 대답으로서, 왜 했는지에 대해,
(1) What에 대한 대답문장을 자연스럽게 이어받으면서
(2) 구체적으로 풀어쓰면서 + 왜 이 주제가 흥미로운지 논리적으로 풀어쓰면 된다.
이 주제는 오리들 뿐만 아니라, 일반적인 조류들의 생태습성과도 밀접한 관련이 있을 뿐 아니라, 교통 안전과도 연관되어 있는 중요한 문제이다.
===> Why에서 How로 넘어가기 전에, 이 연구가 중요하다는 것을 독자들에게 떠 먹여주듯이 설명해준다.
(3) 이 주제뿐만 아니라 확장시켜 더 큰 의미가 있따는 것을 강조해준다
하지만 연못으로 수영해서 갈 수 있는데, 왜 굳이 위험한 도로를 건너는지는 전혀 알려진바가 없다.
===> Why에서 How로 넘어가는 과정으로서, 남들이 모르거나 안해본 연구라는 것을 시사해준다.
Introductin - 2번째 문단 : 4. Previous Work(선행연구)
2번째 문단에서는,
What과 Why로 득자의 흥미를이끌어놓은 상태에서, 이를 이어받는데,
지금까지 알려진/연구된 실험을 선행연구로서 소개한다.
이 때, 독자가 공부될 수 있도록 지식을 전달하되, 단순한 사실을 나열하는 것이 아니라 이 연구가 왜 중요한지 부각시키면서 선행연구를 소개해야한다.
예) Kaist 오리들이 수영으로 동/서측을 이동하는 주기성은 연구된 바 있으나( Ref. 1),
도로를 이동하는 주기성을 관찰하고 분석하는 연구는 전혀 시도된 바가 없다.
팁으로서,
- 이 연구가 최초라는 것을 강조할 때 :
(1) 너무 확신적인 표현인 This is the first experimental study 등의 표현은 피하면서
(2) 완곡한 표현인 No experimental study has been reported to our best knowledge 등의 표현을 한다
- 우리가 아는 한, 선행된 연구는 없다...라는... 표현이다. - 기존 연구 언급시, 중요한 것(직접관련된 내용)부터 언급하고, 덜 중요한 것은 나중에 언급한다.
예) Kaist 오리의 예, 서울대 오리의 예, 미국 대학의 오리의 예, ----> , Kaist 고양이의 예, ... - 기존 연구를 시간 순으로 언급할 때 : 마지막에는 그럼에도 불구 하고, 우리의 연구가 가치있다는 것을 강조한다
Recently, ~, More recently ~,
하지만 수많은 시간에도 불구하고 Kaist 오리들은 왜 ~ still remained unanswered - 마지막에는 다시 한번 우리의 연구가 중요하다는 것을 강조하는 문장을 반복해서 쓴다.
예) 오리들이 도로를 건너는 이유를 밝혀낸다면, 오리들의 하루 일과를 파악하는데 도움을 줄 수 있을 뿐만 아니라, 교내 교통 안전 시스템 향상에 기여할 수 있을 것이다.
Introduction - 3번째 문단 : 5. How
이제 문단을 바꾸어서, How라는 질문에 답변을 해야한다.
어떻게 연구를 했는지, 어떤 결과를 내는지, 어떤 방법을 사용했는지에 대한 핵심방법론을 기술한다.
이것은 앞의 Conclusion(결론) 문장과 같을 것이다.
예) Here, we present an experimental study to systematically investigate 오리들이 도로를 건너는 패턴과 이유,
using GPS-equipped drones.
논문의 제목도 나올 수 있다.
Experimental study 오리들이 도로를 건너는 패턴과 이유, using GPS-equipped drones
다음 문장에는 구체적인 실험 방법/내용들을 소개한다.
예) 6개월 동안 매일 오전과 오후에 걸처,
kaist 오리들이 도로를 건너는 패턴을,
GPS가 장착된 드론들을 이용하여 측정하여,
우리가 개발한 알고리즘을 통해 분석하였다.
이어서, 결과들을 설명해준다.
예) 이를 통해, 오리들의 도로횡단은 주변산책로에서 서식하는 고양이들의 행동양식과 매우 밀접한 관계가 있다는 것을 밝혀냈다. (결과1)
고양이들이 오리 연못근처로 이동하는 오전 9:30 +/- 15분경에 오리들은 동측으로 횡단하는 것을 발견하였고,
고양이들이 산으로 올라가는 오후 4:30 +/-15분경 다시 서측으로 횡단하는 것을 확인했다.
(결과1에 대해 구체적으로 풀어준다)
고양이들을 강제로 이주시킨 한달간, 오리들은 이러한 횡단패턴을 보이지 않았다.
또한 연못을 수영하지 않고 위험한 도로를 건너는 것은 위협을 느낀 상태에서 오리의 뇌에서 분비되는 Kaitronin호르몬의 분비와 밀접한 관련이 있는 것으로 보인다.
(다시한번 결과들을 hige-level 수준의 disccussion으로 풀어준다.)
요약
- What / Why
- 기존 선행연구
- How
으로 구성된 Introduction을 작성한다
Abstract(초록)
- Introduction을 다시 한번 더 요약하지만, Copy-and-paste는 금물이다.
- 간략히 쓰길 원한다면, What + How만 or How만 쓴다.
- ABSTRACT 자체로 독립된 글이 되어야한다.
cf) 약어를 초록에서 쓰지않는 것으로 한다. 만약 쓴다면, introduction에서 다시 한번 define해준다.
예) How만 요약한 것이다.
We investigate 오리들이 도로를 건너는 패턴 and found 이유, using GPS-equipped drones,
오리들의 도로 횡단은 주변 산책로에서 서식하는 고양이들의 행동 양식과 매우 밀접한 관계가 있다는 것을 밝혀냈다.
이러한 오리들의 도로 횡단 행동양식은 고양이들의 계획된 집단 이주를 통해, 더 확실히 규명되었으며,
위협을 느낄 때 발현되는 Kaitronin 호르몬과의 관련성도 연구했다.
빨간 것은 핵심문장이다.
'한의대 생활 > 본3 - 논문써보기' 카테고리의 다른 글
8. ProofReading(논문의 검토 및 교정 작업)하기 (0) | 2018.09.25 |
---|---|
7. References 정리 하기 (0) | 2018.09.25 |
5. Figures -> Result & Discussion (0) | 2018.09.24 |
4. 논문의 구조 - 결론을 어떻게 이끌어 내느냐 (1) | 2018.09.22 |
2. Table 만들기, 리스팅하여, 목차 만들어보기 (0) | 2018.09.21 |
5. Figures -> Result & Discussion
Figure가 모두 완성되면 Results 섹션을 쓰자.
Result를 쓸 때에는, Figure에 있는 모든 결과를 차근차근, 빠짐없이, 논리적으로 써야한다.
- 차근차근 : 상대방도 알거라고 생각하여, 빼먹는 경우를 주의한다.
- 사람들이 어디까지는 알고, 어디까지는 모르는지 고민하여 되도록이면 가장 쉽게 쓴다. - 빠짐없이 : Figure안에는 Sub Figure들이 여러개 있다.
- sub figure중 그림만 봐도 알 것같은 부분이 있더라도, 빠트리지말고 설명하자
- Figure에 나온 수식 , 그래프가 나왔다면, Result에서 수치들을 모두 설명해야한다 - 논리적으로 : 이러한 결과가 나왔으니 --> 이러한 논의를 할 수 있다는 점에서, 논리적 비약이 없는지 체크한다.
Results에서, 한 문단(paragraph)에서는 하나의 내용만 담자!
- 1번째 문단 : 이 논문에서의 핵심아이디어(결론 중 1)는 이것이다.
- 2번째 문단 : 이 아이디어의 검증을 위해 고안한 장치를 설명한다.
- 3번째 문단 : 핵심아이디어(결론 중 1) 검증을 위해 실행한 실험1을 설명한다.
- 구체적으로 이러이러한 분석을 해서, 이러한 결과1가 나왔고, 무슨 의미인지 - 4번째 문단 : 실험 결과1가 이러한 의미를 가졌다는 것을 설명한다.
- 5번째 문단 : 새로운 질문 혹은 의문점이 있을 수 있어서, 실행한 실험2를 설명한다.
- 6번째 문단 : 실험 결과2가 이러한 의미를 가졌다는 것을 설명한다.
- 7번째 문단 : 다른 분야에도 적용되는지 보려고, 실행한 실험3를 설명한다.
- 8번째 문단 : 어떠한 상황에서는 문제가 될 수 있기 때문에, 실행한 실험4를 설명한다.
Results의 각 문단은 항상 두괄식으로!
각 문단의 핵심은, 각 문단의 제일 처음에 배치 한 뒤, 뒤로가면서 구체적으로 부가설명하자.
Results의 각 문단내에서의 논리 흐름
- Narrative explanation : Figure에 대한 결과부분을 차근차근 빠짐없이 다 설명해야한다.
- 우리는 핵심아이디어를 검증하기 위해서, ~ 를 하였다
- 조금 더 구체적으로
- 아주 구체적으로
- - Justication : 이러한 결과가 틀리지 않았다는 정당화를 해준다.
- 검증 실험 소개로 '말이 된다'
- 다른방식의 측정(or 기존 방법)으로 결과를 검증으로 '말이 된다'
- 기존 문헌 / 수학적 결과에 따르면 '말이 된다' ( 내용이 많아지면 다른 문단으로 옮긴다 ) - Logical developments : 앞서 나온 결과들(Results)와 우리가 주장하는 결론(Conclusions)이 어떻게 연결 되는지 설명해준다.(새로운 문단으로 빼는 경우가 많다)
- 확실할 때 : this result indicate / show / present ~
- 다른 가능성도 있어서, 100% 확신은 안될 때 : this result suggest / imply ~
예를 통해 살펴보자.
다른 예를 보자.
핵심문장 -> 방법 -> 결과1 -> 결과2 -> 결과가 기존방법과 잘맞는다 -> 좀 더 통계적으로 분석하였다
의 순서로 논리적이면서 구체적으로 써내려간다.
Results & Discussion에서 문단 간 논리적 연결
앞 문단과 뒷 문단이 재밌게 연결되어야한다.
- 먼저 재밌고 중요한 결과(핵심결과) 먼저 첫 문단으로 낸다. -> 부차적인 결과를 다음 문단으로 낸다
- 단순한 결과를 먼저 낸다 -> 그 다음 문단에서 심화된 결과를 낸다
- 독자들은 처음부터 어려운 것으로 내면 이해를 잘 못하고 흥미가 떨어진다. - 예상되는 결과를 먼저 낸다 -> 예상 어려운 결과를 다음 문단으로 낸다
- 누구나 예상되는 결과를 먼저 보여주어 이해를 시킨 다음, 예상치 못한 결과를 나중에 얘기해준다.
- Results 파트를 쓰다보면, 기본적으로 예상되는 결과를 쓰다가(실험을 하다가),
논문의 완성도를 높이기 위해 실험들 추가적+ 깊게 판 연구를 더 하게 된다. 아래 예를 보자.
Results(결과) 와 Discussion(논의)를 구성하는 2가지 방법
어떤 방법을 선택하든, 결과와 논의가 헤깔리지 않는 선에서, 독자가 구성이 보이도록 쉽게 만든다.
Discussion에서 항상 현재형으로 사용하자
- 현재형 : 지금 논문상 서술하고 있는 내용. 더 생동감이 있게 읽힘
- 과거형 : 논문 앞쪽의 실험들(Results파트)
- 과거완료형 : 기존 연구들, 과학자/인용문구 등등
Discussion에서 다룰 내용
결과(Results)가 왜 ----> 결론(Conclusion)이 되는지를 설명하는 것이다.
이러이러한 실험 결과들이 ----> 이런 결론으로 도달하는지에 대해서, 아무런 의혹과 의문없이 간다는 것을 설명해야한다.
그러기 위해서는 아래의 질문들이 논의에서 해소가 되어야 독자들도 궁금증이 해소가 될 것이다.
- 이 연구가 왜 중요한지(겸손하게 쓴다고해서, 이 논문의 장점을 안드러나게 하면 안된다)
- 이 논문의 장점을 명확+구체적으로 설명함으로써, 리뷰어들이 찾을 수 있는 것에 대한 대응도 된다. - 새로운 Finding을 다시 한번 강조하자.(여러번 반복해서)
- 실험결과가 어떤 의미가 있는지,
- 기존 연구자들에게 어떤 도움을 줄 수 있는지, 미래에는 어떤 것이 가능할지 - 이 연구의 한계 및 단점도 솔직하게 쓰자.
장점 강조는 구체적으로 하자.
단점, 한계점에 대한 언급도 명확하게 명시해준다
리뷰어들은 ' 이런 결정적인 단점을 명시하지 않았네? 숨길려고 하나? '라며 부정적으로 볼 수 있다.
그리고 중요한 것은, 장점 > 단점 > 대안점 까지 제시를 해야한다.
예를 한번보자.
한 파장에 대해서만 실험하였기 때문에, 기존의 방법만큼 좋지 않다는 단점이 있다.
나중에는 어떻게 보완해야할지 역시 설명을 해준다.
하지만, 확실한 것이 아니므로 may be used to라는 단어로 언급하였다.
뭐가 새로운 지 강조
독자들은 과거에 어떤 연구가 있었는지 모른다.
그리고 과거의 기술과는 어떤 차이가 있는지 역시 모른다
기존의 연구는 A에 의한 것이고,
현재의 연구는 B에 의한 것이라고 확실하기 언급을 해주어야한다.
또, 같은 분야에 대해 같은 저자가 논문을 작성하는 상황이라면,
리뷰어들은 비슷하게 볼 수 있다. 그리고 무슨 차이가 있는지도 모를 것이다.
기존 나의 연구에 비해, 지금 나의 연구에 중요한 진보가 있다는 것을 강조해준다.
즉, 어떤 부분은 비슷하지만, 구체적으로, 기본적으로 어떤 부분이 다르다는 것을 강조한다.
Discussion의 마지막 문단 : 전망
연구라는 것은 기존의 연구에다가 새로운 것이 하나씩 들어가는 것이므로
다음에 이어질 연구까지 제시할 수 있다.
우리가 만든 것은 ~~ 것이다.
- 어디에서 사용할 수 있다
- 어디어디에도 사용할 수 있다.
- 어떤 처리를 이용하면, 확장되어 저러저러한 곳에서도 사용할 수 있을 것이다.
- 미래에, ~것도 가능할 것이다.
종합 : Fig -> Result & Discussion
- 두괄식으로
- 차근차근 읽기 쉽게 빠짐없이 - 독자입장에서
- 쉬운 단어로 쉽게 쓰기 - 내용은 깊이가 있어야한다
- 독자 입장에서 궁금할만한 것을 고민
- 비중과 위치로 중요한 부분을 강조 (+그림까지)
- 모든 결과를 논문에 다 넣지마라
- 결론이 정해진다면, 결론을 제일 효과적으로 설명하기 위한 결과물만 취사선택 + 배치 한다
- (고생한 것을 다 넣으려고 하지마라)
'한의대 생활 > 본3 - 논문써보기' 카테고리의 다른 글
7. References 정리 하기 (0) | 2018.09.25 |
---|---|
6. Introduction(서론) 과 Abstract(초록) (0) | 2018.09.25 |
4. 논문의 구조 - 결론을 어떻게 이끌어 내느냐 (1) | 2018.09.22 |
2. Table 만들기, 리스팅하여, 목차 만들어보기 (0) | 2018.09.21 |
3. 왜 논문을 써야하는가? (0) | 2018.09.21 |
4. 논문의 구조 - 결론을 어떻게 이끌어 내느냐
논문의 구조는 쉽게 주장하고자하는 것을 잘 전달하는 스토리텔링을 잘하는 것이다.
친구들에게 새로운 개념을 설명할 때, 재밌고 쉽게 전달하는 사람이 있다.
이것은 구조를 어떻게 짜느냐에 따라서 쉽고 재밌는 논문과 어렵고 재미없는 논문으로 결정된다.
결론을 제일 먼저 써라
여기서 말하는 결론이라는 것은 논문의 Conclusion 파트가 아니라 이 논문을 통해 결국 하고자 하는 얘기가 먼지를
즉, '그래서 너희가 새롭게 알아낸 것이 먼데? '를 한 문장으로 연구의 핵심을 요약하는 것이다.
처음 우리가 계획한 대로 실험결과가 나오진 않는다. 그러다보니 새로운 발견을 하게되고, 사람들에게 발표할만한 가치가 있는 결과라고 한다면, 거기에 맞춰서 페이퍼의 결론이 새롭게 나와야한다.
- 만약 A라는 실험이 하다가 실패하고, 새로운 B라는 실험을 해서 새로운 결과가 도출되었다면,
A -> 실패 -> B 의 과정을 모두 설명할 필요는 없다.
논문이라는 결과는 결국엔 하고자하는 주제는 하나가 되어야하고 그것을 효과적으로 전달해야한다.
즉, B라는 결과가 중요하다는 것을 강조한다.
예를 들어, 사람들은 ~까지밖에 몰랐는데, 우리가 B를 했더니 이러한 결과가 나왔어! 여기에만 집중을 한다.
똑같은 결과라 할지라도, 재밌게 논문을 쓴다면 연구의 Impact는 확 올라가게 된다.
결과는 한문장으로 써야한다. 그리고 그것은 쉽지가 않다. 그럴 때는 키워드 몇가지를 생각한 뒤 결론을 도출한다.
한 초록을 예시로 보자. 앞부분은 A연구가 있었으나 어떤부분이 안되었는지에 대한 것이며 핵심문장은 빨간 줄이다
그리고 핵심어는 3개였다.
- the optical near field : 기존에는 도달할 수 없는 정보였는데, 우리는 control했다는 내용의
핵심 키워드이다. - shaping the wavefront : 핵심을 어떻게 했느냐에 대한 방법이 2번째 키워드였다.
- random nanoparticles : 3번째 키워드였다.
이러한 결론을 바탕으로---> 논문의 순서와 배치를 맞추어쓰면 된다.
즉, 실험결과가 나온상태에서 모두 펼쳐놓고, 모든 실험을 다 넣으면 안되며, 가장 재밌는 결론 1개만 뽑아낸다.
그리고 이 결론을 재밌게 설명하기 위해, 나머지 실험결과들을 잘 배치해본다.
나온 결론을 바탕으로 제목을 정하자
결론의 키워드 3개를, 같은 단어가 아닌 다른단어로 바꾸면서, shuffle하면 제목을 정할 수 있다.
- optical near filed --> Subwavelength light
- shaping the wavefront --> 구체적인 방식 : focusing
- random nanoparticles --> 기존에 없던 방식이라 그대로 유지
- 순서 바꾸기
결론 -> 제목이 나왔으면, 논문의 구성을 짜자.
논문의 구성은, 이미 정해진 결론에 도달하는 과정을, 어떻게하면 쉽고 재밌게 설명할 수 있을지에 대한 것이다.
- 이 방법의 원리는 ~~~~ 이다.
- 그래서 실험1을 해보았더니 ----> 결과1이 나왔다.
- 이 결과는 이런 의미라서 중요하다 ---> Discussion 1
- 하지만, 이러한 질문이 나올 수 있다. 아니면 다른방식으로도 되는지 보고 싶었다.
- 그래서 실험2를 해보았더니 -----> 결과2가 나왔다.
- 이 결과2가 왜 말이 되느냐면
(1) 이전논문에서 ~~
(2) 이론적으로 계산해보면 ~~
(3) 이러한 검증과정을 거쳐서
이러한 방식으로 재밌게 구성을 만든다.
논문의 구성은 Figure로 짜자.
독자의 입장에서 구성을 짜기 위해서는, Figure로 구성을 짜야한다.
왜냐하면, 독자는 제목 -> Abstract -> Figure 순으로 바로 가기 때문이다.( Introduction 부터는 잘 x)
그렇기 때문에, Figure만으로도 논문을 이해할 수 있도록 Figure를 구성하면서, 동시에 논문의 구성을 반영해야한다.
이 때, 모든 결과들을 책상에 나열한 다음, 어떤 순서대로 배치할지를 고민해보자.
- Figure 1에서는 Diagram등을 활용하여, 우리가 하는 실험의 핵심 원리를 이해시킨다.
- Figure 2에서는 결과1에 대한 것 - Result 1& Discussion 1
- Figure 3에서는 결과2에 대한 것 - Result 2& Discussion 2
형태로 Figure와 Result 와 Discussion 이 함께 따라다닌다.
논문의 가지고 예를 들어보자.
Optogenetics라는 것은 cell의 작용을 빛으로 조절하는 것이다.
세포 표면이나, 세포 내의 단백질을 조작한 뒤,
조작한 단백질에 특정파장을 빛추면, 특정 시그널을 작동시킬 수 있다.
예를 들어, 빨간색 빛으로 단백질이 조작된 세포의 어떤 부분을 Turn on시키거나 Turn down 시킬 수 있다.
이것을 살아있는 사람의 뇌에 적용시키고 싶은데,
문제 : 어떻게 그러한 빛을 사람의 뇌까지 전해주느냐 에 대한 방법(대안)을 제시한 논문이다.
- Figure 1
먼저, 사람들의 뇌까지 특정 파장의 빛을 전해주어서, 세포를 조작하는 원리를 쉽게 그림으로 그렸다.
- a : 일반적인 문제점이다. 빛들이 다 산란되어버린다.
- b : 현재의 방법이다. 하지만 문제가 되는 부분으로서, 뇌에 구멍을 뚫으면 살아있지를 못한다.
- c : 우리가 제안하는 미래의 기술, 방법이다. 빛이 한점으로 모이는 기술을 만들고 싶다.
현재의 Method와 우리의 Proposal을 그림으로 설명한다.
독자들이 어떤 것은 알고, 어떤 것은 모르며, 모르는 부분을 어떻게 설명할까를 생각한다. - Figure 2 : 첫번째 실험의 결과 (결과1)
- Figure1에서 제시한 것은 원리와 미래의 기술이며,
- Figure2에서는 실제로 우리가 한 실험은 뭔데? 라는 것에 대한 답변이다.
- a, b, c, d 순서로 실험세팅 -> 실험방법 -> 현재 문제점 -> 실험결과 Before & After -> After의 반복실험
- 즉, 상대방과 대화를 한다고 생각하면서, 쉬운 것부터 차근차근 배치한다. - Figure 3 : 두번째 실험의 결과 (결과2)
- 우리의 실험결과1이 ---> 실제상황에서도 잘 되는지에 대한 실험결과이다.
- 제어전 / 제어후 / 제어에 대한 결과를 정리한다.
- 또 사람들이 궁금해할 같은 것(질문으로 나올 만한 것)을 다시 실험해서 보여준다.
- 실험순서와 논문의 순서는 같지 않다는 것을 명심해야한다.
'한의대 생활 > 본3 - 논문써보기' 카테고리의 다른 글
6. Introduction(서론) 과 Abstract(초록) (0) | 2018.09.25 |
---|---|
5. Figures -> Result & Discussion (0) | 2018.09.24 |
2. Table 만들기, 리스팅하여, 목차 만들어보기 (0) | 2018.09.21 |
3. 왜 논문을 써야하는가? (0) | 2018.09.21 |
1. figure 작성방법 (4) | 2018.09.18 |
2. Table 만들기, 리스팅하여, 목차 만들어보기
엑셀 테이블을 paper용 테이블로 바꿔보기
0. 글자체 지정 및 테이블 요소들은 전부 가운데 정렬해주기, 글자크기 11pt로 맞춰놓기
1. 줄간격 지정하기
- 줄간격이 바뀔만한 요소들 선택 (테이블 이름이 있을 경우, 그놈 제외)
- 홈 > 선/단락 간격 > 줄간격 옵션
- 간격탭 > 4개요소 모두 0,0, 고정, 11pt 로 수정
줄간격옵션에서, 1.0 -> 1.15 왔다갔다해보니, 현재 상태는 너무 타이트해져있다.
다시 줄간격 옵션으로 들어가서 -> 0, 0, 고정, 12pt로 수정
2. 테투리 없애기 -> 레이아웃>눈금선보기를 통해, 점선으로 보기
나중에 작업이 끝난 뒤, 눈금선 보기를 풀면 된다.
3. 타이틀이름 라인과, 맨마지막 합계라인 만 top & bottom 테투리 주기
4. 표를 전체 선택 한 뒤, 맨 왼쪽라인과, 맨오른쪽 라인 조절을 통해 전체적으로 축소시키기
6. 테스트 데이터들도 반영하기 위해, 총합row 아래 셀 추가해준 뒤 -> 줄 간격 다시 지정해주기
7. 취향에 맞게 테스트데이터 라인 바꿔주기
8. 테이블 큰제목은 구체적으로 바꾼 뒤, 왼쪽정렬해준다.
9. 표 위에 테이블 캡션명을 만들고, 아래에서 학습하는 캡션을 달아준다.
10. 테이블 큰제목을, Panel A.라 두고 Panel B : 를 더하고 싶다면
- 맨 아래 한줄을 추가 -> 셀 모두 분할 -> 모든 테두리를 해준 상태에서, --> 아래로 row들을 추가해준다.
11. Panel B : 라인은 셀 병합 후, 이름을 적는다.
12. 연습삼아, Variable로서 Size와 Age를 가지는 데이터를 생성해보자.
먼저, row들을 6개 정도로 추가해준다.
만들어진 PanelB 전체를 선택 한뒤, 글자체와 줄간격을 위에서 했던 것처럼 지정해주자.
13. Variable칼럼 및, 그 세부요소들 5개 칼럼명을 적어주고, Variable의 요소로서 Size와 Age row를 만들어준다.
14. 1번째 row에는 셀병합을 시켜 큰 칼럼을 적어주자. 그리고 맨 마지막 총합row를 제외하고 필요없는 row들은 지워주자.
15. 이제 처음에 했던 것처럼, 테두리를 모두 없애고 시작한다.
16. 총합row의 아래쪽에 테투리를 넣어준다. 그리고나서 Mean for 의 큰칼럼의 아래 테두리를 넣어준다.
17. 위의 그림과 같이 Mean for 아래 테두리를 그렸으나. 버그로 인하여 앞쪽까지 테두리가 그어진다면
(1) 요소들의 첫번째 row에서 위쪽테두리를 쳐준다.
18. 이제 칼럼명 row를 bottom 테두리 쳐준다.
19. 전체적인 Table의 조감을 보기 위해서, 홈>편집기호 표시/숨기기를 클릭해서 살펴본다.
(셀선택 안한상태에서 해야함, 나는 그래도 보여서,, 인쇄미리보기를 선택해서 보았음)
20. 이제 Table명, Panel명을 Bold(진하게) 표시를 해준다.
21. Table 이름에서는, 보기>눈금자>를 표시 한 뒤, Panel보다 뒤쪽으로 들여쓰기해준다.
(눈금자 위쪽은 첫줄, 아래쪽은 이후로 모든 라인의 들여쓰기를 지정한다)
22. 표 아래에다가 Notes를 표시해보자.
(1) 테이블명은 12pt, Times New Roman
(2) 표 안의 Panel부터 모든 요소는 11pt, Times New Roman, 줄간격 0, 0, 고정, 12pt
(3) Notes가 적히는 쪽은 --> Table 안의 요소들 보다 1씩 낮춘,, 10pt 줄간격-고정11pt 로 해준 뒤,
들여쓰기는 Table bottom 테두리보다는 조금 더 오른쪽에서 시작하도록 해보자.
오른쪽 들여쓰기도 오른쪽 bottom 테두리보다는 조금 더 안쪽에서 끝나도록 조정하자.
23. 다시한번 표를 전체선택하여, 줄간격이 - 고정- 12pt인지 확인하자.
24. 만약, 최상단, 최하단의 테두리를 진하게 하고 싶다면,
디자인 > 선 굵기를 1 1/2 pt로 수정 > 그대로 마우스로 원하는 선을 draw해주면 된다.
25. 글속에 테이블 캡션을 넣어보기( 문장 + 띄워쓰기 <----> 마침표 직전에 넣기)
(1) 테이블이 위치할 문장 속에 커서를 두고, 참조> 상호참조를 클릭한다.
(2) 참조할 대상에서, 해당 캡션을 선택하고 --> 레이블과 번호만 --> 사용할 캡션에서 테이블명을 선택하고 삽입한다
(3) 넣고 난 뒤에는, 직접 괄호를 쳐준다.
Figure를 가져온 뒤, 캡션을 달아주고, 문장에 삽입하기
1. 처리가 완료된 그림을 붙혀넣는다.
2. 해당 그림을 선택 한 뒤, 참조 > 캡션 삽입 > 레이블을 Figure로 선택한다.
3. 그림 아래에 달린 Figure 1. 에 대해 글자를 적은 뒤, 테이블 처럼 똑같이 상호참조를 통해 문장속에 집어넣는다.
테이블에 캡션레이블 지정 및 캡션 달기
1. 기존 데이터에서 Table형태의 데이터를 가져온다.
2. MS에서 붙혀넣는다.
3. 표를 선택한 뒤, 참조> 캡션 삽입 을 선택한다.
만약, 테이블이 1개가 아니라 리스트로 있다면, 기존 레이블에서 Table을 선택하는 대신,
캡션 삽입 > 새 레이블을 만든 뒤 > Table 1. 까지 입력해준다. 뒤에 1. 1, 1.2, 등으로 나타난다.
4. Table 캡션부분을 선택하여, 전체 전반적인 글자체/글자크기/색을 선택해준다.
- 글자체(Time New roman, 12 포인트, 검은색 선택) 결정하기
5. Table 캡션부분의 양식이 다 만들어지면 블록지정한 뒤, 스타일 > 캡션에서,
우클릭을 눌러, [ 선택 영영과 일치하도록 캡션 업데이트]를 해준다.
6. 2번째 테이블의 Table 제목의 맨앞에다가 커서를 놓고, 캡션 삽입을 눌러준다.
7. 이전에 만든 캡션을 선택하면 1. 2로 배정된다.
만든 Table의 목차 만들기
1. Figure가 아닌 Table이라도 참조 > 그림 목차 삽입을 선택한다.
2. 목차로 만들 캡션 레이블을 선택한다.
2. 수정을 누르면, 목차의 양식을 바꿀 수 있다.
-여기서는 Time New Roman 체, 10pt로 작성하였다.
Figure도 마찬가지로 만들어준다.
- 캡션 레이블(Fig 1.) 만들기
- 해당 레이블에 해당하는 Figure들에 캡션 달기(맨 첫줄 클릭상태)
- 참조->그림목차삽입-> 캡션 레이블 선택 -> 글자체 수정
리스트의 업데이트 시켜주기
리스트나, 문장 안의 해당 캡션이 업데이트가 안되었을 때는, 일부 or 문서 전체선택을 한 뒤,
우클릭 > 필드 업데이트 를 통해 업데이트시켜준다.
'한의대 생활 > 본3 - 논문써보기' 카테고리의 다른 글
6. Introduction(서론) 과 Abstract(초록) (0) | 2018.09.25 |
---|---|
5. Figures -> Result & Discussion (0) | 2018.09.24 |
4. 논문의 구조 - 결론을 어떻게 이끌어 내느냐 (1) | 2018.09.22 |
3. 왜 논문을 써야하는가? (0) | 2018.09.21 |
1. figure 작성방법 (4) | 2018.09.18 |
3. 왜 논문을 써야하는가?
왜 논문을 써야하는가?
현재의 논문은 교수나 연구원의 주요 실적이 된다.
논문의 역사
역사적으로 논문의 목표는 과학기술의 전파이다.
최초의 논문는 뉴턴이 어떤 책을 읽고 쓴 Letter형태이다.
17세기까지는, 과학자들이 몇년간의 연구를 끝내고 이해를 바탕으로 책을 내는 것이었다.
책을 내는 과정도 오래걸리니 전파의 문제가 생겼다.이후에도 소수의 커뮤니티에서만 알림으로서, 전파가 제대로 이루어지지않았다.
또한, 편지나 책으로 낸 것에 잘못된 검증이나 오류를 가지고 있는 경우, 잘못된 개념을 바로 잡는데에 수많은 시행착오와 시간이 소모되었다.
그리하여 새로운 시도가 나타난 것이 17세기 중후반의 과학저널이다.
- 최초의 저널은 프랑스의 학술지였는데, 교회역사나 법률용어에 대한 것으로, 과학과는 거리가 멀었다.
- 영국에서 Philosophical transaction이라고 하는, 세계 최초의 과학논문을 모아놓은 저널이 출시되었다.
이러한 저널을 기점으로, 과학자들이 저널에 투고하게 되면, 전문가들이 심사를 해서 투고하게 되는 시스템이 시작되었다. 당시에는 과학을 science가 아닌 Nature Philosophy라 불렀기 때문에, 위와 같은 명칭을 가지게 된다.
현대의 과학 학술지(사이언틱 저널)
참고)
참고로 PLOS one이란 저널은 PLOS에서 런칭한 open access 저널입니다. 즉 잡지로 출판하지 않고 온라인으로만 퍼블리쉬 하죠. 그래서 퍼블리시 하는 논문이 일년에 수만편입니다. 그 양으로 거의 세손가락 안에 드는걸로 알고 있습니다.
PLOS one이란 저널의 목표가 에디터나 리뷰어의 개인적인 선호도 혹은 논문의 중요도가 밀려서 퍼블리쉬 하지 못하고 리젝되는 일을 없애고 오로지 독자가 그 논문의 중요성을 판단할 수 있도록 하기 위함입니다.
그래서 PLOS one은 method만 technically sound하면 일단 모두 accept해주기 때문에 accpetance rate이 상당히 높습니다.(PLOS 홈페이지에 저널에 대한 소개를 보면 잘 나와 있습니다.) 따라서 상당히 fancy하고 재미있는 결과들이 자주 실리기도 합니다. 물론 그만큼 질이 떨어지는 논문도 많지요.
PLOS one은 또한 기존의 SCI및 impact factor라고 하는 어떤 짜여진 질서? 를 거부하는 저널입니다. 따라서 PLOS one의 IF를 가지고 말하는 것은 사실 저널의 취지와 맞지 않는 것입니다. 굳이 말씀 드리자면 12년도에 조금 떨어지긴 했지만 4점정도를 유지하고 있습니다.
하지만 우리나라의 특성상 IF를 중요시 하고, 따라서 어떻게 보면 저자들에게는 좋은 기회가 될수도 있습니다.
PLOS one이 근래에 큰 성공을 얻고 그 취지에 많은 공감을 받으면서 여러 회사에서도 PLOS one과 같은 취지 및 개념의 open access의 저널들을 많이 런칭하고 있습니다.
물론 이런 저널에 의해서 SCI나 IF라고 하는 질서가 단기간에 어떻게 되진 않겠지만, 앞으로는 많은 변화가 있을수도 있겠다는 생각이 듭니다.
- Nature지 라는 학술지(저널)은 굉장히 출판(퍼블리쉬)하기 어렵고, 성공했다면 가문의 영광이 되는 저명한 저널이다.
요즘은 많은 학술지(저널)들이 생기고, 많은 논문들이 투고되고 출판(퍼블리쉬)된다.
그리고 또다른 흐름으로써,
이전까지는 투고시 학술지에 accept된다면, 해당 학술지에 과학자들은 투고비를 내게하면서, 독자들에게도 해당 논문을 구독할시 돈을 내게한다. 그러다보니 출판사들만 배불러지는 구조를 가지게 되었다.
하지만, 최근에는 Open Access journal이라는 것이 생겨났다.
과학자들의 Scientific Finding을 돈을 내지않고 모든 사람들이 access할 수 있도록 하는 취지가 퍼지게 되었다.
그 중 하나가 PLOS one이다.
출판시 과학자들은 투고비를 내지만, 독자들은 돈을 내지않고 누구나 접근해서 공부할 수 있다.
한편, 대학도서관이나 출판사들은 모든 학술지(저널)을 구독할 수 없다.
그래서 어떤 저널들이 얼마정도의 영향력을 가지고 있는지에 대한 가이드라인으로서 나온 지표가 Impact Factor이다.
그 저널에 실린 논문들이 지난 2년동안, <논문당 몇번 인용>되었는지에 대한 수치를 나타낸다.
이러한 IF를 조사하고 보고하는 회사가 톰슨 로이터스(THOMSON REUTERS)이다. 매년 IF 저널리스트를 발표한다.
저널들의 Scientic Article Publish 시스템
퍼블리쉬 전에, 전문가가 리뷰를 해서 결정하는 시스템이다.
- 과학자가 연구를 해서 논문을 쓴다. 그리고 submit할 저널을 결정한다.
- 꼭 한군데만 투고를 하고 reject시 다른 곳에 투고해야한다.(윤리적) - 에디터들이 양식 검사 & 주제 검사 등의 process를 거쳐 연락을 준다.
- 1차 Accept되었다면, 에디터는 그 분야의 전문가를 찾아서 리뷰를 부탁한다.
- 에디터는 참고논문 or 지인들에게 리뷰를 시킨다.
- 저널마다 다르지만, 리뷰기간은 2주 ~2달, 보통은 2달 정도쯤에 첫번째 결과가 모아진다.
- 2~3명정도의 리뷰어들이 에디터에게 보고서를 제출해준다.
- 1개 이상의 부정적인 리뷰가 존재한다면, Reject하거나
일부수정으로 보완가능성이 보일 때는 저자에게 연락을 주고, 저자는 재투고를 한다.
오리지날 리뷰어에게 다시 리뷰를 받는다.
최종적으로 Accept이 된다.
이러한 과정을 Revision(개정)이라고 한다.
이러한 과정에서 에디터가 무척 중요해 보인다. 에디터가 어떤 리뷰어에게 보낼지가 핵심인 것이다.
객관적인 리뷰를 위해서 블라인드 리뷰를 하기도 한다. 리뷰어들의 신원을 완벽하게 보장하는 방법이다.
에디터는 학교 교수이면서 저널의 에디터인 경우가 많다.
Nature지에서는 박사학위를 받은 풀타임 전문 리뷰어를 에디터로 임명한다.
논문의 종류
Nature지의 볼륨에서 가져온 논문 카테고리는 아래와 같이 REVIEW, ARTICLES, LETTERS로 이루어져있다. 저널마다 이름일 다를 수 있다.
제목과 저자 그리고 Abstract의 일부가 보여진다.
- REVIEW : 새로운 Scientic Finding은 아니지만, 특정분야가 빠르게 성장하고 있으며, 그 분야에 대한 교육이 필요할 때, 그러한 분야를 집대성한 논문이다. 다른사람들도 알기쉽게 정리해서 알려준다.
- 새로운 Scientic Finding에 대한 논문은 2가지 형태로 실리게 되는데, 그것이 ARTICLE과 LETTERS이다.
- 차이점으로는 짧은 것을 LETTERS , 본문이 긴 것을 ARTICLES라고 한다. - ARTICLES
- LETTERS
논문의 구성
- Title : 우리가 한 것이 무엇인지
- Authors : 누가 했는지
- 소속도 같이 포함된다. - Abstract : 논문을 요약한 것. 하나의 독립된 글(홍보)
- Introduction : 서론으로서,
다루는 주제가 이것이 왜 중요한지, 어떤문제가 있었는데 안되어있었다, 과거의 사람들은 이러이러한 실험을 했는데, 이것은 여전히 알려진바가 없고, 우리는 이러한 아이디어를 통해 어떤 실험을 했다. - Results & Discussion :
- 우리의 주장을 위해 실험을 했더니 이런 결과가 나왔다. 이러한 의미가 있다.
- 이 때, 이러한 궁금한 점이 생길 수 있어서 이런 실험도 했더니 이런 결과가 나왔다. 의미는 이것이다. - Conclusions : Summary형식으로서,
- 우리가 뭘 했고,
- 어떤 의미를 가지고,
- 왜 중요한지
- 미래에는 뭐가 될 것이다
- 이 기술은 이러한 장단점이 있다. - Methods : 논문에 쓰인 주요 테크닉들을 정리해서 알기 쉽게 쓴다.
- 예를 들어, 세포를 어떻게 키웠는지 / 어떤 분석방법을 썼는지 / 어떤 장비를 사용했는지 / - Acknowledgements :
- 이 연구를 하기 위해서, 연구비를 얼마를 받았고,
- 중간중간 도와준 사람,
- 저자들 중 이 사람은 특허를 낸 발명권자이다.
- ex> 아스프린 개발결과 와 후원회사 바이엘과의 관계
- 공정함을 위해 작성 - Refenrences
- 과거에 썼던 기술 및 오리지날 Researcher에게 크레딧을 제공해준다.
논문 예시 분석해보기
'한의대 생활 > 본3 - 논문써보기' 카테고리의 다른 글
6. Introduction(서론) 과 Abstract(초록) (0) | 2018.09.25 |
---|---|
5. Figures -> Result & Discussion (0) | 2018.09.24 |
4. 논문의 구조 - 결론을 어떻게 이끌어 내느냐 (1) | 2018.09.22 |
2. Table 만들기, 리스팅하여, 목차 만들어보기 (0) | 2018.09.21 |
1. figure 작성방법 (4) | 2018.09.18 |
1. figure 작성방법
논문 그림 작업도
- 분석 소프트웨어들을 가지고 결과들이 정리가 된다.
- 나같은 경우, 파이썬으로 할 것이다. - 논문의 figure 수만큼 POWERPOINT slide를 작성한다.수정된 다면, 새로운 파일을 만들어 버전을 관리한다.
- 정리된 figure를 바탕으로 MS word로 투고를 한다. 처음 리뷰어들은 해상도 등을 요구하진 않는다.
- 게재 확정이 나면, 편집부로 넘어가게 되어, figure에 대한 독립된 확장자를 요구한다.
- 그 과정에서는 일러스트나 포토샵을 이용해서 tiff나 pdf를 작성한다.
그림을 Vector format으로 그려라
bitmap format과 달리 vector format은 확대해도 깨지지 않는 그림이다.
그리고 하나하나의 선들이 조절가능하다.
- Matlab에서 복사하기 -> PPT에서 붙여놓기 옵션 중, 확장 메타파일(Enhanced metafile)을 선택하면 된다.
- 쥬피터노트북의 경우, 해당항목에서 metafile이 안뜬다. 즉,
(1) 이미지복사 -> 붙혀넣기 안됨
(2) pdf로 저장한 뒤-> 붙혀넣기 안됨.
- 어떻게는 python -> ppt로는 바로 안들어간다. - python pdf 저장 -> inscape로 드래그(복붙안됨) -> ppt 선택붙혀넣기(windows메타파일 만 가능)->그룹해제
- 영어는 사라짐, 한글은 그림으로 남아있음
- grid까지 쪼개짐
python pdf 저장 -> 알PDF로 ppt로 변경 -> 그룹해제( 영어는 텍스트, 한글은 그림으로 취급) - 이제 그림을 선택한 뒤, 그룹을 풀면 하나하나 조작이 된다.
- 이 때, 그래프를 이동시키는 것은 데이터 조작이다. 선 굵기와 색상, 폰트 등을 바꿔준다. - 그림을 가능한 단순하게 사용한다.
- 게제 초기
- 게재 최종
(1) 픽셀을 나타내는 것은 의미가 없다. 왜냐하면, 한 픽셀의 크기를 또 따로 알려줘야하기 때문이다.
제일 좋은 것은, 스케일bar를 하나 두는 것이 좋다.
(2) 그림의 크기를 바꿀 수 있다. - 일정한 비율유지를 해야하며, 수정> 선명도 /대비는 건들면 안된다.
만약을 위해, 가로 세로비율 고정은 항상 체크해둔다.
(3) 테두리는 바로 쳐도 된다.
(4) 컬러맵의 픽셀도 필요가 없다. 삭제시킨다.-->
(5) 그림의 높이를 맞추고 싶다면 align기능을 이용한다. 위쪽 맞춤-> 가로 간격 동일하게
(6) 파워포인트로 옮기는 과정에서 여러개로 쪼개진 테두리는 삭제를 모두 해준 뒤, 테두리를 새로 하나 만들어준다.
(7) 칼라맵의 가로길이는 수정하여도 과학적으로 문제가 없다.
(8) 스케일바는 ppt로 그려준다. 원래 그림의 크기를 알고 있는 상태에서,
원래그림의 길이 : ppt 상 그림의 길이 = 스케일바 단위 : 스케일바의 길이(x) 로 구해서 그린다.
- 최종 게재된 사진
중요한 그림은 크게 그린다.
최초 그림
- 왼쪽 그림이 더 중요하다.
최종 그림
- 중요한 그래프는 크게 그린 상태에서, 부가적인 그래프는 작게 표현한다.
- 벡터포맷연습을 해보자.
(1) 그룹을 풀고, 중복되서 쓸대 없는 벡터들을 제거한다.
(2) 복잡한 x축은 제거한 뒤, 깔끔하게 그려준다.
(3) 특정그래프의 선굵기를 얇게 해주자.
(4) 다른 그래프도 얇게 + 색을 바꿔주자.
최종 그림
그림 배치 순서 : 설명하는 순서대로 나열하자.
a-b-c-d-e 순서대로 논리를 반영하여 나열하자.
파워포인트를 제대로 사용하자
그림을 그릴 때, 복잡한 소프트웨어를 쓰기보다는, 파워포인트로 다 해결할 수 있다.
1. 다각형 그리는 팁
(1) 사각형을 넣고 (2) 우클릭 -> 점 편집 (3) 마음대로 조절하기
2. 적혈구 모양의 도넛 그리기
원-> 적혈구 표면색 -> 표면색과 똑같은 네온효과 -> 표면색보다 진한색으로 최외곽선 -> 작게 복사
-> 최외곽 진한선 없애기 -> 2 도형을 비대칭으로 얹기
3D s/w 활용하기
입체감을 주기 위해서, 모식도를 모델링할 때 사용한다.
1. 입체감 : 3d max, 구글 스케치 등
2. 색을 입히기 : 랜더링 소프트웨어라고 함
그림 용어들
그림의 Color Format
그림의 Resolution(주로 dpi로 얘기함)
- dpi : dot per inch(2.45cm) : 한 inch , 즉 2.45cm 안에 몇개의 점들로 표현하는지이다.
- PNAS라는 저널에서 제공하는 가이드라인
논문은 보통 2columns로 이루어져있기 때문에, 해당 양식에 맞게 그림을 만들어야한다.
PPT -> TIFF 변경방법
만약 PPT로 그린 그림을 통해 논문이 accept이 되었다면, 저널의 출판부에서는 양식에 맞게 figure를 저장하라고 요구를 한다.
TIFF : 비트맵 format ==> TIFF로 변환시에는 포토샵을 이용하면 유리하게 바꿀 수 있다.
Ai : 벡터 format ==> ai로 변환시에는 일러스트를 이용하면 유리하게 바꿀 수 있다.
PPT의 그림 --> 포토샵에서 TIFF로 저장하는 법
- 파워포인트에서 1 Slide = 1figure 형태로 그린 그림을 우클릭->복사를 선택한다.
- 포토샵을 켜고, 붙혀넣기를 통해 새로 만들기를 클릭하여, 해당사항을 확인한다.
-이미지가 896KB밖에 안되는 비트맵으로 저장된다면, 그림이 다 깨질 것이다. - PPT에서 해상도를 먼저 올려야한다.
- 디자인 -> 슬라이드크기 -> 사용자 지정 -> 현재의 너비와 높이를 확인 한다.
- 슬라이드크기를 사용자지정으로 바꾼 뒤 -> 적당히 너비와 높이를 대략적으로 배수를 곱해서 확대시켜준다.
여기서 각각 4배씩 해보자( 너비 35 * 4 = 140, 높이 20*4 = 80)
-이 때, 반드시 최대화를 해줘서, 그림 글자도 같이 늘인다.
- 수작업으로 틀어진 부분을 수정한다. 그림과 글자가 슬라이드크기만큼 확대되면서, 해상도도 올라간다 - 포토샵에서 다시 한번 붙혀넣어서 새로만들기를 해보면, 이미지크기가 13.3M정도로 훨씬 커져있다.
- 파워포인트에서 비어있는 여백을 포토샵->이미지탭->재단-> 모두 체크후 확인을 누르면,
trim들은 다 날아가고, 깔끔하게 이미지만 남는다. - 이제 포토샵->이미지탭-> 이미지 크기를 눌러서 사이즈를 조절해준다.
- 픽셀치수는 이미지 파일 크기이며, 폭과 높이가 나온다.
- 문서크기에 있어서, 해상도 72상태에서는 폭 82cm, 높이 65cm로 어마어마하게 큰 상태이다.
(1) 해상도를 600dpi
(2) 폭을 1columns라면, 20.5 파이카 / 2columns라면 42.125 파이카를 입력하면,
자동으로 높이는 계산되서 나온다.
(3) 이 때 주의해야할 것은, 12.7M -> 9.32M로 이미지 파일크기가 줄어야 정상이다.
만약, 이미지 파일 크기가 커진다면, 해상도가 뻥튀기 된, 픽셀만 확대되어 꺠진이미지이다.
만약, 크기가 늘었다면, 파워포인트의 슬라이드 확대를 다시 한번 조절해준다. - 파일> 다른이름으로 저장을 눌러 나오는 창에서
(1) TIFF포맷으로 저장한다. 이 때, 레이어를 체크해제 한다.
잘 그리는 법
여러 paper를 읽으면서, 따로 그림을 저장해놓았다가, 그리는 연습을 해야한다.
- 색깔, 선굵기 등등을 잘 보고 따라해본다.
'한의대 생활 > 본3 - 논문써보기' 카테고리의 다른 글
6. Introduction(서론) 과 Abstract(초록) (0) | 2018.09.25 |
---|---|
5. Figures -> Result & Discussion (0) | 2018.09.24 |
4. 논문의 구조 - 결론을 어떻게 이끌어 내느냐 (1) | 2018.09.22 |
2. Table 만들기, 리스팅하여, 목차 만들어보기 (0) | 2018.09.21 |
3. 왜 논문을 써야하는가? (0) | 2018.09.21 |
그림 및 글작성에 대한 도움 출저 : 유튜브 - 테리 엄태웅님의 딥러닝 토크
개요
딥러닝에 있어서, Accuracy말고도 여러가지 metric을 보아야하는 것 중 하나가 ROC커브이다.
저번시간에 다룬 아래의 4가지 개념에 대해서 다시한번 상기해보자.
- True Positive : 올바른(예측)값들에 대해서, (실제값도) 올바른 경우,
- 혼동행렬에서의 \ 대각선 라인을 의미(전체클래스의 TP) - True Negative for 특정클래스 : 거절해야할 (예측)값들에 대해서, (실제값도) 거절되어야하는 경우,
- False Positive for 특정클래스 : 올바른 (예측)값에 대해서, (실제값이) 거절한 경우,
- False Negative for 특정클래스 : 거절해야할 (예측)값들에 대해서, (실제값이 거절하지못하고) 올바른 경우
다르게 해석해보면, True/False는 예측값이 실제값과 같다/다르다를 얘기하는 것이다.
True인 경우는 실제값과 같으니 \ 대각선 방향에 위치하게 된다. 그 이외 박스들은 다 False라 보면 된다.
Positive/Negative는 예측값이 어떻게 나왔는지이다.
여기서는, 4가지 경우에 대해서만 다루니, 이렇게 해석이 가능한 것 같다.
예를 들어, True Positive 는 실제랑 예측이랑 같은 레알, 그 예측값이 양성으로 나온 경우이다.
True Negative는 실제값과 예측값이 같은 레알, 그 예측값이 음성으로 나온 경우이다.
False Positive는 실제랑 예측이랑 다른 거짓으로, 그 예측값이 양성으로 나온 경우이다.
- 거짓이려면, \대각선 이외의 값들 중에서 --> 예측값이 양성인 암으로 예측한 경우이다.
- 쉽게 외우려면, False Positive = False Alarm 거짓으로 알람이 울렸다고 외우면 된다.
False Negative는 실제랑 예측이랑 다른 거짓으로, 그 예측값이 음성으로 나온 경우이다.
Accuracy
정확도는 전체 중에, 맞은 것(\대각선, True, 레알)만 선택하면 된다.
그러나, 정확도는 클래스별 분포가 같을 때만 이용가능하다고 저번시간에 언급했다.
정상환자의 정확도는 988 / 990 =99.8%이지만,
암환자의 정확도는 9/10 = 90%이다.
전체 정확도는 99.7%로,,, 암환자의 정확도(90%)가 정확하게 반영되지 않는다.
정상환자의 분포는 990명, 암환자의 분포는 10명으로 여기서 accuracy를 보면 안된다. 머신러닝에서는 f1-score를 이용하면 된다고 했다.
Accuracy의 단점을 보완하는 성능척도가 Precision과 Recall이 그리고 ROC curve와 AUC이다.
Precision과 Recall
ROC curve에 대해 언급하기 전에, Precision과 Recall을 복습하자
Precision은 혼동행렬의 세로방향으로써, 특정 클래스의 예측값(Positive 판정)에 대해 실제 정답값은 얼마나 있는지이며,
Recall은 혼동행렬의 행방향으로써, 특정 실제값에 대해, 해당 예측값은 어떻게 당겨왔는지이다.
ROC curve
ROC curve는 보통 binary classification(2개의 클래스 분류) 나 medical application에서 많이 쓰는 성능 척도이다.
위의 그래프에서 어느것이 더 좋은 ROC 커브인가?
빨간색이 좋은 커브이다.
빨간색 커브가 더 좋은 이유는?
아래 면적을 구해서 더 큰 것이 좋은 커브가 된다. ROC curve 아래 면적을 AUC라(Area Under the Curve)라고 한다.
ROC curve를 쓰는 이유는 무엇일까?
클래스별 분포가 다를 때, Accuracy의 단점을 보완하면서 더 자세히 보기 위해서이다.
위의 그림처럼, 양 끝쪽은 확실히 정상이나 암환자로 구분이 가능하다.
하지만, 가운데 쪽은 판단이 불분명한 부분이 있을 수 밖에 없다.
이 상황에서 최선의 판단(초록색 선을 그는 행위를)하려면, 항상 error들을 포함할 수 밖에 없다.
아래의 그래프는 위에서 등장했던 그래프보다 훨씬 판별하기가 쉽다.
이 차이를 보는 것이 ROC curve이다.
내가 판단선(초록색선)을 내리는데, 왼쪽 <->오른쪽 으로 움직일 수록, 어느정도로 안좋은 결과를 초래하는지에 대한 얘기가 ROC curve라 할 수 있다.
아래의 분포는 초록선을 움직이더라도 error가 많이 안생길 것이다. 이러한 경우가 처음 등장한 ROC curve 그래프의 빨간색 선에 해당한다.
만약 위의 분포처럼 많이 겹치는 부분이 많을 수록 직선에 가까워 지게 된다.
ROC curve의 이용
feature를 골라내는 곳에 이용할 수 있다.
예를 들어, 누가 더 잘달리는 지 예측한다고 가정하자
feature로는 키, 몸무게를 선택한다.
그러면 키 큰 사람들 중에 못 달리는 사람, 키 작은 사람들 중에 빨리달리는 사람,
몸무게가 많이 나가지만 빨리달리는 사람, 몸무게가 적게나가지만 못 달리는 사람 정도가 겹치게 될 것이다.
data를 지난대회 것을 사용한 뒤, 100등을 기준으로 빨리 달리는사람과 못달리는 사람을 가른다고 가정해보자.
data자체가 양질의 데이터이기 때문에, ROC curve가 빨간색과 같은 것이 나올 것이다.
만약 90등이나 110등을 기준으로 짜르더라도, 민감도가 크지않을 것이다.
ROC curve는 양질의 데이터라면, 더 넓은 면적을 가질 것이며, 더 좋은 성능의 모델일수록 더 넓은 면적을 가질 것이다.
즉, ROC curve가 좋은 것을 사용한다
-> 머신러닝의 경우, raw_data에서 내가 정하는 Decision Boundary에 덜 민감하면서, label을 구분하는데 더 믿음이 가고 잘 예측되겠구나를 결정할 수 있다.
-> my) 딥러닝의 경우, 클래스별 분포가 다를 때, accuracy의 대용으로 사용한다. 특히 딥러닝 모델비교 및 사람과의 비교에 쓸 것이다.
ROC curve에서의 수식
기본적으로 ROC curve는 Recall( 행방향 : 실제값에 대해서 예측값이 어느정도로 )에 대한 얘기이다.
이 때 등장하는 개념이,
y축 : TPR(True Positive Rate) = Recall = sensitivity
x축 : 1 - ( TNR(True Negative Rate) = specificity )
- Recall이 높다는 것은 초록색선을 쭉 왼쪽으로 당겨서 실제 Positive 분포(TP)에 초록색 우측의 예측 Positive가 다 들어오도록 만드는 행위다.
FN이 줄어들면서, TP는 엄청나게 증가한다. 그래서 TPN은 증가한다.
- 그러나 그렇게 된다면, 실제 Negative 분포(TN) 중 FP가 엄청나게 늘어나고 + 실제 검출되는 (TN)가 엄청나게 줄어들 것이다.
즉, Recall값을 높일 수록 TPR은 증가하지만, 그만큼 TNR은 줄어드는 Trade off가 생길 것이다.
이러한 변화에 대해서 TPN 및 TNR의 비율을 그래프로 그린 것이 ROC curve이다.
만약, TPN과 TNR의 비율을 그린다면 아래와 같은 모양으로 나타나게 되고,
TPN과 1-TNR의 비율을 그린다면, 처음 봤던 ROC curve 그래프가 나타나게 된다.
극단적으로 판단선을 왼쪽으로 옮겨보자.
이 경우, TN가 모두 FP가 되면서, TN=0이 된다.그렇다면 1-TNR은 1이 된다
FN도 0이 되어서, TPR은 1이 된다.
ROC curve 그래프 상에서는 우측상단이 될 것이다.
반면에, 판단선을 가장 우측으로 밀어넣으면,
TP가 모두 FN가 되면서, TP=0 -> TPR =0
FP가 모두 TN가 되면서, TNR =1 -> 1-TNR = 0이 되면, 그래프상에는 아래와 같은 점이 찍힌다.
요약하자면,
Accuracy가 다가 아니다.
클래스가 imbalanced한 data라면 Precision과 Recall도 봐야한다.
- Recall같은 경우, 1차 검사에서 예측값을 암환자로 다 가져와야하는 경우에 잘 봐야한다. 실제값에 대해 판정도 다 들어와야하는 경우
- Precision의 경우, 판단(예측)이 실수하면 안되는 경우에 잘봐야한다. 유죄판결한 경우, 모두 실제값이어야한다.
ROC curve는, 판단 선(cut off, decision boundary)를 움직였을 때, 얼마나 성능(결정)들이 민감한지에 대한 것이다.
AUC가 넓을 수록, 안정된 예측을 할 수 있는 모델 or 데이터이다.
'머신러닝 & 딥러닝 > 머신러닝 기초' 카테고리의 다른 글
14. 다중 분류 모델의 성능측정 - Performance Measure( ACU, F1 score) (7) | 2018.08.21 |
---|---|
13. 혼동행렬(Confusion Matrix) / 실습 (0) | 2018.08.21 |
12. 머신러닝 알고리즘 : 차원축소 - PCA 알고리즘 / 실습 (1) | 2018.08.19 |
11. 머신러닝 알고리즘 - Norm( L1, L2) - : 벡터의 크기 or 길이 측정 / 실습 (0) | 2018.08.19 |
10. 오버피팅 및 언터피팅 이해 및 극복하기(bias, variance를 통한 Regularization(lr) / Early Stop / Dropout) (8) | 2018.08.17 |
2018. 8. 20 한국지도자육성 장학생 여름연수
한지회 여름연수!
나는 48기 장학생으로서, 첫 겨울연수에 개인사정상 수료증만 받고 귀가하였다. 하지만 장학금을 받을 때마다 매번 아쉬움이 남았다. 나와 비슷한 열정을 가진 친구들과 다양한 프로그램을 경험하면서, 자신의 꿈에 대해서 얘기해보고 싶었다.
운좋게도 이번 여름방학 때, 첫 여름 연수가 이루어진다는 소식을 듣고 너무 기뻤다. 반드시 참여해서 다양한 사람들과 소통하고 싶었다. 결과적으로는 재학중인 한의과대학 이외에 타 한의대생을 만날 수 있었고, 그외 다양한 전공의 친구들을 만나서 다양한 얘기를 했는데, 5년간 긴장하면서 학교를 다니다가 방학 때 여자친구를 제외하고 다른 친구들과 1박2일을 보낸 적이 없었는데, 너무 너무 소중한 추억을 남기게 되었다.
20일 당일에는 이사장님의 개회사에 이어 장학회 선배 2명과 설득에 대한 특별강연이 있었다. 한분은 라코스테 출신의 사업가 분이셨는데, 통이 매우 크셨다. 강연료는 모두 책으로 사서 후배들에게 나누어주고, 자신이 운영하는 호텔숙박권 및 비행기를 상품으로 나누어주셨다. 그리고 그 선배님의 사업에 관한 스토리가 이어져갔다. 핵심은 자기 주위를 둘러보고 나누어야만 성공한다는 것이었다. 다른 한분은 여성 변호사셨는데, 커리어우먼에도 불구하고 고민없이 가족을 이루고 자식을 낳은 책임감이 자신을 이끌어 준다고 하시면서, 이러한 고민을 가진 커리어 우먼 후배들에게는 무조건 결혼을 일찍 하라고 조언해준다고 했는데, 이부분이 매우 인상 깊었다. 설득에 대한 강연은 흥미로웠다. 특히 우리가 무의식 중에 하는 말들을 인지하고서 설득의 기술로 사용하면, 상대방이 설득될 확률을 매우 크게 높일 수 있다는 점이 인상깊었다. 나는 몇가지 기술을 노트했고, 다음에 사용해 볼 생각이다.
이렇게 강연들이 끝나고, 선후배와의 멘토링 시간이 짧게 주어진 뒤, 레크레이션 시간이 찾아왔다.
각 팀을 나누고, 스피드 퀴즈처럼 주어진 문제를 해결해는 과정에서 서로 웃고 체온을 나눌 수 있었던 것 같다.
운동을 10년이상 해온 나로서는 주 무대일 수도 있지만, 가장 최고령(?) 32살로서, 고향친구들과 운동할 때와는 다르게, 조금 몸을 아꼈던 것 같다.
10시 즘부터는 술자리가 시작되었다. 모르던 동기들과 다양한 얘기를 나누는 시간이었는데, 특별히 기억에 남는 몇몇 친구들이 너무 좋았다.
그리고 이번 방학부터 배웠던 경추 교정 추나요법을 동기들에게 해주었다. 거의 100% 확률로 관절 소리가 나면서 뿌듯했다. 사실 나는 손으로 하는 것들을 잘하는 편이기에, 추나도 잘하는 편이라 생각했는데, 여자친구와 동생이외에 타인에게 처음하는 시술이었기 때문에, 너무너무 인상깊었다.
그리고 교정을 받은 친구들도 신기해하면서 좋아해주지. 1석2조였다. 그렇게 밤, 그리고 새벽이 무르익었다.
1박2일 과정에서, 마지막 코스인 남산등산을 9시 정도부터 시작했다. 오랜만에 하는 등산이라 땀도 많이 났지만, 상쾌하고 좋았다. 남산타워 내부에 올라가 사진도 찍고 경치를 구경하면서 마무리 되었다.
하산 이후에는 삼계탕을 먹고 헤어지는 시간이었다.
모든 친구들에게 1:1로 인사를 하고 왔어야하는데, 다들 숙취와 등산으로 인한 피곤함(?)때문에, 그렇게 못한 것이 매우 아쉬웠다.
몇 동기들은 인사를 못해서 너무 아쉬웠는데, 따로 전화가 와서 너무 좋았다.ㅠㅠ
이 행사를 준비해준 회장님 및 임원들분에게 너무 고마웠다. 같은 48기 장학생임에도 불구하고 먼저 와서 프로그램을 짜고, 준비했을 생각을 하니 너무 고마워 지는 순간이었다.
다음 연수 때도 반드시 참가해서 못다한 얘기들을 나누고 싶다. 헤어진지 몇일 안됬지만, 더 얘기하고 싶은 마음은 숨길 수 가 없다.
다음 연수가 벌써부터 기대되는 것은 나뿐만이 아니겠지..?!
'한의대 생활 > 본3 - 한국지도자육성장학회' 카테고리의 다른 글
[본과3] 2018 한국지도자육성재단 장학생 되기 - 4. 최종합격 (0) | 2018.02.06 |
---|---|
[본과3] 2018 한국지도자육성재단 장학생 되기 - 3. 면접후기 및 기출 모음 (0) | 2018.02.03 |
[본과3] 2018 한국지도자육성재단 장학생 되기 - 2. 1차 서류합격과 면접심사 준비 (0) | 2018.02.03 |
[본과3] 2018 한국지도자육성재단 장학생 되기 - 1. 서류준비하기 (0) | 2018.02.03 |
14. 다중 분류 모델의 성능측정 - Performance Measure( ACU, F1 score)
캡쳐 사진 및 글작성에 대한 도움 출저 : 유튜브 - 허민석님
머신러닝을 가지고 모델을 만들어 예측하다보면, 하나의 꼬리를 가지고 여러 classifier로 만들 수 있다.
예를 들어, kNN이나 Decision Tree 등으로 만드는 것이다.
이 분류기(classifier)들 가운데 가장 성능이 좋은 것으로 채택해야하는데, 이 때 사용되는 개념이
- Accuracy
- precision
- recall
- f1 score
4가지 개념이다.
이전 시간을 학습한 Confusion Matrix를 통해, 우리가 만든 모델(classifier)를 평가할 수 있었다.
아래 2 Model이 2개의 classifier라고 가정해보자.
2개의 분류기 가운데 어느 것을 선택해야할까?
- Accuracy
- precision
- recall
- F1 score
기본개념
성능평가는 Accuracy와 F1 score가 주요개념이며, 이 f1score를 다루기 위해서는 precision과 recall을 알아야하는 것이다.
그리고 이러한 개념들을 다루기 위해서는 아래와 같은 기본개념을 이해해야한다.
my) 뒤에서부터 해석
올바른 것/거절해야할 것을( Posi/nega )-칼럼으로 매칭 ==> True/False 에 잘 한것/반대로 한 것 - 행으로 매칭
1. True Positive
말 그대로, input 클래스(True)에 대해서
올바른 것(Positive)을 --> 올바르게 예측(True)한 것이다.
- Confusion matrix내에서는 대각선을 의미한다.
2. True Negative for A
거절해야할 것을 (Negative) : B,C,D칼럼 --> 잘 거절 한 것(True) : B,C,D행이다.
A 클래스 입장에서는, 아래 파란색 cell들이 True negative라고 할 수 있다.
예를 들어, D입장에서는 아래 구간이 True Negative라 할 수 있다.
3. False Positive for A
올바른 것(Positive) --> 잘못 거절-다른 것을 예측(False)해버린 것이다.
A예측 칼럼------------> A제외 B,C,D로 잘못예측한 것들
예를 들어서 False Positive for B는
B칼럼(올바른것-positive) 중에서 ---> B제외 잘못예측한 것(A,C,D행)
4. False Negative for A
거절해야할 것(B,C,D칼럼) -----> 거절하지 않고 잘못 맞다고 한 것(A행)
- confusion matrix에서는 해당 row에서 대각선(True Positive)를 뺀 나머지 cell들이다.
Performance Measure 1. Accuracy
Accuracy의 계산방법은 간단하다.
True positive(대각선)의 합 / Confusion Matrix의 모든 cell의 합
이제 2개의 분류기의 Accuracy를 비교해보자.
Accuracy만 따지면 Model1 분류기를 사용할 것이다.
이러한 Accuracy로 Performance Mesure를 사용할 때는,
데이터가 balance할 때 효과적이라고 한다.
즉, 각 클래스별로 input되는 데이터량이 동일할 때, 사용한다.
주의점)
만약, 데이터가 imbalance하여 각 클래스별 input량이 다를 때는 정확하지 않을 수도 있다고 한다.
즉, 해당 분류기의 performance가 좋지 않음에도 불구하고 아래와 같이 좋다고 얘기를 해버린다고 한다.
A에만 input데이터가 쏠린 imbalanced data이다.
Accruacy는 Model2가 높지만, 사실상 자세히 들여다보면,
B, C, D에 대해서는 10개중에 1개밖에 못맞추는 모델이다. 즉, A만 잘맞추는 모델이다.
이것들 Model1보다 좋다고 얘기할 순 없는 것이다.
오히려, 전반적으로 예측을 잘하는 Model1이 더 낫다.
이렇게 imbalanced data가 주어진 상황에서는 어떤 performance measure를 사용해야할까?
Performance Measure 2. f1-score
F1-Score는 왜 imbalanced data에서도 성능 측정을 잘 할 수 있을까?
먼저, recall과 precision에 대해서 알아보자.
아래의 confusion matrix가운데,
- Recall에 해당하는 행 방향은
input된 class에 대해서, 분류기(Classifier)가 어떤 class로 예측을 하는지에 대한 척도이다. - Precision에 해당하는 칼럼 방향은
예측한 값들 중에서 제대로 예측했는지에 대한 척도이다.
f1-score는 이 Recall과 precision을 이용하여 조화평균(harmonic mean)을 이용한 score이다.
조화 평균은 [ 2 * ab / a + b ]의 공식을 가지고 있으며, 그림으로 나타내면 아래와 같다.
즉, 2개의 길이에 대해서 반대편으로 선을 내릴 때, 서로 만나는 점의 길이다.
A가 B보다 큼에도 불구하고, 조화를 이루어서 B에 가깝에 어떠한 평균이 나타나게 된다.
그렇다면, Recall과 Precision에 대해서도 아래와 같이 나타날 수 있다.
비록, precision이 큰 경우에도, 작은 recall에 대해 조화를 이루는 높이를 평균으로 채택하게 된다. 반대도 마찬가지이다.
즉, 조화평균은 단순하게 평균을 구하는 것이 아니라, 먼가 큰 값이 있다면 패널티를 주어서, 작은값 위주로 평균을 구하게 된다.
이러한 원리로, imbalanced data에 대해서 큰 값을 가진 A class가 있더라도, 강력한 효과를 통해 평균을 구하게 된다.
이제 이 F1 score를 구하려면, Precision과 Recall을 계산하여야할 것이다.
공식상으로는 각 클래스별 precision = TP / TP + FP 을 구한 뒤 평균을 내면 된다.
FP는 올바른 것을 틀리계 예측한 것이므로, 각 칼럼 4개 cell 중 3개를 더하면 된다.
모델 1의 경우
- A의 precision은 100/ 100 + 0 = 1
- B : 9 / 9 + 82
- C : 8 / 8 + 10
- D : 9 / 9+12
이번에는 Recall을 계산해보자.
공식상으로는 각 클래스별 = TP / TP + FN를 구한 뒤 평균이다.
FN는 아닌 것을 반대로 맞다고 판단하는 것이므로, BCD칼럼 중 A행을 택하는 것이다. 그러므로 TF이외에 행방향의 3개의 cell을 더하면 된다.
- A의 recall : 100 / 100 + (80+10+10) 와 마찬가지로 다 구해서 평균을 낸다.
모델2도 마찬가지로 precision과 recall을 계산하면, 0.342가 나온다.
이렇게 imbalnaced data에서 모델간의 성능측정을 해보니, Accuracy와는 반대로 Model 1가 높게 나왔다.
결론적으로
balanced data -> Accuracy로 Perfomance Measure로 채택
imlbalanced data -> f1-score로 채택하자!
'머신러닝 & 딥러닝 > 머신러닝 기초' 카테고리의 다른 글
15. ROC(Receiver Operating Characteristic) curve 와 AUC(Area Under the Curve) (8) | 2018.09.09 |
---|---|
13. 혼동행렬(Confusion Matrix) / 실습 (0) | 2018.08.21 |
12. 머신러닝 알고리즘 : 차원축소 - PCA 알고리즘 / 실습 (1) | 2018.08.19 |
11. 머신러닝 알고리즘 - Norm( L1, L2) - : 벡터의 크기 or 길이 측정 / 실습 (0) | 2018.08.19 |
10. 오버피팅 및 언터피팅 이해 및 극복하기(bias, variance를 통한 Regularization(lr) / Early Stop / Dropout) (8) | 2018.08.17 |
13. 혼동행렬(Confusion Matrix) / 실습
캡쳐 사진 및 글작성에 대한 도움 출저 : 유튜브 - 허민석님
Confusion Matrix
머신러닝이 얼마나 잘 예측하는지를 나타내주는 Matrix가 바로 Confusion Matrix이다.
예를 들어, 만들어진 머신러닝 모델에
A를 입력하였더니, A라고 판단했다. 아래 테이블에 input A에 대한 output A가 1로 찍힌다.
이번에는 B가 조금 희미하게 input되었더니, 우리의 머신러닝 모델은 D라고 판단했다.
이 때는 input B에 대한 output D칼럼에 1이 찍힌다.
다음으로 C, D는 잘 판단하여 각각 (C,C) (D,D)에 1이 들어갔다.
이번에는 희미한 D를 input하였는데도, D라고 잘 판단했다.
(D,D)는 +1이 된 2가 들어갔다.
이렇게 찍은 테이블이 바로 Confusion Matrix이다.
input A에 대해서는 전체 1개 중에 1개를 A로 잘 맞추었다. C와 D역시 전체 1개, 2개 중에 전부 잘 맞추었다.
반면 input B에 대하여 전체 2개의 input가운데, 1개는 잘 맞추었지만, 다른 1개는 잘못판단하였다.
이렇게 머신이 잘맞추었는지, 혼동은 없었는지 판단하는 matrix가 바로 confusion matrix인 것이다.
데이터 사이언스에서는 눈으로 보이는 혼동이외에, 조금더 과학적인 방법으로 성능을 확인할 수 있다.
그 종류로는
- Accuracy
- Precision
- Recall
- F1 score
등등 이 있다.
실습
import seaborn as snsimport pandas as pdimport matplotlib.pyplot as plt%matplotlib inlinesns.set(font_scale=2) # 혼동행렬 폰트 크기! 1이면 너무 작다.
1. 혼동없는 혼동행렬 만들기¶
# array로 행렬만들기 -> df에 넣으면서 인덱스+칼럼명 주기 -> heatmaparray = [ [5, 0, 0, 0], [0, 10, 0, 0], [0, 0, 15, 0], [0, 0, 0, 5],]#인덱스와 컬럼을 문자열--> 리스트로 인식되어서 하나씩 입력되도록df_cm= pd.DataFrame(array, index = [ i for i in "ABCD"], columns=[i for i in 'ABCD'] )#맷플롯립으로는 figure 사이즈와 타이틀 정하기plt.figure(figsize=(10, 7)) # 7, 7 주면 정사각형이 안된다. 옆에 게이지 때문에 더 줘야함plt.title('confusion matrix without confusion')#시본으로 df를 히트맵으로 만들기sns.heatmap(df_cm, annot=True) # annot 옵션이 각 cell안에 숫자를 나타내게 한다.
2. 혼동이 있는 혼동행렬 만들기¶
array = [ [9, 1, 0, 0], [1, 15, 3, 1], [5, 0, 24, 1], [0, 4, 1, 15],]df_cm= pd.DataFrame(array, index = [ i for i in "ABCD"], columns=[i for i in 'ABCD'] )plt.figure(figsize=(10, 7))plt.title('confusion matrix without confusion')sns.heatmap(df_cm, annot=True)
대각선이 밝은색위주로 되어있으니, 나름대로 잘 작동을 하는 모델임을 판단한다¶
하지만 Normalization 하지 않았기 때문에, 어떤 input에 대해 효과적인지 쉽게 대답할 수 없다.
3. Normalization한 혼동행렬 만들기¶
- 각 A,B,C,D의 input되는 갯수가 다르기 때문에 어느것이 정확도가 더 좋은지 제대로 알아보기 힘들다.
3-1. 노멀리제이션 먼저 하기¶
import numpy as npfrom numpy import linalg as LA
# 1. 혼동행렬(array상태)의 가로방향별로 각 input별 합을 구한다.total = np.sum(array, axis=1)total
total[:, None]
- 각 칼럼별 합을 나누는데, 그냥 나누면 안된다array = array / totalarray
# 2. 각 input의 총 갯수를 None인덱싱한 total을 이용하여, ( total [ : , None])# 각 예측값의 합 [10,20,30,20] 을 칼럼이 없도록 행으로 세운다# [10],# [20],# [30],# [20],# 이를 통해, 가로별 합을 가로별로 나눌 수 있게 된다. 그러면 가로별 총 합은 1이 될 것이다.array = array / total[:,None]array
3-2. Normalization된 array로 히트맵 그리기¶
df_cm= pd.DataFrame(array, index = [ i for i in "ABCD"], columns=[i for i in 'ABCD'] )plt.figure(figsize=(10, 7))plt.title('confusion matrix without confusion')sns.heatmap(df_cm, annot=True)
이제 대각선이 각각 input별로 몇퍼센트를 맞추었는지 알 수 있다.¶
'머신러닝 & 딥러닝 > 머신러닝 기초' 카테고리의 다른 글
15. ROC(Receiver Operating Characteristic) curve 와 AUC(Area Under the Curve) (8) | 2018.09.09 |
---|---|
14. 다중 분류 모델의 성능측정 - Performance Measure( ACU, F1 score) (7) | 2018.08.21 |
12. 머신러닝 알고리즘 : 차원축소 - PCA 알고리즘 / 실습 (1) | 2018.08.19 |
11. 머신러닝 알고리즘 - Norm( L1, L2) - : 벡터의 크기 or 길이 측정 / 실습 (0) | 2018.08.19 |
10. 오버피팅 및 언터피팅 이해 및 극복하기(bias, variance를 통한 Regularization(lr) / Early Stop / Dropout) (8) | 2018.08.17 |
15. Batch size & Batch Norm
Batch size
batch size란 sample데이터 중 한번에 네트워크에 넘겨주는 데이터의 수를 말한다.
batch는 mini batch라고도 불린다.
이 때 조심해야할 것은, batch_size와 epoch은 다른 개념이라는 것이다.
예를 들어, 1000개의 데이터를 batch_size = 10개로 넘겨준다고 가정하자.
그러면 총 10개씩 batch로서 그룹을 이루어서 들어가게 되며, 총 100개의 step을 통해 1epoch을 도는 것이다.
즉, 1epoch(학습1번) = 10(batch_size) * 100(step or iteration)
하지만, batch_size가 커지면 한번에 많은 량을 학습하기 때문에, train과정이 빨라질 것이다.
그러나 trade off로서, 컴퓨터의 메모리 문제때문에 우리는 한번에 모두다 학습하는 것이 아니라 나눠서 하는 것이다.
즉, batch_size를 100으로 준 상태에서, 컴퓨터가 학습을 제대로 하지 못한다면, batch_size를 낮춰주면 된다.
실습
keras에서 batch_size의 선택은 fit()함수 호출 시 할 수 있다.
Batch Norm
data를 Neural Network에 train시키기전에, preprocessing을 통해 Normalize 또는 Standardize를 했다.
Regression문제에서는 사이킷런의 MinMaxScaler를 이용하여, 각 feature의 데이터를 0~1사이로 squarsh한 것이 예이다.
머신러닝이나 딥러닝은, 큰 수들을 좋아하지 않기 때문에 = 각 feature의 간격이 동일해야 편견없이 처리할 수 있다
(예를 들어, a feature는 0~13값을 가지고 b feature는 0~4값을 가지는데, 13을 4보다 더 큰 요소로 인식해버리 떄문)
Normalize나 Standardize는 모두, 모든데이터를 같은 scale로 만들어주는 것이 목적이다.
(Regularization은 weight를 줄이도록 loss를 변형(L2 Reg)하여, 모델의 복잡도를 낮추어 overfitting을 방지한다)
- Normalization : 구체적으로 10~1000 범위를 가진 feature를 --> 0~1값을 가지도록 Scaling한다.
- standardization : 각 데이터에 평균을 빼고 -> 표준편차를 나누어서 -> 평균0 표준편차1인 데이터로 변형한다.
- standardization 역시 Normalization으로 불리기도 한다.
이러한 작업을 하는 이유는 위에도 설명했지만, 아래 예를 다시보자.
miles Driven feature 와 age feature가 있다.
2 feature는 같은 Scale을 가지고 있지 않은 non-Normalized상태이다.
이러한 data는 Neural Network에서 불안정성을 야기한다.
즉, 너무 큰 범위의 feature값이 들어가게 되면, gradient를 태워 weigt를 업데이트할 때, 큰 문제가 발생하게 된다.
train하기도 힘들어지고, train속도도 느려진다.
하지만 Normalization을 통해 Scale을 0~1로 통일 시키면,
속도도 향상되면서, gradient를 태울 떄 문제가 발생하지 않게된다.
하지만 normalized된 데이터( scale통일 )도 문제가 발생시킨다는 것이 발견되었다.
train시 SGD로 그라디언트를 태워 w를 업데이트 하는 와중에
weight하나가 극단적으로 크게 업데이트되었다고 가정하자.
첫번째 hidden Layer에 도달하는 weight는 (8, 6)개의 matrix이다.
여기서 (4, 4)에 해당하는weight가 극단적으로 크게 업데이트 되었다.
이 weight에 상응하는 neuron (1hidden-4node)역시 커질 것이다.
그리고 다음 N.N.를 통과하면서 이러한 imbalance들이 문제를 야기할 것이다.
이 때 등장한 개념이 Batch Normalization이다.
비록 input data는 Normalization(0~1scaling)되었다 하더라도, weight가 커져버려 output도 커지는 상황이 발생한다.
정규화(loss를 변형하여, weight줄임->복잡도내려가고 variance줄임->overfitting방지)처럼,
Batch norm 역시 전체 모델 중 특정Layer를 선택하여 적용할 수 있다.
구체적으로는
이전Layer의 weight가 커져, 매우커저버린 output인 a(z(x))에다가
- activation funcion값을 Starndardization(평균0 표준편차1)을 만들어서,
- 임의의 상수를 곱함(trainable)
- 임의의 상수를 더함(trainable)
--> 다음Layer의 input이 되게 만드는 것이다.
이러한 과정을 거쳐 최적화 된 g와 b상수도 결정되게 된다.
Batch Norm은 gradient의 process에 포함되기 때문에, 특정weight가 극단적으로 커지거나 작아지는 것을 막아주게 된다.
결과적으로, input data는 Normalization을 통해 같은 Scale을 가질 수 있게 하여 --> 속도향상 + gradient problem을 막고
각 Layer의 output(a(z(x))에는 Batch Norm을 통해 같은 Scale을 가질 수 있게항 --> weight의 imbalance를 막는다.
- 이러한 과정은 모델에 input되는 Batch단위로 이루어지기 때문에, Batch norm이라 한다.
실습
'머신러닝 & 딥러닝 > 딥러닝 - Image classification' 카테고리의 다른 글
14. Regularization (0) | 2018.08.19 |
---|---|
13. Object Detection - two stage method(R-CNN, fast R-CNN, faster R-CNN) (5) | 2018.08.04 |
12. Data Preprocessing & Augmentation (0) | 2018.08.02 |
11. Optimization - local optima / plateau / zigzag현상의 등장 (1) | 2018.08.02 |
10. transfer learning (0) | 2018.07.31 |
14. Regularization
Regularization은 오버피팅(feature가 너무 많거나 지엽적인 데이터를 학습하여, 새로운 데이터에 대해서는 예측을 잘 못하는 것)모델의 해결방안 중 하나라고 언급된다.
정확하게는 복잡성을 줄여서 --> 오버피팅을 줄이거나 분산을 줄이는 것이다.
그 결과 training data에 대한 학습정도 <----> unseen data에 대한 일반화 정도를 trade off하는 것이다.
첫번째 간단한 방법으로는, 머신러닝 기초에서 설명한 것처럼, loss함수에 람다*(w1+w2+...+wn)을 붙히는 것이다.
이것은 상대적으로 큰 weight들에 작은 상수를 곱하여, weight를 줄이는 것이다.
더 일반적 많이 쓰는 Regularization은 L2 Norm을 가지고 정규화 하는 것이다.
즉 상수 람다/2m * ( 각 weight들의 제곱의 함)을 더하는 것이다.
그리고 이것의 의미는, 양수로서, 벡터공간 속에서 피타고라스와 같은 거리를 구하는 공식으로 생각하면 된다.
그리고 여기서의 m은 input되는 feature의 수이며,
람다는 regularization hyperparameter로서, 우리가 정하고 테스트해서 바꾸는 수이다.
요약하자면, 정규화란?
우리가 가진 weight들은 큰값도 있고, 작은 값도 있을 것이다. 큰 weight를 가진 feature는 모델에 크게 반영될 것이다.
하지만 L2를 이용한 정규화를 사용하여, loss함수에 제약을 걸면 상대적으로 큰 weight라도 다른 w와 비슷하게 w를 업데이트 시키게 된다.
그래서 상대적으로 큰 weight들도 작은 weight처럼 약하게 적용되는 것이다.
만약 람다(lr)를 높혔다고 가정해보자. 그러면 loss는 빠르게 w를 업데이트 시켜 0에 가까워질 것이다.
하지만 L2정규화를 통해 loss에 람다 * 양수가 곱해져있는 상황으로 loss혼자는 0으로 갈지라도 뒤에 값들이 더 커지게 된다.
그래서 전체loss는 2개의 합이므로 0에 수렴하진 않을 것이다.
그 결과 lr를 조절하는 것이 아니라,
결과적으로 loss전체를 최소로 만들려면 뒤에 더해진 weight들이 줄어드는 방식으로 w가 결정될 것이다.
w들이 줄어든다면
1)Regression문제에서는 해당 예측값h(x)의 전체적인 가파른 정도가 줄어든 것일 것이다.
2) 딥러닝에서는, 극단적으로 weight가 0으로 결정된다면, 해당 Layer는 사라질 것이다.
이러한 방식으로 복잡도를 줄여서, 마치 Dropout처럼 복잡도를 줄여나간다.
weight가 줄어들면, variance(분산)도 줄어든다고 한다. 그 결과 overfitting도 해결된다고 한다.
my)
Regularization은 loss 에 L2를 더해서, loss를 줄이려면 weight들을 줄여야한다.
낮아진 weight로 인해 모델의 복잡도도 줄어들면서, Overfitting이 해결된다.
실습
케라스에서는 모델전체의 loss에 l2정규화를 하는 것이 아니라, 각 Layer별로 정규화를 적용하여 overfitting을 방지하도록 해준다.
'머신러닝 & 딥러닝 > 딥러닝 - Image classification' 카테고리의 다른 글
15. Batch size & Batch Norm (0) | 2018.08.19 |
---|---|
13. Object Detection - two stage method(R-CNN, fast R-CNN, faster R-CNN) (5) | 2018.08.04 |
12. Data Preprocessing & Augmentation (0) | 2018.08.02 |
11. Optimization - local optima / plateau / zigzag현상의 등장 (1) | 2018.08.02 |
10. transfer learning (0) | 2018.07.31 |