mstst33

SW Developer

머신 러닝의 분류

머신 러닝에는 현재 지도학습, 비지도학습, 자기 지도 학습, 강화 학습 4개의 커다란 범주가 있다.             1. 지도학습 기존에 했던 이진 분류, 다중 분류, 스칼라 회귀 같이 샘플 데이터와 사람이 제시한 타깃에 매핑하는 방식의 학습 방법이다. 즉, 사람이 데이터와 정답을 모두 제시하여 이런 경우에는 이게 맞다고 하며 직접 지도하는 방식인 것이다. …

머신 러닝의 분류 Read More »

신경망 기초 활용

신경망의 기초 활용에 대해 알아보자 벌써 3번째지만 중요한 신경망의 구조다. 이번에는 각각의 문제를 해결하기 위해 적합한 신경망의 기초 활용에 대해 알아보겠다. 이진 분류 이진 분류는 쉽게 말해 0과 1, 참과 거짓, 긍정과 부정 등으로 이분법 가능한 경우에 쓰이는 기법이다. 책(케라스 창시자에게 배우는 딥러닝)에서 나오는 대표 예제는 IMDB(Internet Movie DataBase)를 활용한 영화 평가에 대한 예제이다. 이 …

신경망 기초 활용 Read More »

텐서와 그래디언트 기반 최적화

저번에는 딥러닝이 무엇 인가에 대해 알아 보았고, 이번에는 머신러닝 기법 중 하나인 딥러닝의 차이를 나타내는 신경망(깊은 층)의 기본 구성요소에 대해 간략히 알아보고 신경망을 어떻게 최적화 시키는지 개념적으로 알아보자.    텐서 (Tensor) 머신 러닝의 기본 구성 요소로 데이터를 위한 그릇(Container) 역할을 한다. 일반적으로 Ptython 으로는 numpy 라는 library로 배열을 만들어 쓴다. 텐서의 종류는 배열 차원에 따라 …

텐서와 그래디언트 기반 최적화 Read More »

딥러닝(Deep Learning) ?

케라스 창시자에게 배우는 딥러닝, 프로그래머를 위한 선형 대수, 밑 바닥부터 시작하는 딥러닝 얼마 전 부터 위 세 개 책으로 딥러닝 공부를 시작했고 공부한 것들을 나름 정리해 보려한다. 처음에 궁금하던 것이 인공지능과 머신러닝, 딥러닝의 관계? or 차이였다. 책에 따르면 그 관계에 대한 설명은 아래 그림으로 간략하게 나타낼 수 있다.               …

딥러닝(Deep Learning) ? Read More »

[Programmers] 쇠막대기

Problem Link: Lv2. 쇠막대기 문제 설명 여러 개의 쇠막대기를 레이저로 절단하려고 합니다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자릅니다. 쇠막대기와 레이저의 배치는 다음 조건을 만족합니다.

아래 그림은 위 조건을 만족하는 예를 보여줍니다. 수평으로 그려진 굵은 실선은 쇠막대기이고, 점은 레이저의 위치, 수직으로 그려진 점선 화살표는 레이저의 발사 방향입니다. 이러한 …

[Programmers] 쇠막대기 Read More »

[Programmers] 하노이의 탑

Problem Link : Lv3. 하노이의 탑 문제 설명 하노이 탑(Tower of Hanoi)은 퍼즐의 일종입니다. 세 개의 기둥과 이 기동에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대로 쌓여 있습니다. 게임의 목적은 다음 두 가지 조건을 만족시키면서, 한 기둥에 꽂힌 원판들을 그 순서 그대로 다른 기둥으로 옮겨서 …

[Programmers] 하노이의 탑 Read More »

[Programmers] 최고의 집합

Link : Lv3. 최고의 집합 문제 설명 자연수 n 개로 이루어진 집합 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다. 각 원소의 합이 S가 되는 수의 집합 위 조건을 만족하면서 각 원소의 곱 이 최대가 되는 집합 예를 들어서 자연수 2개로 이루어진 집합 중 합이 9가 되는 집합은 다음과 같이 4개가 있습니다. { 1, 8 …

[Programmers] 최고의 집합 Read More »

[Programmers] 가장 긴 팰린드롬

Link : Lv3. 가장 긴 팰린드롬 문제 설명 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들면, 문자열 s가 abcdcba이면 7을 return하고 abacde이면 3을 return합니다. 제한사항 문자열 s의 길이 : 2500 이하의 자연수 문자열 s는 알파벳 소문자로만 구성   문제 풀이 단순히 첫 문자에서 …

[Programmers] 가장 긴 팰린드롬 Read More »

[Programmers] 땅따먹기

Link : Lv2. 땅따먹기 문제 설명 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟으면서 내려와야 합니다. 단, 땅따먹기 게임에는 한 행씩 내려올 때, 같은 열을 연속해서 밟을 수 없는 특수 규칙이 있습니다. 예를 …

[Programmers] 땅따먹기 Read More »

[Programmers] 숫자의 표현

Link : Lv2. 숫자의 표현 문제 설명 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다. 1 + 2 + 3 + 4 + 5 = 15 4 + 5 + 6 = 15 7 + …

[Programmers] 숫자의 표현 Read More »