Loading...
2022. 1. 27. 21:01

파이썬(python)의 객체(object)와 클래스(class)

1. 객체(object) 속성(attribute)과 행동(action)을 가짐 속성은 변수로 행동은 함수로 표현 파이썬은 객체 지향 언어이다. 모든 데이터는 객체로 표현되거나 객체 사이의 관계로 표현된다 여러 물체들을 객체로 표현하여 실제 세상을 모델링 예) 인공지능 축구 프로그램의 축구선수 객체 : 축구선수는 인공지능 프로그램에서 하나의 객체다 행동 : 공을 찬다, 패스한다 속성 : 이름, 포지션 2. class 객체의 설계도 함수명이 snake case(소문자 사용, 단어 사이에는 _로 연결), 객체명은 보통 camel case(각 단어 첫글자를 대문자)를 따른다 class라는 예약어를 사용 class (이름) (상속 객체): 속성 행동 부모 객체는 보통 상속 객체에 object(생략 가능함) 인스턴..

2022. 1. 27. 20:55

image classification 문제 이해하기

1. model input을 받아 output을 낸다 input은 이미지 뿐만 아니라 tabular(정형데이터), sound, text 등 다양함 어떤 input을 쓰고 어떤 output을 쓰고 어떤 model을 쓸지에 따라 task 이름이 결정 다양한 형태의 input을 잘 이해해야 model이 output을 어떻게 내는지 잘 이해할 수 있을 것 image classification task는? image를 input으로 넣어 model이 categorical class를 output으로 낸다 이미지나 영상을 입력하고 이미지나 영상의 카테고리를 출력으로 주는 것 입력으로 준 이미지나 영상의 카테고리를 분류하는 하나의 함수 mapping을 classifier라고 한다 그러나 output도 0~1사이의 c..

2022. 1. 27. 09:05

그래프(graph)와 관련된 인공지능 문제

1. node classification node가 여러가지 유형을 가질 때 각 node의 유형을 추측하는 문제 아래 그림은 사용자 계정 간 리트윗 정보를 그래프로 표현하여 각 리트윗이 나타내는 정치적 성향을 분석하여 크게 2가지 색깔로 나타냄 같은 정치적 성향을 가지는 사람끼리는 서로 트윗 공유를 할 가능성이 높을 것이다. 같은 색을 가지는 node들이 서로 모여있다는 것을 알 수 있다. 위와 같은 분석결과에 정치적 성향을 모르는 새로운 node가 추가되었다면 공유관계를 분석하여 새롭게 분류할 수 있을 것 단백질의 상호작용을 분석하여 단백질의 유형을 나누는 문제 2. link prediction 주어진 그래프가 어떤 식으로 연결되면서 성장할지 거시적으로 link를 예측하는 문제 페이스북의 진화 페이스북..

2022. 1. 26. 21:22

backpropagation의 개괄적인 설명

손실함수를 가중치나 절편에 대해 최소화시키는 방법 L이 loss이고 W는 가중치 b는 절편 손실함수를 가중치나 절편에 대해 최소화시키는 방법 그런데 미분값을 계산하는 과정에서 최상층에서 최하층으로, 역으로 미분 계산이 진행된다해서 Backpropagation이라 부른다. 합성함수 미분법에 의한 연쇄법칙이 기반 예제) 2층신경망의 역전파 알고리즘 방법은? 비슷한 방식으로 도 구할 수 있다. 확률적 경사하강법 등을 이용하여 손실함수 L을 최소화시키는 방향으로 가중치 W와 절편 b을 계속 갱신해나감

2022. 1. 26. 20:50

파이썬(python)의 generator란?

iterable object를 특수한 방식으로 사용하는 형태 주소값만 가지고 있다가 사용자가 사용할 때 값을 메모리에 반환 out [114]를 보면 0x84~에 iterator가 있다는 거임. 주소값만 가지고 있음 next를 이용해 사용자가 사용을 하면 다음 위치의 값을 메모리에 반환시킴 큰 데이터를 처리할때 메모리를 효율적으로 사용할 수 있음 그림1과 그림2를 보면 리스트가 메모리 528인데 generator는 메모리가 120으로 매우 작다 실제로 사용하고자 할 때 메모리에 값이 반환되어 보인다는 것이 for loop로 보인다 yield나 (), iter() 등으로 생성가능 위 그림은 ()를 사용해서 generator를 생성한 것

2022. 1. 26. 20:37

그래프 알고리즘 문제의 기본 스킬1

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/86971 코딩테스트 연습 - 전력망을 둘로 나누기 9 [[1,3],[2,3],[3,4],[4,5],[4,6],[4,7],[7,8],[7,9]] 3 7 [[1,2],[2,7],[3,7],[3,4],[4,5],[6,7]] 1 programmers.co.kr n개의 송전탑이 전선을 통해 하나의 트리형태로 연결되어 있습니다. 당신은 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 합니다. 이 때, 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추려고 합니다. 송전탑의 개수 n, 그리고 전선 정보 wires가 매개변수로 주어집니다. 전선들 중 하나를 끊어서 송전탑 개수가 가능한..