본문 바로가기

분류 전체보기184

컴퓨터 네트워크 42장 - 파일 전송 - 컴퓨터 네트워크 42장- 파일 전송 - 파일 전송을 위한 사용자 환경으로 대표적인 예시가 FTP 프로그램이다. FTP는 인터넷에 연결된 호스트 간의 파일 복사 기능을 제공하여 원격 시스템과의 파일 송수신 기능을 지원한다. FTP는 File Transfer Protocol의 약자로 사용자는 클라이언트 프로그램을 이용하여 ftp 서버에 접속을 하여 파일을 다운로드 또는 파일 업로드 과정을 수행할 수 있다. FTP 프로그램을 사용하기 위해서는 서버에 등록된 계정과 암호로 로그인을 할 필요가 있다. 일반적으로 다중 사용자에게 파일 서비스를 제공하려고 불특정 다수에게 로그인 계정을 일일이 부여하는 것은 현실적으로 불가능하므로 익명 FTP를 이용하여 공개 소프트웨어 배포와 같은 기능을 수행할 수 있다. UNIX 환.. 2017. 5. 23.
머신러닝(Machine Learning) 4장 - Multi-variable Linear regression - 머신러닝(Machine Learning) 4장- Multi-variable Linear regression - 앞의 과정을 잠깐 정리를 해보자. Linear Regression은 선형적으로 값을 예측하는 방법으로 우선 가설로 H(x) = Wx + b라는 형태의 식을 사용하였다. 이를 통해 실제 결과 값과의 차이인 cost function을 정의할 수 있었고 cost function을 최소화시키는 Gradient descent algorithm에 의해 가장 최적화된 예측 형태를 만들어 낼 수 있었다. 그런데 우리는 여기서 입력 값으로 x라는 값을 하나만 사용하였다. 그런데 하나가 아니라 여러 개의 입력 값을 가지게 되면 어떻게 될까? 특정한 예시로 기말고사의 성적을 예측하는데 중간고사와 2번의 퀴즈를 본 .. 2017. 5. 23.
머신러닝(Machine Learning) 3장 - Linear Regression의 cost 최소화 알고리즘 - 머신러닝(Machine Learning) 3장- Linear Regression의 cost 최소화 알고리즘 - Regression은 우선 Supervised Learning의 종류로 연속적인 데이터로 결과 값을 도출하는 머신러닝의 기법이다. 그 중 Linear Regression은 선형적인 예측을 하는 방법인데 H(x) = Wx + b 와 같은 형태로 예측의 가설을 만들 수 있었다. 가설을 바탕으로 실제 결과 값과 차이를 비교하여 cost function의 값을 만들었다. 그리고 예측을 최적화하는 방법은 바로 cost function의 값을 최소화로 만드는 작업이 될 것이다. 쉽게 이해하기 위해 b라는 값을 0이라고 생각하고 가설을 H(x) = Wx 라는 형태로 먼저 살펴볼 것이다. 그러면 cost fu.. 2017. 5. 23.
[백준 알고리즘] 1463번 1로 만들기 1로 만들기 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다.X가 3으로 나누어 떨어지면, 3으로 나눈다.X가 2로 나누어 떨어지면, 2로 나눈다.1을 뺀다.정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최소값을 출력하시오. #include using namespace std; int dp[1000001]; int make_one(int num){ if (num == 1){return 0;} if (dp[num] > 0){return dp[num];} dp[num] = make_one(num - 1) + 1; if (num % 3 == 0){int k = make_one(num/3) + 1;if (dp[num] > k){dp[n.. 2017. 5. 22.
파이썬(python) 강의 7장 - 함수 - 파이썬(python) 강의 7장- 함수 - 프로그래밍하기 위해서 앞의 장에서 다룬 것과 같이 단순한 형태로 작성하게 되면 엄청나게 많은 코드를 작성해야한다. 간단하게 aaa라는 문자열을 출력할 때에도 aaa라는 문자열을 출력하는 print문을 계속 사용해서 작성해야한다. 이렇게 되면 코드의 길이가 길어지게 되고 가독성, 즉 코드가 무엇을 의미하는지를 알기 어렵다. 이를 위해 함수라는 개념을 도입해서 중복을 줄이고자 한다. 함수는 수학에서 사용하는 함수를 생각하면 되는데 수학에서 특정 입력하는 값에 따라 결과 값을 나타나게 해주는 것이 함수이다. 보편적으로 x와 y를 사용하는데 특정 규칙을 가지고 x를 y라는 결과 값으로 바꾸어준다. 이와 똑같게 파이썬에서 사용하는 함수도 특정한 입력 값으로 특정 결과 값.. 2017. 5. 22.
컴퓨터 네트워크 41장 - 전자 메일 - 컴퓨터 네트워크 41장- 전자 메일 - 전자 메일은 인터넷이 보급되던 초기부터 제공된 서비스로 현재 가장 널리 사용되는 인터넷 서비스 중 하나이다. 전자 메일을 이용한 작업은 크게 메일 내용 편집, 수신한 메일 내용 보기, 메일 박스에 보관된 수신 메일 관리 등으로 나뉜다. 메일 편집은 메일 생성, 회신, 제 3자에게 전달을 하고 메시지 내용 외에도 주소, 작성일자, 참조 수신자 등 다양한 정보 작성이 필요하다. 메일 내용 읽기는 본문 읽기, 첨부 파일 읽기 기능을 수행한다. 수신 메일 관리는 메일 박스로 메일을 삭제, 저장을 한다. 전달 여부 통지는 송신자에게 수신 여부 통보를 하고 메일 시스템의 하부 기능에 의해 메일 오류의 통지로 구형 가능하고 자체 기능으로 구형하면 옵션으로 수신 여부를 확인할 수.. 2017. 5. 22.
머신러닝(Machine Learning) 2장 - Linear Regression의 Hypothesis와 cost - 머신러닝(Machine Learning) 2장- Linear Regression의 Hypothesis와 cost - 1장에서 예시로 사용한 투자한 시간에 대비하는 성적에 대한 예측을 하는 머신러닝을 통해 regression에 대해 다시 생각해보자. training data set는 투자한 시간과 이에 대한 결과 값인 점수가 연속적인 숫자로 나타나게 된다. Regression의 기법을 통해 학습이 되고 난 후에 특정 시간을 입력하게 되면 이에 따른 결과 값을 내보내 준다. 예를 들면 7시간을 넣을 경우 65점 정도의 값을 나타나게 해주는 것이다. Regression을 적용시키기 위해 간단한 데이터를 적용시켜보자. 입력 값인 x에 1, 2, 3을 주어주고 이에 해당하는 결과 값인 y값으로 1, 2, 3을 각.. 2017. 5. 22.
머신러닝(Machine Learning) 1장 - 용어와 개념 설명 - 머신러닝(Machine Learning) 1장- 용어와 개념 설명 - 머신러닝은 과연 무엇인가? 머신러닝은 일종의 소프트웨어이다. 일반적으로 사용하는 웹과 앱과 같은 서비스를 제공해주는 기능을 수행한다. 현재 나와 있는 다양한 소프트웨어들은 프로그래머들에 의해 어떻게 어떤 기능을 수행하라는 것이 다 정해져 있다. 하지만 실제 상황에서 항상 그러한 조건이 맞아 떨어지는 것은 아니다. 예를 들면 메일을 받을 때 스팸 메일인지 아닌지를 알기 위한 조건이 매우 많이 필요하다. 실재로 개발자들이 일일이 나누어 코드를 작성할 수가 없다. 또한 자율 주행 자동차에 대한 예시를 보아도 모든 길에 대해 코드를 작성하여 자율적으로 주행을 하도록 만드는 일은 매우 힘들다. 그래서 1959년 Arthur에 의해 일일이 프로그.. 2017. 5. 22.
[백준 알고리즘] 10817번 세 수 세 수 세 정수 A, B, C가 주어진다. 이 때, 두 번째로 큰 정수를 출력하는 프로그램을 작성하시오. #include using namespace std; int main(){int x;int y;int z;cin >> x;cin >> y;cin >> z;if (x>=y){if(x 2017. 5. 20.
[백준 알고리즘] 10164번 격자상의 경로 격자상의 경로 행의 수가 N이고 열의 수가 M인 격자의 각 칸에 1부터 N×M까지의 번호가 첫 행부터 시작하여 차례로 부여되어 있다. 격자의 어떤 칸은 ○ 표시가 되어 있다. (단, 1번 칸과 N × M번 칸은 ○ 표시가 되어 있지 않다. 또한, ○ 표시가 되어 있는 칸은 최대 한 개이다. 즉, ○ 표시가 된 칸이 없을 수도 있다.) 행의 수가 3이고 열의 수가 5인 격자에서 각 칸에 번호가 1부터 차례대로 부여된 예가 아래에 있다. 이 격자에서는 8번 칸에 ○ 표시가 되어 있다.격자의 1번 칸에서 출발한 어떤 로봇이 아래의 두 조건을 만족하면서 N×M번 칸으로 가고자 한다. 조건 1: 로봇은 한 번에 오른쪽에 인접한 칸 또는 아래에 인접한 칸으로만 이동할 수 있다. (즉, 대각선 방향으로는 이동할 수 .. 2017. 5. 20.