반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


Kaggle - Learn Intro to Deep Learning(1) A Single Neuron

Use TensorFlow and Keras to build and train neural networks.

 

1. 배울 것들

- fully-connected neural network 아키텍쳐 생성

- Neural nets를 이용하여 회귀와 분류 ML 문제 적용

- stochastic gradient descent로 neural nets 훈련(확률적 경사하강법)

- dropout과 batch nomalization 이외 다른 것들 performance 향상

 

2. What is Deep Learning?

- 최근에 AI 분야에서 딥러닝의 분야가 두각되고 있음

- 예를 들어, 자연어 처리 번역, 이미지 인식, 인공지능 수준의 게임 등이 있다.

 

3. Deep Learning?

- 딥러닝은 기계 학습에 대한 접근법으로서 계산이 깊이 쌓이는 것이 특징

- 이러한 깊이 있는 계산은 딥러닝 모델이 가장 까다로운 실생활의 data set에서 발견되는 복잡하고 계층적인 패턴의 종류를 분리할 수 있게 해준다.

- 딥러닝 기술의 힘과 확장성을 통해 신경망은 딥러닝의 정의 모델이 되었다.

- 신경망은 뉴런으로 구성되어 있으며, 각 뉴런은 개별적으로 간단한 연산만 수행한다.

- 신경망의 힘은 이 뉴런들이 형성할 수 있는 연결의 복잡함에서 나온다.

- 즉, 복잡함에 따라 신경망은 더욱 강해진다.

 

4. The Linear Unit

- 아래의 그림에서 Linear Unit은 1개의 1개의 입력(X)을 받아 가중치와 bias로 계산이 된다.

- y = wx + b

- b는 bias(편향)이라고 부르는 특병한 종류의 가중치이다.

- bias는 어떤 input data와 연관이 없다.

- 대신에, diagram에 1을 넣어 뉴런에 도달하는 값이 b가 되도록 한다. 즉, 1*b = b 가 되도록 한다.

- bias는 뉴런이 입력과 독립적으로 출력을 수정할 수 있게 할 수 있다.

- y는 궁극적으로 출력되는 뉴런 값이다.

출처 : https://www.kaggle.com/ryanholbrook/a-single-neuron

 

5. Multiple Inputs

- y = w0x0 + w1x1 + w2x2 + b

- 3 input and 1 bias

 

 

반응형
반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


 실패분류

시간 제한메모리 제한제출정답맞은 사람정답 비율

0.5 초 (추가 시간 없음) 256 MB 42406 19904 15381 49.086%

문제

정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.

명령은 총 여섯 가지이다.

  • push X: 정수 X를 큐에 넣는 연산이다.
  • pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.
  • size: 큐에 들어있는 정수의 개수를 출력한다.
  • empty: 큐가 비어있으면 1, 아니면 0을 출력한다.
  • front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.
  • back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.

입력

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다.

출력

출력해야하는 명령이 주어질 때마다, 한 줄에 하나씩 출력한다.


N = int(input())
Que = []
for i in range(N) :
    A = input().split()
    if A[0] == 'push' : Que.append(A[1])
    elif A[0] == 'pop' : 
        if Que : print(Que.pop(0))
        else : print(-1)
    elif A[0] == 'size' : print(len(Que))
    elif A[0] == 'empty' :
        if len(Que) == 0 : print(1)
        else : print(0)
            
    elif A[0] == 'front' :
        if len(Que) == 0 : print(-1)
        else : print(Que[0])
    
    elif A[0] == 'back' :
        if len(Que) == 0 : print(-1)
        else : print(Que[-1])

위의 코드를 넣고 돌리면 시간초과가 뜬다.

그래서, stdin을 사용해야 한다.

 

위의 코드에서 from sys import stdin과

 

N 값을 입력 받을 때 int(stdin.readline()), A = stdin.readline().split()으로 코드를 교체하였다.

 

from sys import stdin

N = int(stdin.readline())
Que = []
for i in range(N) :
    A = stdin.readline().split()

    if A[0] == 'push' : Que.append(A[1])

    elif A[0] == 'pop' : 
        if Que : print(Que.pop(0))
        else : print(-1)

    elif A[0] == 'size' : print(len(Que))

    elif A[0] == 'empty' :
        if len(Que) == 0 : print(1)
        else : print(0)
            
    elif A[0] == 'front' :
        if len(Que) == 0 : print(-1)
        else : print(Que[0])
    
    elif A[0] == 'back' :
        if len(Que) == 0 : print(-1)
        else : print(Que[-1])
반응형
반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. 문제

1~20범위의 정수 n을 입력받고 팩토리얼(n!) 값을 출력하세요. - 재귀를 이용하여

 

N = int(input())

def factorial(n) :
    if n <= 1 :
        return 1
    return n * factorial(n-1)

factorial(N)

 

 

 

 

 

 

 

 

 

 

 

 

반응형
반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. 문제

1~20범위의 정수 n을 입력받고 팩토리얼(n!) 값을 출력하세요.

 

N = int(input())

result = 1
for i in range(2, N+1) :
    result *= i

print(result)

 

 

 

 

 

 

 

 

 

 

 

 

반응형
반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. 문제

"3...1...4"와 "1...9..2..2..1"에 나오는 숫자의 합을 구해 출력하세요.

 

result = 0
A = "3...1...4"
B = "1...9..2..2..1"

for i in range(len(A)) :
    if A[i].isdigit() : result += int(A[i])
        
for i in range(len(B)) :
    if B[i].isdigit() : result += int(B[i])
        
result

 

 

 

 

 

 

 

 

 

 

 

반응형
반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. 문제

전화번호를 '02-540-5403' 형식으로 입력받고, 그 중에서 숫자만 출력하세요.

 

A = list(input())
result = []
result = [A[i] for i in range(len(A)) if A[i].isdigit()]
result
print(''.join(result))

 

A = input()
print(A.replace('-',''))

 

 

 

 

 

 

 

 

 

 

 

반응형
반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. 문제

정수 리스트 na에 20, -10, 5, -4, -11, 6, -1 값이 있을 때, 리스트 요소 값을 모두 출력하고, 음수의 합을 출력하세요.

 

na = [20,-10,5,-4,-11,6,-1]
result = 0
for i in na :
    if i < 0 :
        result += i

print(result)

 

 

 

 

 

 

 

 

 

 

 

 

반응형
반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. 문제

1부터 10의 4제곱 값을 pow() 함수로 계산하여 출력하세요. 그리고 그 결과들의 합을 출력하세요.

 

result = 0
for i in range(1,11) :
    print(pow(i,4))
    result += pow(i,4)

print(result)

 

 

 

 

 

 

 

 

 

 

 

 

반응형
반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. 문제

0~100 사이의 난수(random number) 5개를 출력하세요.

 

import random
A = []
for i in range(5) : 
    A.append(random.randint(0,100))
반응형
반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. 문제

첫날에 1원, 둘째 날에 2원, 셋째 날에 4원씩 매일 두 배씩 증가하여 저축할 때, 30일째 되는 날에 저축해야 하는 금액을 출력하세요.

 

Day = 30
Money = 1
for i in range(2, Day+1) :
    Money *= 2

print(Money)

 

 

 

 

 

 

 

 

 

 

 

 

반응형

+ Recent posts