전체 글 144

영어 회화 (TEPS 청해)

That pothole in the street could've wrecked my car! 거리에 저렇게 움푹 패인곳 때문에 내 차가 망가질뻔 했어! ​ Good thing you swerved out of the way. 너가 길 옆으로 방향을 확 틀어서 다행이야. ​ Did you know the lease for our apartment expires in two months? 우리 아파트 임대 계약이 두 달 후에 만료된다는 걸 알고 있었어요? ​ We'd better call the landlord. 집주인에게 전화해 보는게 좋겠어요. ​ Come on, can't you take the wheel for once? 이봐, 한번만이라도 네가 주도적으로 결정할 순 없어? ​ % 출처 : 시원스쿨 ..

영어 표현 2022.09.17

데이터사이언스에 필요한 수학 (주관적 의견)

데이터사이언스 분야에서 필요한 수학은 ​ 학부수준의 "해석학", "선형대수학", "미분방정식", "위상수학", "실해석학" ​ 으로 좁혀지는 것 같다. (물론 그 외에도 더 알면 좋긴하겠지만) ​ 학부때 수학과 과목을 좀 들어서, 해석학, 선형대수학, 미분방정식정도는 수업을 들은적이 있는데 지금은 사실 거의 기억이 나지 않는다 ㅠ 틈틈이 수학공부를 할려고 하는데 이게 쉽지가 않다. 계속 우선순위에서 밀리는 느낌이랄까? 항상 생각만...

[해석학] 증명과정에서 귀류법이 작동되는 원리

수학에서 크게 세가지 증명 방법이 존재한다. 첫째, Mathematical induction, 즉 수학적 귀납법 둘째, Deductive proof, 즉 연역적 증명법 셋째, Proof by contradiction, 즉 귀류법이다. ​ 오늘 말하고자 하는건 귀류법이다 귀류법이란, p -> q 를 증명하기 위해서 p ∩~q →~p​ 임을 보이는 것이다. (~은 부정이란 의미이다.) 위 관계만 봐서는 좀 난해해 보이지만 아래의 p와 q간의 모든 관계를 표현한 네가지 벤다이어그램에서 위 관계를 만족하는 벤다이어그램 관계는 (4)밖에 없음을 확인할 수 있다. 즉, (4)는 q가 p를 포함하는 관계로, p->q 가 성립한다. ​ ​ 즉, 정리하면 귀류법이란 p -> q 를 보이기 위해 p ∩~q →~p​ 임을 ..

자료 구조란?

잘은 모르겠지만 컴퓨터공학과에서 제일 처음 배우는 전공 과목이 자료구조 (data structure)가 아닐까 싶다. ​ 그렇다면 자료구조가 뭘까 ? 위키백과의 정의에 따르면 컴퓨터과학에서 효율적인 접근 및 수정을 가능케하는 자료의 조직, 관리, 저장을 의미한다고 한다. 즉, 쉽게 얘기해서 자료, 즉 데이터가 저장된 형태란 거다. 예를 들면 데이터를 array로 저장할지, queue로 저장할지 등을 결정하는게 바로 그 저장되는 형태 또는 구조를 정하는 것과 같다. 참고로 여기서 말하는 데이터란 RAM(Random Access Memory)상에서의 데이터를 말한다. 즉, 단기적으로 사용할 데이터. 쓰고 바로 버릴 데이터를 말한다. ​ 우리는 주로 컴퓨터로 어떤 문제를 해결하려고 할 때, 알고리즘을 이용한다..

[데이터베이스] Key의 종류

(관계형) 데이터베이스 (RDBMS) 의 각 table을 relation이라고 하며 relation은 attribute(column name)와 tuple(rows)들로 이루어져있다. 이때 attribute들의 부분집합으로 super key를 정의할 수 있다. ​ 여기서 key란, 해당 attribute들의 tuple들이 서로 겹치지 않을 때, 그 해당 attribute들은 super key가 될 자격을 가지게 된다. 예를 들어, 아래와 같은 table이 주어졌다고 할 때, {age,sex}, {age,bloodtype} 등은 super key가 될 수 있다. 한편, candidate key란 위의 가능한 super key의 후보들 중 최소한의 개수(cardinality)를 갖는 key이다. 예를 들면,..

데이터 사이언스란? (주관적 의견)

요즘에 데이터사이언스라는 용어를 많이 쓰는거 같다. 취업할때도 데이터 사이언티스트, 애널리스트, 데이터 분석가 등등의 용어가 많이 쓰이고 있다. 사실 내가 봤을 때는 기존에 통계학과나 이와 유사한 학과들이 하던 데이터 분석 일을 다 통틀어 이렇게 혼용하여 표현하는거 같다. 그리고 데이터사이언스라는 말과 더불어 AI 도 핫한 용어이다. 사실 데이터사이언스, AI 둘다 데이터를 기반으로 하는 분야로 수학,통계,컴퓨터 의 융합 과목이라고 보면 된다. 다만 데이터 사이언스는 도메인 지식도 중요하므로 필요에 따라 경제학, 심리학, 의학 등에 대한 지식을 겸비해야 할 수도 있다. 따라서 어떤 과목을 전공했든지 요즘 핫한 데이터사이언스 분야로 가는데 있어서 각자의 강점이 있다. 만약 수학이나 통계학을 전공했다면 이론..

현업에서 머신러닝 돌릴 때 골치 아픈 것

오늘은 현업에서 머신러닝(특히 딥러닝) 돌릴 때 골치아픈 것들에 대해 간단히 얘기해보고자 한다. ​ 1. 파이썬 버전, 패키지 버전, gpu 호환 문제 ​ 보통 파이썬에 나오는 모델들은 패키지별로 계속 업데이트가 되기 마련이다. 그러다보니 예전에 되던 기능이 새로 업데이트 되면서 안되기도 하고... 새로운 기능을 사용하려면 버전을 업데이트 해야하기도 하다. 그래서 내가 필요한 패키지 버전과 때로는 파이썬 버전까지도 잘 맞춰주어야 한다. 게다가 GPU를 사용하려면 일반적으로 cuda나 cudnn의 버전까지 맞춰주어야 하는데 이게 참 머리아프게 한다. 그래서 도커(docker)가 나오게 된 것 같은데, 우선 우리회사는 지금 안쓰고있다... ​ 2. 속도 문제, 리소스 문제 ​ 제일 큰 문제는 항상 속도이다...

정보의 범람 속의 데이터 사이언스

데이터사이언스, AI분야가 아주 핫해지면서 데이터이론에 대한 정보가 정말 많아졌다. 덕분에 네이버와 구글 등에서 검색만 잘해도 어느정도 유용한 많은 정보를 획득할 수 있게 되었다. 내가 학부시절이었던 불과 4~5년전만 해도 관련 내용들이 검색이 잘 안되었는데... 세월이란 참 알수 없는것 같다. ​ 문제는 정보의 범람 만큼이나 잘못된 정보들도 꽤 많다는 점이다. 특히, 통계학이나 확률 이론들은 말 그대로 확률적인 부분들이 많기 때문에 어렵고 헷갈리는 부분이 매우 많다. 그래서 이를 잘못이해하고 와전되는경우도 많은거 같다. ​ 21세기 현시점에서 가장 중요한건 그런것들을 잘 선별해낼수 있는 능력이 아닐까 싶다 믿을수있는 정보를 선별하고, 좋은 책이나 레퍼런스를 골라읽을수 있는 능력. 답은 과거에 있는 경우..

데이터사이언스에서 예측모델 종류

지금까지의 데이터과학에서는 통계학,머신러닝,딥러닝 각각에 훌륭한 예측모델 후보군들이 있다. ​ 예를들면, 통계학에서는 elasticnet, spline 계열 모형, 커널을 이용한 모형(SVM 및 커널머신 또는 gaussian process), 머신러닝에서는 트리를 이용한 랜덤포레스트, 부스팅, 딥러닝에서는 대규모의 뉴런들을 이용한 DNN(Deep Neural Network) 이 있다. (생각해보니 SVM을 머신러닝으로 쳐야할지도 모르겠다. 경계가 워낙 모호해서...) ​ 뭐 이 외에도 많은 모델들이 있겠지만 내가 생각했을때 대표주자로 생각되는 모델들이다. ​ 그런데 통계학에서의 모델인 SVM은 커널을 이용해서 꽤나 유연한 함수(반응변수와 설명변수의 관계)를 잡아내지만 데이터가 커지면 시간이 오래걸리고(튜..