본문 바로가기

분류 전체보기

(152)
[DSC] DSC-PNU 2기 단기세션 운영계획(데이터 활용,ML) https://sites.google.com/view/dsc-pnu/홈?authuser=0 부산대학교 DSC Pusan National 멤버 모집 DSC 부산대학교 2기와 함께할 멤버분들을 모집합니다! 모집기간 : 2020년 4월 13일 ~ 4월 19일 sites.google.com DSC - PNU 1기 운영진으로 이번 학기에는 개별 세션을 맡아 진행하기로 하였다. 이전에 진행했던 GCP-데이터 분석을 이어서 하려고 했지만 내용이 만만치 않고, 개인적으로 관심있는 퀀트 분야도 호불호가 갈릴 것 같아서 다른쪽으로 생각해 보기로 했다. 내가 맡아 진행할 세션은 '데이터 활용 및 분석' 부분이다. 사실 내가 맡은 파트는 대부분의 커리큘럼이 ML쪽으로 맞춰져 있는데 학부생 수준에서 아는 내용도 한계가 있고, ..
[C,C++ 개념정리] Member initializer list 생성자 부분과 겹쳐 포스팅할 걸 그랬나봐;; constructor initializer를 사용할 때 다음과 같이 :콜론으로 initialize를 list형태로 시켜줄 수도 있다. 단순한 구조는 다음과 같다. class Something { private: int m_i; double m_d; char m_c; public: Something() : m_i(1), m_d(3.14), m_c('a') void func() { } }; - 코드 - /* [8.4강 생성자 맴머 이니셜라이져 리스트 (Member initializer list) ] */ #include using namespace std; class B { private: int m_b; public: B(const int& m_b_in) : m..
[MAC] 원격접속으로 증권API 개발환경 구축하기 사실 posting까지 할 건 없지만 방법을 찾아내 기쁘다. 지금 졸업작품 겸 취미로 만들고 있는 트레이딩 시스템은 국내 증권api를 사용한다. ebest의 xingAPI를 사용하고 있는데 이게 window만 지원이 되고 mac이나 linux환경에 지원이 되지 않는다. 결국 남는 늙은 윈도우 노트북에 개발환경을 구축해서 코드를 짤 때마다 들고 다녔다. (맥이 13 프로라 패러럴즈나 부트캠프를 깔고싶지 않았다;;;;) 그러다가 발견한 Microsoft Remote Desktop 10 !!! 얼른 설치해주자. 일단 UI 깔끔하니 합격점이다. 얼른 캎공을 끝내고 집에 가서 미리 구축해놓은 개발환경을 추가해봐야겠다. 결과는.... 성. 공... 특히 나는 원룸에 거주하는데, 공유기가 건물 전체를 커버하는 상위 ..
[ML/Lecture] 2. Informed Search Exploration 이전까진 uninformed-search에 다뤘었다. 하지만 정보를 좀 더 사용하면 효율적인 탐색이 가능하지 않을까? informed search에 대해 알아보자. 알아볼 내용은 다음과 같다. 먼저 Informed Search Strategy이다. 이전까지는 node들이 다 같은 value를 가지고 있었다면, 이번에는 evaluation function으로 노드의 탐색할 순서를 정하게 된다. 이때 evaluation func은 위의 슬라이드에서 보이는 것처럼 g(n)과 h(n)으로 나뉘어져있다. 이전에 예제로 사용했던 도시 탐색 그래프를 떠올려 보자. 그래프를 보면 기존에 사용했던 path-cost 이외에도 heuristic function이 추가..
[C,C++ 개념정리] Constructors(생성자) C++은 class내에 default-constructor가 존재한다. 새롭게 constructor를 정의하였다면 그 정의에 맞게 instance들을 생성하여야 한다. 신기하게도 constructor를 private하게 선언하는 경우도 있다고 한다. 추후에 포스팅하기로 한다. - 코드 - /* [8.3강 생성자(Constructors)] 컴파일러 입장에서 생성자가 없다면, default 생성자를 만들어서 넣어준다. 생성자 : instance를 직접 생성한다기보다, 인스턴스를 선언할때 호출되는 '함수'개념에 더 가깝다. */ #include using namespace std; class Fraction { private: int m_nume..
[C,C++ 개념정리] encapsulation, access specifiers & functions class 멤버변수에 대한 default - access specifier는 private이다. 인스턴스의 멤버변수에 대한 접근을 유의해서 보자. 당연한 얘기지만, 같은 클래스 내의 함수가, 동일한 클래스 내의 변수로의 접근은 접근지정자와 관계없이 접근이 가능하다. encapsulation의 철학이다. - 코드 - /* [8.2강 캡슐화(encapsulation), 접근지정자(access specifiers), 접근함수(access functions)] 최근에는 연관관계를 잘 이해하고, 이를 깔끔하게 유지하는 사람들을 두고 프로그래밍을 잘한다고 한다. encapsulation에서는 내부 변수값들을 default인 private으로 선언하고, public 함수로 접근하게 만든다. const int& 의 의..
[C,C++ 개념정리] 객체지향의 시작 객체지향언어는 굉장히 익숙한 개념이지만, 이왕 C++을 정리하기로 했으니 기본적인 내용도 포스팅하기로 했다. 방법 1~5로 이르기까지 객체지향언어를 왜 사용하는지 알 수 있는 코드들이다. 목적은 친구의 정보를 출력하는 것인데 타이핑을 간결하게 해서 실수를 줄이고, 반복하는 상황에서 편이를 추구하기위해 코드가 발전하는 모습을 코드에 나타내었다. 사실, 너무 기본적이라 안봐도 무관한 내용이다;;; - 코드 - /* [8.1강 객체지향 프로그래밍과 클래스] 매개변수가 정해지지 않았으면 좋겠다... 할때 생략부호를 사용한다. */ #include #include #include using namespace std; // 방법 5. c++ class 사용할 때 class Friend {..
[ML/Lecture] 1. Solving Problems by Searching Problem Solving은 무엇을 의미할까. ML에서 문제를 해결한다는 것은 초기 상태(initial-state)에서 목적지인 goal-state까지의 'sequence of operators path'를 찾는 것으로 정의된다. 위에 예시로 나온 문제는 유명한 'Traveling Salesperson Problem이다. 각각의 노드를 전부 순회하는 방법을 구하는 문제인데 동일한 노드를 중복해서 지나지는 않는다. 첫번째 방법처럼 combinatorial explosion이 일어나는 경우는 각각의 노드를 중심으로 남은 모든 노드를 순회하는 경우의 수를 모두 따져보는 것이다. 이는 time-complexity를 계산해보면 O(n!)이 나온다. 물..
[ML/Lecture] Intro... 정식 교과목은 " 머신러닝 및 응용 ", 주 교재는 아래에 보이는 " Artificial Intelligence: A Modern Approach " 이다. 이왕 배우는 김에, 잘 정리해서 기록으로 남겨놓고자 포스팅을 시작하지만, 잘하는 짓인지 모르겠다...^^
[C,C++ 개념정리] Ellipsis, 생략부호 매개변수가 정해지지 않았으면 좋겠다... 할때 생략부호 ' ... ' 을 사용한다. va_list로 생성, va_start와 va_end로 시작과 끝을 설정한다. - 코드 - #include #include // for ellipsis using namespace std; double findAverage(int count, ...){ // 파라미터로 받아올 argument의 갯수 double sum = 0; va_list list; // list를 생성한다. va_start(list, count); // list의 개수에 해당하는 count를 넘겨준다. for(int arg = 0; arg < count; ++arg) // 필요한 계산을 해준다. sum += va_ar..