본문 바로가기

전체 글

(17)
1. 머신러닝 머신 러닝(Machine Learning)은 명시적인 프로그래밍 없이 스스로 학습하고 성능을 지속적으로 개선하는 인공지능 기술이다. 머신 러닝 알고리즘은 특정 분야에 대해 수학 모델을 수립하고 데이터를 학습함으로써 수학 모델을 완성하여 결과를 예측하거나 의사결정을 한다. 머신러닝 개념 머신 러닝 기술은 비지도 학습, 지도 학습 그리고 강화 학습으로 구성된다.   비지도 학습은 데이터의 특성을 중심으로 유사한 특성끼리 데이터를 묶는 기술이다. 비지도 학습에서는 학습 목표에 대해 기준이 되는 데이터가 없다. 예를 들어 고객 구매 데이터를 바탕으로 고객 등급을 분류할 때 비지도 학습을 사용하면 유사한 구매 패턴을 가진 고객 등급을 찾아낼 수 있다. 어떤 고객이 우량 고객이고 어떤 고객이 비우량 고객인 지에..
2. 선형 회귀(Linear Regression) 분석 머신 러닝의 개념을 이해하기 위해 가장 간단한 1차원 선형 회귀 분석에 대해 알아보자. 선형 회귀 분석은 지도 학습의 일종으로 예측 모델을 만들어 알려지지 않은 데이터가 들어왔을 때 결과를 예측하는 기술이다.  선형회귀분석  그림에서 학습 데이터는 2차원(x, y) 데이터로 구성되어 있다. 목적은 학습 데이터에 없는 x 값이 들어왔을 때 y 값을 예측하는 모델을 만드는 것이다. 데이터가 완전한 일차원 선형 분포를 가지고 있지는 않지만 1차 방정식을 알아내면 오차는 있지만 대략적인 y 값을 알 수 있다.  비용함수 그림에서 알 수 있듯이 모델은 1차 방정식이 되며 계수 W와 b값이 무엇인지 만 알면 된다. 머신 러닝에서는 W를 가중치(Weight) b를 편향(bias)라 부른다. 1차원 선형 회귀분석의 목..
3. 분류(Classification) 분석 두 종류의 데이터를 분류하는 이진 분류 분석에 대해 알아보자. 분류 분석 또한 지도학습의 한 종류이며 가장 간단한 이차원 (X, Y) 데이터를 살펴보자. 그래프 상단에는 X가 여러 개 있고 하단에는 여러 개의 O가 있다. 알려진 X와 O를 학습해서 알려지지 않은 데이터가 왔을 때 어디에 속하는지 아는 것이 이진 분류의 목적이다.  먼저 X와 O의 경계를 구분 짓는 1차 선형 함수를 알아내야 한다. Y = W*X + b를 만족하는 W와 b를 찾아내는 것이다. 앞에서 공부한 선형 회귀 개념과 유사한 기법을 적용하면 된다. 1차 선형 함수를 알아 내는 것은 어려운 일이 아니다.  분류분석 문제는 1차 선형 함수를 어떻게 이진 분류에 적용 하나냐 이다. 여기에 새롭게 등장하는 개념이 활성 함수(Activatio..
4. 딥러닝 보호되어 있는 글입니다.
5. 강화학습 강화학습이란 강화학습은 에이전트가 주어진 환경에서 누적 보상이 최대화 되도록 행동하게 하는 정책이 무엇이지 알아내는 머신 러닝의 분야이다. 강화학습에서 에이전트란 환경에서 행동하는 주체이다. 아기가 걸음마하는 문제를 풀어야 하는 환경에서는 아기가 에이전트가 된다. 보상(Reword)이란 에이전트가 좋은 행동을 했는지 나쁜 행동을 했는지 알려주는 정보이다. 강화학습에서 에이전트가 좋은 행동을 한다면 플러스 보상이 주어지고 나쁜 행동을 한다면 마이너스 보상이 주어진다. 좋은 행동이란 목표에 도달하는데 도움을 주는 행동이고 나쁜 행동이란 반대로 목표에 도달하는데 방해가 되는 행동이다.  강화학습에서 정책(Policy)이란 행동을 결정하는 기준이다. 좋은 정책을 만들어야 좋은 행동을 하고 보상을 많이 받을 수 ..
정보시스템 운영하기 □ 정보시스템 운영하기  프로젝트가 완료되면 시스템은 운영 단계로 들어가게 된다. 시스템 구축 만 전문으로 하는 프로그래머에게는 운영이라는 단어가 조금 생소하게 느껴질 지 모르지만 운영에 대한 전반적인 업무와 기술을 이해하고 있어야지만 좀 더 유지보수가 쉽고 생산성이 높은 프로그램을 만들 수 있다. 운영 업무를 담당하는 프로그래머 또한 운영에 필요한 전반적인 기술을 잘 알지 못하는 경우가 많다. 기업에서는 개발, 운영, 시스템관리, 보안 등 업무가 분리되어 있기 때문에 자신의 분야가 아닌 분야에서 어떤 일을 하고 어떤 기술이 필요한지 잘 알지 못한다. 하지만 시스템 장애가 발생할 경우 원인 파악을 위해서는 내가 운영하는 시스템과 연관된 시스템 사이에 어떤 장비가 있고 어떤 경로를 통해 정보를 주고 받는지..
시스템운영에 필요한 인프라 지식 □ 시스템운영에 필요한 인프라 지식 ○ 시스템 구성도 시스템 구성도 기업의 정보시스템을 한 눈에 확인할 수 있는 시스템 구성도를 알아보자. 시스템 구성도는 시스템의 배치와 연결관계를 아이콘과 선을 이용해서 구조화한 그림이다. 중소규모의 기업에서도 수 십 개의 장비가 복잡하게 얽혀 있기 때문에 시스템 구성도를 그려놓지 않고서는 현황을 파악할 수 없다. 일반적으로 시스템 구성도는 시스템관리자나 네트워크관리자가 보관하고 있다. 프로그래머 입장에서도 내가 운영하는 시스템이 전체 구조에서 어디에 위치에 있는지 알고 있는 것이 좋기 때문에 자료를 요청해서 가지고 있는 것이 좋다. 위 그림에서도 만만치 않은 양의 장비가 구성도에 들어 있다. 한꺼번에 모든 기능을 이해한다는 것은 쉬운 일은 아니지만 시스템 운영에 필수..
시스템운영에 필요한 네트워크 지식 □ 시스템운영에 필요한 네트워크 지식 ○ TCP/IP 프로토콜 TCP/IP 프로토콜은 인터넷의 기반을 이루는 전 세계적으로 가장 많이 사용되는 통신 프로토콜이다. 패킷 통신을 담당하는 IP(Internet Protocol)과 전송 조절을 담당하는 TCP(Transmission Control Protocol)로 구성된다.   두 개체가 TCP/IP를 사용해서 통신을 하기 위해서는 먼저 연결(Connection)을 맺어야 한다. 연결을 위해서는 연결 데이터를 여러 차례 교환하는데 이것을 핸드쉐이킹(handshaking)이라 하며 모두 세 번에 걸쳐 데이터가 전송된다고 해서 3 way handshaking이라고 한다.   TCP/IP 프로토콜은 데이터 전송의 신뢰성을 보장하기 위해 재전송 타이머, 체크썸, 중..