전체 글(30)
-
Algorithm | 피보나치 수
# 첫 시도: 재귀를 이용 def fibonacci(n): if n == 0: return 0 if n == 1: return 1 else: return fibonacci(n-1) + fibonacci(n-2) 위 코드의 경우 $n$이 크지 않은 경우 잘 작동하지만, $n$이 30을 넘어가면 시간이 매우 오래 걸린다. 이는 구조상 내부에서 함수를 매우매우매우 많이 반복해야하기 때문이다. # 메모이제이션 def fibonacci(n): numbers = [0, 1] # 처음 두 개의 피보나치 수 for i in range(1, n): numbers.append(numbers[i] + numbers[i-1]) return numbers[n] 위 코드의 경우 피보나치 수를 원소로 하는 리스트를 생성한 후 계속..
2021.01.04 -
Adative Linear Neuron(적응형 선형 뉴런; Adaline)
Intro Adaline(이하 아달린)은 퍼셉트론의 향상된 버전으로 볼 수 있다. 아달린은 연속 함수를 비용함수로 정의하고 최소화한다. 아달린 규칙(위드로우-호프 규칙)과 로젠블라트의 퍼셉트론의 가장 큰 차이점은 가중치를 업데이트하는 데 퍼셉트론처럼 단위 계단 함수 대신 선형 활성화 함수를 사용한다는 점이다. 아달린에서 선형활성화 함수 $\phi(z)$는 최종 입력과 동일한 함수이다. 즉 다음과 같다. $$\phi(\mathbf w^T \mathbf x) = \mathbf w^T \mathbf x$$ 선형 활성화 함수가 가중치 학습에 사용되지만 최종 예측을 만드는 데에는 여전히 임계함수를 사용한다. 퍼셉트론에서의 단위 계단 함수와 유사하다. 아달린 알고리즘은 진짜 클래스 레이블과 선형 활성화 함수의 실수..
2021.01.02 -
Perceptron(퍼셉트론)
1. 수학적 정의 입력 신호 → 수상 돌기 → 축삭 돌기 → 출력 신호 수상 돌기에 여러 신호가 도착하면 세포체에 합쳐진다. 합쳐진 신호가 특정 임계값을 넘으면 출력 신호가 생성되고 축삭 돌기를 이용하여 전달된다. 로젠블라트(Frank Rosenblatt)는 뉴런 모델을 기반으로 퍼셉트론 학습 개념을 처음 발표했다. 퍼셉트론 규칙에서 로젠블라트는 자동으로 최적의 가중치를 학습하는 알고리즘을 제안했다. 이는 두 개의 클래스가 있는 이진분류 작업으로 볼 수 있다. 두 클래스는 간단하게 1(양성 클래스)과 -1(음성 클래스)로 나타낸다. 그 다음 입력 값 $\bf{x}$와 이에 상응하는 가중치 벡터 $\bf{w}$의 선형 결합으로 결정 함수 $\phi(z)$를 정의한다. 최종 입력은 $z = w_1x_1 + ..
2021.01.02 -
Python을 이용한 시각화 시작하기
시각화 라이브러리로는 Matplotlib, Seaborn, Mayavi 등이 있지만, 우선은 Matplotlib부터 시작하기로 한다. 내용은 Robert Johansson의 『Numerical Python』을 참고하였다. %matplotlib inline#IPython 환경 import matplotlib as mpl import matplotlib.pyplot as plt from mpl_toolkits.mplot3d.axes3d import Axes3D 그림을 그리기 이전에 Figure와 Axes의 개념에 대해 간단하게 짚고 넘어가자. Figure는 그림을 그릴 캔버스, Axes는 실제 그림이 그려지는 영역이라고 생각하면 쉽다. 아래의 그림을 보자. 이제 간단한 그림을 몇 가지 그려보자. matplo..
2020.12.31 -
pandas.options.display 톺아보기
소수점 자리수 Microsoft사의 OHLC 데이터를 이용한다. import pandas as pd import yfinance as yf #yfinance가 설치된 경우에만 # yfinance가 설치된 경우 msft = yf.Ticker("MSFT") msft_ohlc = msft.history(period="max").iloc[0, :4] # yfinance가 설치되지 않은 경우 msft_ohlc = pd.Series({"Open":0.05636679712438188, # open price "High":0.06465603380916742,# high price "Low":0.05636679712438188,# low price "Close":0.061892956495285034}, # close p..
2020.12.30 -
yfinance 소개 및 설치
yfinance Yahoo! Finance market data downloader pypi.org yfinance는 Ran Aroussi 가 개발한 오픈소스 API로, 이를 통해 Yahoo Finance에서 제공하는 데이터에 접근할 수 있다. yfinance의 옛 이름은 fix-yahoo-finance로, 2019년 5월 26일에 이름이 바뀌었다. yfinance의 장점 1. 무료이다! 사실 yahoo finance data에 접근하는 다른 방법들도 있지만, 추가적인 기능을 위해 비용을 지불해야 하는 경우도 있다. 2. 설치가 빠르고 간편하며 호환성이 뛰어나다. $ conda install -c ranaroussi yfinance $ pip install yfinance --upgrade --no-ca..
2020.12.30