전체 글 182

배열에 아이템을 추가하는 메서드 .append(), .extend(), .insert() 비교

파이썬3에서 배열에 아이템을 추가하는 메서드는 .append(), .extend(), .insert() 등이 있는데, 특징에 차이가 있으므로 그 차이를 잘 기억해두자. 1. append() 가장 일반적으로 쓰이는 메서드. 기존 배열의 뒤에 () 안의 아이템이 들어가게 된다. a = ['a','b','c','d'] a.append('a') a >> ['a', 'b', 'c', 'd', 'a'] 문제는 append() 안에 배열을 넣을 경우, 배열 째로 들어가게 된다. a = ['a','b','c','d'] b = ['e','f'] a.append(b) a >> ['a', 'b', 'c', 'd', ['e', 'f']] 2. extend() append() 대신 extend()를 쓰게 되면 배열 안의 각 아..

Programming/Python 2021.06.21

leetcode 621. Task Scheduler 과업 스케줄러 문제풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 https://leetcode.com/problems/task-scheduler/ Task Scheduler - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode...

leetcode 739. Daily Temperatures 일일 온도 문제 풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 https://leetcode.com/problems/daily-temperatures/ Daily Temperatures - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. l..

leetcode 20. Valid Parentheses 유효한 괄호 문제 풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 https://leetcode.com/problems/valid-parentheses/ 입력: 괄호로 구성된 문자열 출력: boolean 문제 요약: 괄호는 항상 마지막에 오는 여는 괄호의 닫힌 괄호가 먼저 나와야 한다. 즉, (){} 이나 ({}) 는 True이지만, {(}) 는 마지막 여는 괄호 ( 에 맞는 )가 오지 않았으므로 False 이다. 그리고 모든 괄호들이 닫혀야지만, True이고 ..

[AI class w8d4] 신경망의 기초 - 기계학습과 수학

기계 학습과 수학 기계 학습에서 수학의 역할 수학은 목적함수를 정의하고, 목적함수의 최저점을 찾아주는 최적화 이론 제공 최적화 이론에 학습률, 멈춤조건과 같은 제어를 추가하여 알고리즘 구축 사람은 알고리즘을 설계하고 데이터를 수집 기계학습은 수학/알고리즘/사람이 수집하는데이터 로 이루어진다. 선형대수 벡터와 행렬 벡터 샘플을 특징 벡터(feature vector)로 표현 요소의 종류와 크기 표현 예) $x\in R^n$ 데이터 집합의 여러 개 특징 벡터를 첨자로 구분$(x_i)$ 예) $x_1 = \begin{pmatrix} 1&\cr 2&\cr 3 \end{pmatrix}$ 행렬 여러개의 벡터를 담음 요소: $x_{ij}$, i번째 행과 j번째 열로 이루어짐 훈련집합을 담은 행렬을 설계행렬(design..

Machine Learning 2021.06.18

[AI class w8d3] 신경망의 기초 - 인공지능과 기계학습 소개

인공지능과 기계학습 소개 엔비디아 : 첨단 엣지 기술을 많이 전파하고 있다. 엔비디아의 CEO가 말하길 “소프트웨어가 결국 세상을 먹여살릴 것이고, AI가 소프트웨어를 먹여살릴 것이다.” 인공지능 : 인간의 학습능력과 추론능력, 지각능력, 자연언어의 이해능력 등을 컴퓨터 프로그램으로 실현한 기술 무엇을 하고 싶은가? : 인간처럼 생각하고 행동하는 기기의 탄생! 인공지능의 핵심은 “학습”이다! 인공지능의 요소기술 중에 “머신러닝”이 있고, 머신러닝 안에서도 “딥러닝”에 대해 살펴볼 것이다. 일상 속 인공지능 음성인식 추천시스템 자율주행 실시간 객체 인식 로봇 번역 인공지능을 하려면, Python과 Open Source로 많이 소통해라! 인공지능 == 도구 도구를 만드는 방법을 배우는 것도 중요하지만, 도구..

Machine Learning 2021.06.18

[AI class w8d2] ML 기초 - 분류문제 실습

확률적 식별 모델 다중클래스 로지스틱 회귀 우도함수 소프트맥스, 시그모이드의 함수들 사이의 관계를 잘 기억할것 체인룰을 쓰기 위해 함수관계를 잘 이해해야 한다. Gradient Descent(batch) 사이킷런의 make_classification을 통해 쉽게 데이터를 만들어낼 수 있다. 로지스틱 리그레션 모델에서 반드시 써야하는 함수가 시그모이드 함수이다. 지수함수에 1을더해서 나눈것을 시그모이드 함수로 정의한다. Cost를 계산하는 함수 : 현재의 파라미터값 w가 주어져 있을 때 입력 X와 목표값 t에 대해 cost를 계산한다. 전체 데이터를 한꺼번에 넣어서 그래디언트를 업데이트 하는데, 이를 배치 업데이트라고한다. 배치란 데이터 전체를 한꺼번에 원샷으로 다 쓴다는 의미이다. 딥러닝에서 말하는 배치..

Machine Learning 2021.06.18

CS231n : 스탠포드 딥러닝 강의 관련 자료

https://www.youtube.com/watch?v=vT1JzLTH4G4&list=PL3FW7Lu3i5JvHM8ljYj-zLfQRF3EO8sYv 프로그래머스 딥러닝 강좌를 열심히 듣고 있는 중이지만, 어렵다. 제공되는 강의를 한 번 듣고, 복습으로 한 번 더 듣고, 참고자료로 추천한 책도 들춰보지만, 여전히 수많은 정보들을 내가 이해를 하고 있는 것인지, 내 머리에 저장은 되는 것인지 정신이 없다. 수업시간 참고자료 중에 책 뿐 아니라, 강의 동영상 자료도 있길래 좀 찾아봤더니 유튜브에 무료로 공개되어있다고 해서 보기 시작했다. 구글링을 좀 해봤더니, 머신러닝, 딥러닝을 공부하는 초보자들에게 바이블 같은 강의같다. 그리고 프로그래머스 딥러닝 / 비전 쪽 강의의 커리큘럼도 이 강의의 얼개와 큰 차이가..

Deep Learning 2021.06.18

[AI class w7d4] Linear Model for Classification 선형분류 TIL

분류(classification)의 목표 입력벡터 $\bf x$를 $K$개의 가능한 클래스 중에서 하나의 클래스로 할당하는 것 분류를 위한 결정이론 확률적 모델 (probabilistic model) 생성모델 (generative model): $p({\bf x}|\mathcal{C}_k)$와 $p(\mathcal{C}_k)$를 모델링한다음 베이즈 정리를 사용해서 클래스의 사후 확률 $p(\mathcal{C}_k|{\bf x})$를 구한다. 또는 결합확률 $p({\bf x}, \mathcal{C}_k)$을 직접 모델링할 수도 있다. 식별모델 (discriminative model): $p(\mathcal{C}_k|{\bf x})$를 직접적으로 모델링한다. 판별함수 (discriminant function..

Machine Learning 2021.06.14

[AI class w7d3] Linear Model for Regression 선형회귀 TIL

오늘 내용은 PRML 3장의 내용이다. 선형 기저 함수 모델 가장 단순한 형태의 선형모델 $$ y(x, w) = w_0 + w_1x_1 + \dots + w_Dx_D $$ 이 모델의 파라미터는 $\textbf w=(w_0,\dots,w_D)^T$ 벡터이다. 위 함수는 파라미터 $\textbf w$에 대해 선형일 뿐만 아니라 입력데이터 $\textbf x$에 대해서도 선형이다. $\textbf x$에 대해 비선형인 함수를 만들고 싶다면? $$ y(x, w) = w_0 + \sum_{j=1}^{M-1}w_j\phi{_j}(x) $$ $$ y(x, w) = \sum_{j=0}^{M-1}w_j\phi{_j}(x) = w^T\phi(x) $$ $\textbf x$에 대해 비선형인 함수 $\phi_j(\textbf..

Machine Learning 2021.06.09

[AI class w7d2] Probability Distributions 2(연속확률분포) 확률분포 TIL

주로 PRML 2-3 에 해당되는 내용인 것 같다. 가우시안 분포 (Gaussian Distribution) 가우시안 분포가 일어나는 여러가지 상황 정보이론에서 엔트로피를 최대화시키는 확률분포 중심극한 정리 동일한 확률변수 N개가 있을 때, N이 커질수록 가우시안 분포에 가까워짐 중심극한정리의 의미 단일변수 $x$ $D$차원 벡터 $ \textbf x$ (전체 값은 스칼라가 됨) 💡 여기서 $\mu$는 $D$차원의 평균 벡터$\Sigma$(sigma)는 $D \times D$ 크기를 가지는 공분산 행렬이다. 중요한 것은 $\mu$와 $\Sigma$가 평균과 공분산으로 주어진 것이 아니고, 이것들이 파라미터로 주어진 확률밀도함수의 평균과 공분산이 $\mu$와 $\Sigma$가 된다는 것이다. 가우시안 분포..

Math 2021.06.08

[AI class w7d1] Probability Distributions (이산확률분포) 확률분포 TIL

전체적으로 PRML(Pattern Recognition & Machien Learning) 2장의 내용을 정리한 것 같다. 책의 2장 내용을 정리한 블로그: http://norman3.github.io/prml/docs/chapter02/1 밀도추정 (Density Estimation) $N$ 개의 관찰데이터(observations) $x_1, ..., x_N$ 가 주어졌을 때 분포함수 $p(x)$를 찾는 것 $p(x)$ 를 파라미터화된 분포로 가정한다. 회귀, 분류문제에서는 주로 p(t|x), p(C|x)를 추정한다. 그다음 분포의 파라미터를 찾는다. 빈도주의(Frequentism) 방법 : 어떤 기준(예: likelihood)을 최적화시키는 과정을 통해 파라미터 값을 정한다. 그렇게 파라미터의 하나의..

Math 2021.06.07

[AI class w6d5] Week6 과제 ML Basics 실습

어떤 데이터셋을 주고 예측하는 과제였다. kaggle 대회가 아닌, 다른 곳에서 한(아마도 인도?) 데이터셋이었는데, 검색해보니, 아무래도 대회에 참가했던 인도 분들이 많이 있어서 인지 github에 코드가 꽤 올라와 있기는 했다. 그러나 강사님께서 따로 데이터를 좀 만지셨는지, 데이터셋이 완전히 같지는 않았고, 무엇보다 대회에서 요구한 지표가 다른지 이미 올라와 있는 노트북들은 대부분 classifier로 문제를 해결했는데, 이번 과제는 평가지표를 MAE로 하라고 했다. 참고 : 모델 성능 평가지표 예측해야 하는 값은 delivery time 이었는데, time이기 때문에 연속적인 변수이고, 평가지표도 MAE로 요구하였기 때문에 과제는 회귀모델로 분석하였다. 그런데 실제 y label의 value를 살..

Machine Learning 2021.06.07