전체 글

프로그래밍, 알고리즘과 자료구조 그리고 각종 개발도구의 사용법을 주로 기록하고자 했으나, 어느새 생활정보도 추가하게 되었습니다.
· 머신러닝
우리는 앞선 과정에서 주어진 주택 면적과 가격에 대한 데이터를 대표한다고 생각되는 적당한 직선(가정 또는 모델)을 하나 그었습니다. 하지만 여러 개의 데이터가 주어졌을 때 이를 통해 결정할 수 있는 가정(모델)은 하나가 아닌 여러 개가 될 수 있습니다. 그중에서 제일 올바르다고 생각되는 것을 선택을 하기 위해서는 앞서 결정한 가정이 얼마나 데이터를 정확히 표현하는지 계산하여 평가합니다. 이때 사용하는 것이 비용 함수입니다. 이것은 모든 입력 x로부터 얻어지는 실제 출력 y와 가정의 결과를 통해 얻어지는 값 사이의 차이의 평균으로 정의합니다. 수식을 사용하여 표현한다면 아래와 같습니다. J(θ0,θ1)=12m∑i=1m(y^i−yi)2=12m∑i=1m(hθ(xi)−yi)2 J(\theta_0, \theta_..
개요 Angular Material이란, 2014년 구글에서 제시한 디자인 가이드라인인 머터리얼 디자인(Material Design)을 Angular 애플리케이션에서 쉽게 사용할 수 있도록 구현한 모듈입니다. 구글에서 직접적으로 관리하는 모듈인 만큼, 다양한 예제와 문서화가 잘되어 있어 초보자가 사용하기 좋습니다. (저와 같은 웹개발 비경험자의 입장에서는 간단히 적용하여 그럴듯한 모양새의 애플리케이션을 완성할 수 있게 해주는 고마운 스킨(?)입니다.) 이번 포스트에서는 이 Angular Material을 새로운 Angular Project에 적용해보도록 하겠습니다. 모든 내용은 Angular Material의 공식 가이드인 Getting stared 문서를 참고하였습니다. 본 포스트의 내용에 따라 Ang..
· 머신러닝
모델 표현(Model Representation) 표기법 우선 여기서 앞으로 사용하게 될 표기법을 정의하고 넘어가도록 하겠습니다. x(i)x^{(i)}x(i) : 입력 특징 또는 “입력” 변수 (집의 면적) y(i)y^{(i)}y(i) : “출력” 혹은 목표 변수(집의 가격) (x(i),y(i))(x^{(i)} , y^{(i)})(x(i),y(i)) : 훈련예제 또는 데이터집합 (학습에 사용) (x(i),y(i))(x^{(i)}, y^{(i)})(x(i),y(i)); i=1,…, m : 훈련집합(m 개의 훈련예제) 여기서 윗첨자 “(i)” 는 훈련집합의 인덱스를 의미합니다. 입력변수의 공간을 표현하기 위해서 X 를 사용하고, 출력값의 공간을 표시하기 위해서 Y 를 사용할 것입니다. 이번 예제의 경우는 X..
· 머신러닝
비지도 학습을 사용하면 우리의 결과가 어떻게 보일지 거의 또는 전혀 모르는 상태에서도 문제에 접근할 수 있습니다. 우리는 변수의 효과를 반드시 알 필요가 없이 데이터로부터 구조를 도출할 수 있습니다.비지도 학습에서는 예측결과에 대한 피드백이 없습니다.예시:클러스터링(Clustering) : 100 가지의 유전자를 모아, 이 유전자를 수명, 위치, 역할 등과 같은 다양한 변수에 의해 어떻게 유사하거나 관련되어 있는지 그룹으로 자동 분류하는 방법을 찾으세요.Non-clustering : "칵테일 파티 알고리즘"은 혼란스러운 환경에서 구조를 찾을 수 있도록 합니다. (즉, 칵테일 파티와 같이 소리가 섞여있는 곳에서 개별 목소리와 음악을 식별해 낼 수 있습니다. )출처 : Coursera - Machine Le..
· 머신러닝
지도학습 지도학습에서는 입력과 출력 사이에 관계가 있다는 아이디어를 가지고 우리의 올바른 출력이 어떻게 보일 것인가를 이미 알고 있는 데이터 집합이 우리에게 주어집니다. 회귀와 분류 지도학습 문제는 “회기(regression)” 과 “분류(classification)” 문제로 범주화 할 수 있습니다. 회기 문제에서 우리는 결과를 연속적인 출력값으로 예측합니다. 이 말은 우리가 변수들을 연속함수로 맵핑하려고 시도한다는 뜻입니다. 반면 분류 문제에서 우리는 출력을 불연속값으로 예측하려고 합니다. 다른 말로 우리는 입력 변수를 분리된 카테고리에 매핑하려 한다고 할 수 있습니다.예시 1:부동산 시장에서 집의 크기에 관한 데이터가 주어졌을 때, 그것들의 가격을 예측하는 것. 가격은 크기의 함수로 연속적인 출력값을..
· 머신러닝
두 가지 정의가 제시됩니다. 아서 사무엘(Arthur Samuel)은 “명시적으로 프로그램하지 않고 컴퓨터에게 학습할 수 있는 능력을 주는 것을 연구하는 분야” 라고 했습니다. 이것은 더 오래 되었으며, 비공식적인 정의입니다.톰 미첼(Tom Mitchell)은 좀 더 현대적인 정의로 “과제 T 를 수행할 때의 성능 P가 경험 E를 통해 향상된다면, 컴퓨터 프로그램은 어떤 종류의 과제 T 와 성능 측정 P 와 관련하여 경험 E 로부터 학습한다고 할 수 있다.” 라고 하였습니다예시 : 체커하기E = 많은 체커 게임 수행 경험T = 체커를 하는 것P = 프로그램이 다음 게임에서 승리할 확율일반적으로, 어떻한 머신러닝 문제라도 다음 두 넓은 범위의 카테고리 중 하나로 할당될 수 있습니다.지도학습과 비지도 학습...
개요 카테고리의 표시 형식은 티스토리의 형식이 아닌 Bootstrap의 리스트그룹으로 표시하고 있습니다. 최초 스킨 배포자의 경우, JavaScript를 사용하여 상위 레벨의 카테고리만 표시하도록 설정을 해 놓았습니다. 저의 경우는 서브 카테고리를 사용하기에 이 역시 화면에 함께 표시를 하고자 하였습니다. 따라서 해당 리스트그룹을 접었다 폈다 할 수 있는 형식으로 변경하였습니다. 완성된 모습은 다음과 같습니다. 수정사항 기존의 코드는 다음과 같습니다. // script.js var categories = []; // 전체 글 갯수 구하기 var totalNumberOfPosts = $("a.link_tit > span").text().match(/\(([^)]+)\)/)[1]; categories.pus..
개요 경우에 따라 다르겠지만 일반적으로 웹 또는 모바일 앱을 개발하고 운영하기 위해서는 애플리케이션의 배포, 데이터의 저장, 사용자의 인증 등의 서비스를 제공하기 위한 서버가 필요합니다. 파이어베이스는 웹과 모바일 앱 개발에 필요한 공통적이고 기본적인 기능을 제공하는 **BaaS(**Backend as a Service)입니다. 따라서 Angular 프로젝트에서도 이를 이용하여 개발을 한다면 클라이언트 측의 개발에만 집중하여 전체적인 애플리케이션의 완성을 앞당길 수 있습니다. 이를 위한 환경을 설정해보도록 하겠습니다. Firebase 설정 파이어베이스를 앞선 과정을 통해 생성한 Angular 프로젝트에 연결하도록 하겠습니다. 두 단계로 나누어 진행하도록 하겠습니다. 새로운 Firebase 프로젝트를 생성..
쓴웃음
학습 기록