IT

    [데이터 사이언스] 검색 엔진은 어떤 원리로 작동할까? + tf-idf 유사도 예제 풀이

    [데이터 사이언스] 검색 엔진은 어떤 원리로 작동할까? + tf-idf 유사도 예제 풀이

    안녕하세요 밥한그릇 입니다. ^^ 무더운 여름인데 다들 잘 지내고 계시나요? 저는 저번 주 수요일을 마지막으로 1학기가 종강한 상태입니다. 막 종강을 하고 방학을 맞이하게 된 대학생의 심정이란... 후련하면서도 마음 한구석이 허무하네요. (ㅠㅠ) 지난 학기에 데이터사이언스라는 과목을 수강했었는데, 무시무시한 과제량과 진도 분량 때문에 정말 너무 힘들었어요. 그렇지만 힘들었던 만큼 배운 내용이 많았기에, 잊어버리기 전에 한번 중요한 내용들을 리뷰해보려해요! 마지막 보강주차에 내용기반(content based) 검색 중 tf-idf 기반 문서 검색에 대해 배우게 되었어요. 그러니 이번 포스팅에서는 문서 검색의 원리와 tf-idf 문서 유사도(코사인 유사도) 계산법에 대해 알아보는 시간을 가지려 합니다. 그럼..

    [전공] C에서의 변수의 scope와 lifetime

    [전공] C에서의 변수의 scope와 lifetime

    안녕하세요 밥한그릇입니다. 오늘은 변수들의 종류, 그리고 그 scope와 lifetime에 대해 알아보는 시간을 가질거에요. 다음 C 예제코드를 보고 그 scope와 lifetime에 대해 추측해봅시다. int x; static int y; int f(int v) { static int a = 0; int b; ... a++; b = a + v; ... } 다음과 같은 예제 코드가 주어졌을 때, 변수 x, y, v, a, b 의 scope와 lifetime은 각각 어떻게 될까요? int x : 전역 변수 static int y : 정적 전역 변수 int v : 지역 변수 (매개변수) static int a : 정적 지역 변수 static int b : 지역 변수 위 변수들은 이러한 종류로 구분됩니다. 정..

    [컴파일러] LR 파서 문제 풀이

    [컴파일러] LR 파서 문제 풀이

    안녕하세요 밥한그릇입니다. 컴파일러 과목의 LR(top-down) 파서 문제풀이 포스팅에 이어, LR (bottom-up) 파서 문제풀이 포스팅을 작성해보려합니다. https://nsa901.tistory.com/114 [컴파일러] LL 파서와 LR 파서 안녕하세요 밥한그릇 입니다. 제가 이번에 학교에서 수강한 컴파일러 과목의 기말고사 시험이 끝난 지 이틀이 지났네요.. 시간을 많이 들여 강의노트를 정리한 페이지를 만들고, 거의 통째로 외 nsa901.tistory.com 앞선 개념 내용은 이전 포스팅에 설명해두었으니, 참고하시면 좋습니다. 이 포스팅에서는 parsing table일 이용해 LR 파서가 동작하는 예제를 풀어보는 시간을 갖겠습니다. 자 그럼, 시작합니다. 우선, 알고있어야할 한가지는 LR ..

    [컴파일러] LL(1) 파서 문제 풀이

    [컴파일러] LL(1) 파서 문제 풀이

    참고로, LL(1) 파서는 한 글자만 내다보고 parsing 을 수행한다는 뜻입니다. k 글자까지 내다본 뒤 parsing을 수행하는 경우 LL(k) 파서라고 불립니다. 저는 이 포스팅의 예시 문제에서 predictive parser, 그러니까 non-deterministic LL 파서만 다룰 것입니다. 또, non-terminal과 terminal, 그리고 문법으로 non-terminal에서 terminal을 유도(derivation)하는 내용에 대해 대략 안다고 가정하고 설명하겠습니다. 기본적인 개념 내용은 제 이전 포스팅에서 설명해놓았으니 참고바랍니다. https://nsa901.tistory.com/114 [컴파일러] LL 파서와 LR 파서 안녕하세요 밥한그릇 입니다. 제가 이번에 학교에서 수강한..

    [컴파일러] LL 파서와 LR 파서

    [컴파일러] LL 파서와 LR 파서

    안녕하세요 밥한그릇 입니다. 제가 이번에 학교에서 수강한 컴파일러 과목의 기말고사 시험이 끝난 지 이틀이 지났네요.. 시간을 많이 들여 강의노트를 정리한 페이지를 만들고, 거의 통째로 외우다시피 시험 준비를 했어요. 그렇지만 불행하게도 강의노트에 잘 적혀있지 않은 부분들에서 기말 고사 문제가 많이 나와서 슬펐습니다. (ㅠㅠ) 제가 강의노트의 어려운 예제들을 풀고 이해하는 데 들었던 시간이 상당했었거든요. 인터넷에도 친절히 설명하는 자료가 거의 없었어서 더욱 그랬죠. 그래서 "예제를 이해하고 공부한 내 노력이 아까우니, 따로 예제들을 쉽게 풀이하는 포스팅을 만들어보자!"는 생각이 들었습니다. 아무래도 과목 진도 상 중후반쯤에 위치한 내용에다가 그 분량이 많아요. 그러니 컴파일러 과목의 앞부분에 대한 기초 ..

    [데이터 사이언스 / R] 결측치와 이상치(극단치)를 처리하는 방법 (예시)

    [데이터 사이언스 / R] 결측치와 이상치(극단치)를 처리하는 방법 (예시)

    안녕하세요 밥한그릇입니다. 오늘은 R언어에서 데이터 분석을 할 때, 결측치와 이상치를 처리하는 간단한 방법들에 대해 알아볼거에요. 이 과정은 데이터 전처리 중, 데이터 정제 과정에 속합니다. 결측치는 데이터 분석 시 값을 처리할 수 없어 필수적으로 처리해야하고요. 극단치(=특이치, 이상치)는 데이터의 분포 및 평균을 왜곡하는 경우가 많아 이것도 처리하는 게 좋습니다. 극단치에 의한 통계 왜곡의 대표 사례로는, 미국의 노스캐롤라이나 대학의 졸업생 연봉(초봉)평균의 사례가 유명합니다. 졸업생들의 평균이 가장 높은 학과가 지리학과로 한화로 평균 1억이 넘는 연봉을 기록했는데요. 어떻게 지리학과에서 이렇게 많은 연봉을 받나 원인을 알아보니, 전설적인 농구선수 마이클 조던의 연봉 때문에 평균이 덩달아 저렇게 올라..