전체 글
예적금 이자율 높은 케이뱅크(KBank) 시작하기
요즘 케이뱅크가 굉장히 핫한거 같습니다. 최대 10개까지 만들 수 있는 파킹통장부터, 또 3억이하의 예치금에 한정해서 파킹통장의 3%대 이자율까지 어디하나 빠지는 곳이 없는것 같습니다. 물론 토스, 카카오뱅크 그외 기타 저축은행들과 비교를 해봐야겠지만, 그럼에도 불구하고 종합적으로 상위권에 위치해있음에는 틀림 없습니다. 저는 개인적으로 케이뱅크에서 파킹통장(플러스박스), 저축통장(챌린지박스, 적금 통장)을 관리하고 있는데요. 파킹통장의 용도로는 자동차 보험/수리비, 병원비, 경조사 통장, 그리고 개인 flex를 위한 지갑까지 만들어서 활용하고 있습니다. 매달 월급이 들어오면, 조금씩 월할로 분할하여 예치하는 방식을 택하고 있죠. ㅎㅎ 위 그림처럼 나눠서 활용하고 있습니다. 이렇게 되면, 엔진 오일을 갈 ..
[tensorflow] tensorflow-metal 설치 방법 (m1맥북 gpu)
설레는 맘으로 m1 맥을 구입하고, gpu를 로컬에서 돌려보고 싶은 마음은 다들 똑같겠죠? 하지만 환경설정부터 만만치 않습니다. 익숙했던 가상환경도 뭔가 복잡하게 설치를 거쳐야하는거 같고, 특히 가상환경처럼 에러가 많이 나는 경우 골치 아파지는 경우가 많아지기 때문이죠.. 그렇기때문에 가상환경에 한해서는 대부분 보수적일 수 밖에 없을거라 생각이 됩니다. 자 차근차근 설치하는 법을 공유해드리겠습니다. 아래 스텝만 따라오시길! (스텝이 굉장히 중요합니다!!!) 가상환경 설치 (아나콘다 & miniforge) 가상환경 생성 tensorflow-deps (tensorflow-dependencies) 설치 * tensorflow-macos 설치 * tensorflow-metal 설치 * jupyter 설치 (ju..
[선형대수] 정사영 (Projection)
정사영에 관해 알아봅시다. 필자는 단순하게 선형대수 계산을 위해서만 정사영을 이해했었는데요. 데이터를 공부하고, 계량경제학을 접하면서 정사영의 쓰임새에 대해서 더 넓게 이해할 수 있었습니다. 데이터 분야에서 정사영이 중요한 이유는 무엇보다도 선형회귀 (최소제곱법)에 대한 이론적 근거를 제시하기 때문입니다. 어떻게 제시를 하느냐? 정사영은 임의의 두 벡터 x와 y에 대해서 y가 x로 갈 수 있는 가장 짧은 거리를 제시합니다. 그림으로 이해를 해보자면 y벡터에서 선 x로 가는 가장 짧은 거리를 검은색 실선으로 나타내고 있습니다. 바로 수직으로 떨어뜨리는 것이죠. 따라서 내적의 정의에 의해서 x에 수직인 검정색 실선을 의미하는 벡터 w와 x의 내적의 값은 0이 될 수밖에 없습니다. 실제로 정사영의 식은 위 원..
[인공지능] 프레임 문제 (Frame Issue)
바로 예를 들어 인공지능이 갖고 있는 프레임 문제에 대해 설명드려보겠습니다. 인공지능에게 '햄버거집에서 햄버거를 사와라' 라고 요구했다고 생각해봅시다. 실제 이 일을 수행하는데, 햄버거를 사러 다녀오는 과정에서 무수하게 다양한 사건이 일어날 가능성이 있습니다. 대부분 목적과는 관계가 없는 문제겠죠. 하지만 인공지능은 일어날 수 있는 사건 주에서, 햄버거를 사는 일에 관계된 것만을 추출해내고, 그 외의 일은 당분간은 염두에 두면 안되겠죠. 만약 모든 사건을 고려한다면, 무한한 시간이 걸릴 것입니다. 이처럼 어떤 테두리(프레임)를 만들고, 그 테두리 안에서만 사고할 필요가 있는데 이것을 바로 프레임 문제라고 합니다. 미리 프레임을 여러 개 정해 두어, 상황에 따라 적절한 프레임을 선택해 사용하면 해결할 수 ..
[인공지능] Strong AI vs Weak AI
2010년도 후반에 이르러 인공지능의 쓰임새는 나날이 증가하고 있습니다. 컴퓨팅 파워, 센서, 사물의 데이터화 등을 통해 무수히 데이터가 쌓이기 시작하고, 이를 저장하고, 처리하고, 활용할 수 있는 솔루션이 인공지능 사용을 계속해서 촉진하고 있기 때문이죠. 인공지능은 흥망성쇠를 거듭하며 인공지능은 Strong AI와 Weak AI로 나뉘었습니다. Strong AI Strong AI는 구성론적인 접근으로 굉장히 연역적인 부분이 있습니다. 인간의 지능을 재현하려는 과정을 통해 인간을 이해하려고 하는 완벽주의적 AI입니다. 따라서 인지발달 로보틱스, 뇌신경 과학 등에서 추구하는 인공지능이기도 하죠. 하지만 인간의 뇌를, 뉴런을 표현하기에는 우리의 기술은 아직도 한없이 부족합니다. 수십억개에 달하는 뉴런과 그와..
[python] 던더함수, 더블언더스코어 의미 (__len__), (__contains__)
파이썬에서 시작과 끝에 언더스코어(_) 2개가 붙은 함수를 본 적 이 있을 것입니다. 밑줄 두개가 뭍은 이 함수를 더블 언더스코어(double underscore) 또는 줄여서 던더(dunder)라고 합니다. 예를 들면 __len__ 이라는 던더 함수가 있을 때, 이를 던더 렌 또는 렌 던더라고 표현합니다. 이 함수는 특별하게 쓰일 수가 있는데요. 예를 들면, 클래스에 __len__()함수를 정의하면 클래스형의 인스턴스를 len()함수에 전달할 수 있게됩니다. 클래스형 인스턴스 obj가 있다고 가정하겠습니다. 인스턴스 obj에 대한 __len()__ 함수를 호출하는 obj.__len__() 은 간단하게 len(obj)로 작성할 수 있습니다. 또 다른 예를 들어보겠습니다. 클래스에 __contains__(..
[python] 코사인 유사도를 이용한 추천시스템 - 기초
코사인 유사도는 벡터의 '방향'이라는 특징으로만 벡터간 유사도를 구할 수 있습니다. 유클리드 거리는 방향은 무시한 채, 거리가 얼마나 가까운지에 기반하여 추천 시스템의 엔진이 되었죠. 두 추천 알고리즘 모두 완벽하거나 현재 이상적으로 활발하게 사용되는 추천 시스템은 아닙니다. 하지만 다른 고급(?) 알고리즘의 기초가 되는 만큼 간단하게 이해하고 넘어가는 것이 좋다고 생각합니다. 또한 NLP를 처음 공부한다면, Bag of Words에 기반한 단어 표현 방법인 Document Term Matrix, TF-IDF 등과 같이 단어를 수치화할 수 있는 방법을 알고 있다면, 코사인 유사도는 위 표현식에 아주 적용하기 쉬운 알고리즘입니다. 이를 기반으로 "문서의 유사도"를 구하는 게 가능합니다. 코사인 유사도는 기..
내적과 코사인유사도 (dot product & cosine similarity)
벡터끼리의 내적은 매우 유용한 정보를 줄 수 있다. 이를 테면, 인공지능의 다양한 연산에 기초가 되기도 하며, 이미지 인식, 음성 인식 그리고 구매 이력에 기반한 상품 등을 추천할 때 최종 엔진에서 활용되는 연산이기도 하다. 이게 어떻게 가능한 지에 대한 원리를 알아보려면, 우선 내적의 식을 유도할 필요가 있다. 간단하게 내적을 정의해보자 정의) 내적(inner product = dot product) 임의의 두 벡터 \( \mathbf{a}=(a_1, a_2) \) 와 \( \mathbf{b}=(b_1, b_2) \)에 대해서 내적은 다음과 같이 정의될 수 있다. $$ \mathbf{a} \cdot \mathbf{b} = a_1b_1 + a_2b_2 = \mathbf{b}^T \mathbf{a} $$ ..