요즘 LLM 인공지능으로 세상이 또 하나의 변화에 직면한 것으로 보인다. 그 중에서 가장 앞선 곳이 OpenAI라고 할 수 있다.
AI의 구조에 대해 좀 더 빠르게 알아보는 것이 필요한 시점이라 생각한다.
1. AI 프로젝트 시작하기
요즘 ChatGPT로 촉발된 LLM(Large Language Model)이 폭발적으로 성장하고 있다.
이로 인해 많은 사람들이 인공지능에 대해 정말 많은 관심을 갖게 되었다.
파이썬은 그 여정에 있어서 강력한 동반자가 될 것이라고 생각한다. 왜냐하면 대부분의 인공지능 라이브러리를 파이썬에서 지원하고 있고, 배우기 쉽고 사용하기 편한 파이썬 언어가 인공지능 분야에서는 대세라고 생각하기 때문이다.
머신 러닝 라이브러리 소개
Scikit-Learn
Scikit-Learn은 사용하기 매우 쉽지만, 많은 머신 러닝 알고리즘을 효율적으로 구현하므로 머신 러닝을 배우기에 좋은 출발점이 된다. 이것은 2007년 David Cournapeau에 의해 만들어졌으며, 현재는 프랑스 컴퓨터 과학 및 자동화 연구소(Inria)의 연구팀이 주도적으로 이끌고 있다.
TensorFlow
TensorFlow는 분산 수치 계산을 위한 좀 더 복잡한 라이브러리다. 이것은 수백 개의 멀티-GPU(그래픽 처리 장치) 서버에 걸쳐 계산을 분산시켜 매우 큰 신경망을 효율적으로 훈련하고 실행할 수 있게 만들어준다. TensorFlow(TF)는 Google에서 만들어졌으며, 많은 대규모 머신 러닝 애플리케이션을 지원한다. 2015년 11월에 오픈 소스로 공개되었으며, 2.0 버전은 2019년 9월에 출시되었다.
Keras
Keras는 신경망을 훈련하고 실행하기 매우 간단하게 만드는 고수준의 딥러닝 API이다. Keras는 TensorFlow와 함께 번들로 제공되며, 모든 집약적인 계산을 위해 TensorFlow에 의존한다.
데이터 수집 및 처리
모든 AI 프로젝트의 시작점은 데이터 수집이다. 파이썬은 데이터 수집과 처리를 위한 훌륭한 라이브러리들을 제공한다. pandas는 데이터 분석을 위한 필수 라이브러리이며, numpy는 수치 계산을 위한 강력한 도구다. scikit-learn은 데이터 전처리와 모델링을 위한 간편한 기능들을 제공한다. 이 라이브러리들을 사용하여 데이터를 수집하고, 정제하며, 유용한 특성을 추출하는 작업을 진행한다.
첫 번째 머신러닝 모델 구축
데이터가 준비되었다면, 간단한 머신러닝 모델을 구축할 차례다. scikit-learn의 분류기나 회귀 모델을 사용해보자. 예를 들어, 붓꽃(Iris) 데이터 세트를 사용하여 각 붓꽃의 종류를 분류하는 모델을 만들 수 있다. 이 과정에서 모델을 훈련시키고, 검증하며, 성능을 평가하는 방법을 배울 수 있다.
2. 파이썬으로 복잡한 AI 문제 해결하기
딥러닝 입문
TensorFlow나 PyTorch와 같은 프레임워크를 사용하여 딥러닝 모델을 구축하는 방법을 배워보자. 이러한 프레임워크는 복잡한 신경망을 쉽게 설계하고 학습시킬 수 있게 해준다. 간단한 이미지 분류부터 시작하여 점차 복잡한 문제로 나아가자.
사례 연구
실제로 파이썬을 사용하여 해결된 복잡한 AI 문제들을 살펴보는 것도 매우 유익하다. Google의 AlphaGo부터 자율 주행 자동차에 이르기까지, 파이썬은 다양한 혁신적인 프로젝트에 사용되었다.
3. 파이썬 AI 리소스와 커뮤니티
학습 리소스
‘Coursera’나 ‘edX’와 같은 온라인 학습 플랫폼에서는 파이썬과 AI 관련 강좌를 제공한다. 또한 ‘GitHub’에는 수많은 오픈소스 프로젝트가 있어 실제 코드를 살펴보고 학습할 수 있는 기회를 제공한다.
커뮤니티 참여
‘Stack Overflow’, ‘Reddit’, ‘Kaggle’과 같은 플랫폼에서는 전 세계의 개발자들과 지식을 공유하고 문제를 해결할 수 있다. 또한, 파이썬과 AI 관련 컨퍼런스나 워크샵에 참여하여 네트워킹을 할 수 있다.
스트레를 많이 받으면 우리 몸은 긴장 반응으로 인해 코르티솔과 아드레날린 등의 호르몬을 분비한다. 이 상태가 지속되면 온몸의 혈관이 수축되어 혈압은 오르고 온몸이 저리게 되면서 브레인 포그 특유의 멍한 느낌을 만들어 낸다.
이 글에서는 브레인 포그를 진단하고 대처하는 방법에 대해 알아보자.
1. 브레인포그 진단하기
자기 인식
자신의 마음 상태가 어떤지, 그런 상태를 불러오는 행동이 무엇인지 깨닫는 데서부터 시작하도록 한다.
브레인포그를 겪는 것은 목까지 차오르는 물속을 걷는 것과 같다. 머릿속의 안개는 분명 걷어낼 수 있다. 그 첫 단계는 잠시 멈추고 내게 도움이 되지 않는 행동패턴이 무엇인지 파악하는 것이다.
심신을 회복하고 현재에 더욱 집중하며 더 큰 성공과 의미있는 삶을 원한다면, 우선 내가 제대로 살고 있는지, 자신의 상태를 제대로 알아야만 한다.
스트레스는 시간이 흐르면서 반복적으로 노출되면 만성으로 굳어진다. 만성 스트레스는 몸뿐만 아니라 뇌에도 영향을 미친다.
몸의 스트레스 반응과 관련된 호르몬과 신경전달물질은 집중력, 주의력, 학습력, 기억력을 감퇴시킨다. 스트레스는 두뇌 기능, 특히 기억과 새로운 정보의 학습에도 부담을 준다.
자신의 상태를 파악하라!
식사패턴, 수면주기, 활기, 운동, 기억력에 관한 내용을 휴대전화의 메모앱에 매일 기록한다.
매일 몇 시간 자는가?
얼마나 자주 무언가를 잊어버리는가?
영양을 고려한 식단을 챙기고 있는가?
하루 동안의 체력은 어떻게 변하는가?
매시간 혹은 날마다 머리가 멍해지거나, 한눈팔거나, 몽상에 빠지는가?
새로운 정보를 받아들일 때, 머릿속에 넣어두거나 일정표에 적는가 아니면 곧장 다른 무언가에 시선을 돌리는가?
운동은 얼마나 하는가?
스트레스를 받으면 어떤 신체 증상이 나타나는가?
기록의 중요성
자신의 상태를 정확하기 파악하기 위해서는 일상을 기록하는 것이 유용하다. 특히 중요한 목표가 있다면 일지에 써라. 브레인포그를 극복함으로써 이루고 싶은 구체적 목표가 있다면 적어두자.
반응형
2. 무력한 뇌 깨우기
'신경가소성'은 행동 습관과 사고패턴을 바꾸면 뇌의 회로가 물리적으로 바뀌는 성질을 가리키는 용어다.
나 자신을 위한 목표를 정하는 것만으로도 신경회로가 다시 형성되기 시작한다. 목표가 크든 작든 상관없다.
매일 15분간 삶의 초점을 찾자
뇌가 반쯤 기계적으로 할 일을 처리하는 데 그치지 않고 더 큰 목표에 초점을 맞출 수 있도록 매일 훈련해보자. 빠르고 쉬운 훈련이지만 매일 실천해야 한다.
15분 타이머를 맞춘다.
브레인포그에서 벗어난 삶의 모습을 쓴 글을 다시 읽어보고, 나를 위한 목표를 설정한다.
만성 스트레스에 시달리지 않았다면 목표 달성을 위해 무엇을 했을지 생각해본다.
목표 달성을 위해 15분간 집중할 주제를 정한다. 영수증이나 재정상태를 기록할 엑셀 파일을 만들거나, 구직활동을 하거나, 새로운 취미를 찾아보거나, 담당 회계사에게 연락하거나, 웹사이트를 만들 수도 있다. 파워워킹을 하거나, 오랜 친구에게 연락해서 우정을 확인하거나, 가족과 의미있는 시간을 보낸다거나 호흡에만 집중해도 좋다. 시간이 필요한 과제나 주기적으로 해야 하는 일을 처리할 준비를 하거나 일정을 점검할 수도 있다.
매주 적어도 작은 목표 하나는 달성하겠다고 다짐하라.
15분이 끝나면 일상으로 돌아가라.
3. 고립에서 빠져나오기
인간관계의 중요성
인생이라는 배가 가라앉을 때 인간관계를 등한시하는 것은 구명조끼를 배 밖으로 내던지는 행위와 비슷하다. 인간관계는 피난처, 식량, 물만큼이나 생존과 성공에 필수 요소이며, 최악의 상황에서도 기운을 북돋아준다.
사람의 뇌는 남과 교류하도록 만들어져 있다. 사회적 고립은 하루아침에 일어나지 않는다. 삶이 스트레스 가득한 변화구를 잇달아 던져대는 사이, 우리는 친밀한 사람들과 조금식 멀어져간다.
자신이 어떤 방식으로 사람들과 분리되어 있는지 생각해보고 깊은 인간관계, 애정관계, 공동체에 대한 소속감을 얻기 위해 애쓰는 대신 일시적 해결책에 의존하진 않는지 살펴보라. 순간으로는 쾌락을 주지만 장기적으로는 사회적 고립과 분리를 유발하는 요소는 생각보다 많다.
소속감과 공감
혼자 살고 독립적이거나 내성적인 성격이라도, 정신건강을 유지하기 위한 기본적 인간관계에 대한 욕구는 당연히 존재하며 성인기 내내 지속된다. 가까운 사람이 있으면 현실적인 관점을 유지하고 긍정적으로 생각하며 감정을 조율하는 데 도움을 받는다. 배우자, 친구, 이웃, 가족, 동료가 나의 감정과 요구에 공감하면 안정감을 느낀다. 남이 내 말에 귀 기울여주고, 어딘가에 소속감을 느끼며, 누군가 나를 필요로 하고 소중하게 여길 때 우리의 신경계는 깊은 안도의 한숨을 내쉰다.
자신의 약한 면을 드러내고 남을 내 세상에 들여놓아야만 서로를 알고 친밀감을 느끼며 사이가 돈독해진다. 남에게 도움을 줄 때 뇌의 보상체계가 작동된다고 한다. 그러니 타인에게 속내를 털어놓아도 된다. 나뿐 아니라 상대에게도 좋은 영향을 주기 때문이다.
사회적 근육
친밀한 사회적 교류를 꾸준히 하지 않으면 사회적 근육이 약화된다. 미묘한 눈치, 비언어적 신호, 직관적이거나 본능적인 사회적 상호작용을 감지하기 어려워진다는 것이다.
뇌는 우리의 속내를 털어놓고 의지할 수 있는 사람이 항상 있을 거라는 사실을 믿도록 만들어져 있다. 긍정적인 사회적 상호작용과 밀접한 교류를 하지 못하면 우리는 빗나간 방향으로 나아가 논리, 원인, 가능한 해결책을 찾기 위해 헤맨다. 그러나 타인과 서로 도움을 주고받으며 만족스러운 사회적 상호작용을 경험하면 안전하고 안정적인 상태로 되돌아갈 수 있다.
브레인포그가 인간관계에 걸림돌이 된다면 스스로 남들과 더 깊이 교류하겠다는 목표를 세우자. 따로 시간을 내서 인간관계에 투자하라. 타인과 좋은 관계를 맺으려면 의식적으로 노력해야 한다.
4. 회피라는 자기학대에서 벗어나기
내 몸의 말, 감정에 귀 기울이기
내 감정을 이해하기 위해, 내 몸의 상태를 있는 그대로 느껴보는 시간을 갖도록 한다. 10분 동안 구체적인 감각을 느끼며 머리부터 시작해 몸 전체를 지나 아래로 내려가며 관찰하도록 하자. 뻑뻑한 눈, 묵직한 가슴, 불편한 뱃속, 긴장된 근육 등에 집중하자. 함부로 평가하지 않는 다정한 어조로 내 의식에 들어오는 감정을 받아들이자.
소소한 감정적 동요는 쌓이고 쌓여 좋은 기분이나 나쁜 기분으로 이어진다. 특정 감각을 느낄 때 그 느낌에 대해 잘 알수록 기분을 긍정적으로 북돋울 수 있다. 내 기분에 대해 다른 사람과 대화하면 다양한 장점을 누릴 수 있다. 심리치료가 효과적인 이유도 거기에 있다.
자기 감정을 이해하고 표현하는 것은 중요하다. 잠시 멈춰 서서 내가 느끼는 감정을 충분히 자주 파악하지 않으면 몸이 흥분하거나, 과민반응을 보이거나, 예민해진다.
긴장 완화 훈련
이미지 떠올리기, 점진적 근육 이완법과 마찬가지로 심호흡을 이용해 스트레스를 낮추도록 한다. 이러한 다양한 긴장 완화 트레이닝을 시도해보고 잘 맞는 한두 가지를 골라 매일의 일과에 반영하자.
마무리
병원에 내방에서 심리치료를 받거나, 약물 치료를 받는 것이 필요한 사람이 있을 수 있다. 하지만, 대부분의 브레인 포그를 경험하는 사람들은 본인 스스로 위에 제시한 방법들을 사용해서 충분히 극복할 수 있다고 생각한다. 내 삶의 몰입과 집중을 돌려줄 10가지 방법을 모두 알고 싶은 사람은 아래 책을 사서 읽어 보길 바란다. 한번 시도해 보도록 하자.
웹스크래핑은 인터넷에서 수집할 수 있는 비정형화된 데이터를 다루는 기술이라고 할 수 있다. 비정형화된 데이터는 데이터베이스에 저장될 수 있는 템플릿에 맞는 데이터 모델이 아니라, 다양항 포멧으로 된 데이터라고 보면 된다. 웹에서 얻을 수 있는 텍스트, 이미지, 오디오, 비디오 또는 다른 형태의 조합들을 모두 말한다고 할 수 있다. 웹스크래핑은 인터넷으로부터 분석하거나 연구를 수행하기 위해 방대한 데이터들을 수집하고 추출할 수 있도록 해주는 매우 유용한 기술이다. 데이터 사이언티스트 또는 엔지니어들이 데이터를 모으거나, 효과적인 의사결정을 위해 비즈니스에 도움이 되는 정보들을 추출할 수 있도록 해준다.
웹 스크래핑 프로세스 flow
웹 스크래핑은 언제나 다이나믹하다고 생각한다. 왜냐하면 많은 웹사이트들이 계속 업데이트되고, 새로운 기술을 도입해서 변화하고 있기 때문에, 동일한 웹 스크래핑으로 원하는 데이터를 얻지 못할 수 있기 때문이다. 또한, 개인정보 보호 등 윤리적 이슈로 인해 웹 스크래핑을 하지 못하도록 막는 웹사이트도 늘어나고 있고, 그러한 흐름에 따라 웹 스크래핑이 어려워지고 있다고 할 수 있다.
파이썬에서 웹 스크래핑에 주로 사용하는 라이브러리로 BeautifulSoup, Requests, Urllib, Selenium과 같은 라이브러리가 있다. 좀 더 쉽게 웹 스크래핑을 할 수 있도록 도와주는 Scrapy와 같은 프레임워크도 존재한다.
보통 자바스크립트를 사용하지 않는 일반적인 HTML사이트는 BeautifulSoup+requests 또는 Scrapy를 사용해 스크래핑을 할 수 있다. 하지만, 우리가 스크래핑하고 싶어하는 많은 사이트들은 자바스크립트를 거의 사용한다고 보면 된다. 그래서, 이런 사이트들은 selenium같은 툴이 더 유용하게 사용되고 있다.
Web Opinion Mining
Web Opinion Mining은 유저들에게 더 나은 의사결정을 할 수 있도록 의미있는 인사이트를 제공하기 위해 다양한 웹 소스들로부터 데이터를 분석해서 의견들을 전달하는 것을 말한다. 컴퓨터 모델링 기법을 통한 인간의 감정과 그것의 분석에 대한 연구는 감정 분석 또는 Opinion Mining이라고 한다. 우리가 SNS의 글들을 통해 감정 분석을 많이 하는데, 이때 사용되는 것이 Natural Language Processing(NLP) 기술이다.
죽기 전까지 살아가면서 타협하고, 안주하려는 본능을 극복하기 위해 필요한 정신을 잘 알려주고 있다. 마음 속에 간직하고 실천한다면 삶이 바뀔 것이라고 믿는다.
인간은 학습과 습관과 스토리를 통해 변화한다. 현실과 직면하여 자신을 책임지고, 과거의 고통을 극복하고, 두려움의 대상을 사랑하는 법을 배우고, 실패를 즐기고, 모든 잠재력을 끌어내고, 당신이 정말로 어떤 사람인지 알아낼 힘을 부여하도록 하라.
1장 성공의 연료 : 당신을 고통스럽게 하는 것은 무엇인가
고통 목록을 만들어라, 나를 망치는 것들을 직시하기
일기를 써보자. 다이어리가 없다면 구입한다. 노트북, 태블릿, 스마트폰의 노트 앱을 이용해도 좋다. 모든 것을 자세히 기록해야 한다. 이 과제에 뜨뜻미지근하게 임할 생각은 마라. 상처를 받았다면, 아직도 위험한 상황에 처해 있다면, 그 이야기들을 속속들이 적어야 한다. 고통에 형체를 부여하라. 그 힘을 완전히 받아들여라. 당신은 이제 그 망할 상황을 완전히 바꾸어놓을 테니.
목록을 만들었다면, 누구든지 원하는 사람에게 그것을 공유하라. 쉽지 않을 수 있다. 하지만 이런 행동만으로도 극복할 힘을 얻을 것이다.
2장 냉혹한 진실 마주하기 : 책임 거울 앞에서 현실을 직시하라
매일 밤 얼굴과 머리를 면도하고, 큰 소리로 마음을 표현하고, 현실을 마주했다. 나는 목표를 세우고 그것을 포스트잇에 적은 뒤 거울에 붙였다. 나는 이 거울을 책임 거울이라고 부른다. 매일 세운 목표 달성의 책임이 내게 있다는 것을 상기시키기 때문이다.
변할 수 있는 유일한 방법은 스스로에게 진실해지는 것이다. 그만두고 위험을 감수하는 것이 두려워서 30년 동안 싫어하는 일을 매일 해 왔다면, 나약한 겁쟁이로 살아온 것이다. 끝! 더 보탤 말이 없다. 자신에게 진실을 말해야 한다. 시간 낭비는 그만하면 되었다고, 실현하려면 용기가 필요한 다른 꿈이 있다고. 그래야 등신 같은 겁쟁이로 죽는 일을 면할 수 있다. 자신의 잘못을 통렬하게 비난하라!
당신은 더 열심하는 대신 포기하고 있다. 당신이 한계에 부딪힌 진짜 이유를 자신에게 말해줘야 비로소 당신은 부정적인 현실을 제트연료로 바꿀 수 있다. 당신이 불리하다고 말한 것들이 당신의 활주로가 될 것이다!
두려움에 패배할 때면 책임 거울 앞에서 그 문제를 다루었다. 그 거울을 마주하는 것, 나 자신을 마주하는 것이 불평과 싸워나갈 동기를 부였다. 그 결과 나는 더 강해졌다. 힘과 회복력을 갖추는 것은 목표를 달성하는 데 도움을 줬다.
자신감은 책임감에서 비롯되었고 그것은 내게 진정한 자존감을 가져다주었다. 자존감은 항상 앞으로 향하는 길을 밝혀줄 것이다.
책임 거울 만들기 - 자신에게 아부 떨지 마라
자신을 똑바로 마주해야 할 시간이다. 있는 그대로, 진짜 내 모습과 직면하라. 당신의 모든 불안, 꿈, 목표를 포스트잇에 적어 거울에 붙여야 한다. 교육이 더 필요한 사람이라면 똑똑하지 않으니 죽도록 노력해야 한다는 것을 스스로에게 상기시켜라. 거울에서 뚱뚱한 사람을 발견한다면 당신이 돼지라는 뜻이다!. 받아들여라! 이런 순간에는 자신에게 불친절해도 괜찮다. 매일 내가 지금 있는 곳이 어디인지, 그 목표를 달성하기 위해 필요한 단계는 무엇인지 자신에게 솔직해져라. 그리고 각 단계, 자기 계발을 위해 거쳐야 할 이정표를 포스트잇에 적어라. 이는 당신이 직접 조사하고 목표를 적절히 나누어야 한다는 의미다. 목표가 무엇이든 거기에 이르는 데 필요한 작은 단계에 대한 책임은 직접 지는 것이다.
3장 편리함이라는 지옥 : 하기 싫은 일을 할수록 위대해진다
내가 맞서서 힘겨운 길을 걷지 않는 한, 결국 이 정신적 지옥에 영원히 남게 되리라.
불편함을 루틴으로 만들기 - 안락 지옥에서 딱 한 발씩만 벗어나라.
안락 지옥에서 정기적으로 벗어나라. 일기를 들춰 당신이 하기 싫어하거나 당신을 불편하게 만드는 모든 일을 적어라. 특히 당신에게 도움이 되는, 당신에게 좋은 일을 적는다. 이제 그중 하나를 실천에 옮긴다. 그리고 또 다시 한다.
매일 아주 조금씩 하기 싫은 일을 하는 것이다. 잠자리를 정돈하고, 설거지를 하고, 옷을 다리고, 매일 일찍 일어나 3킬로미터를 달리는 작은 일이라도 말이다. 거기에 익숙해지면 8킬로미터, 16킬로미터를 뛰어라. 이 모든 일을 하고 있다면 하고 있지 않은 일을 찾아라. 우리 삶에는 우리가 신경 쓰지 않았던 일, 개선할 수 있는 부분이 늘 존재한다. 작은 것이라도 당신을 불편하게 만드는 일을 하는 것은 당신을 강해지게 만든다. 불편해질수록 당신은 더 강해진다. 곧 당신은 스트레스 상황에서도 자신과 좀 더 생산적이고 의욕적인 대화를 나누게 될 것이다.
반응형
4장 삶은 거대한 심리전 : 상대의 영혼을 장악하라
탁월함으로 역전시키기 - 무엇을 기대하든 최대치를 뛰어넘어라
지금 당신이 처한 경쟁 상황을 하나 선택하라. 상대는 누구인가? 그들이 당신을 어떻게 대하든 그들에게 존중받고 상황을 역전할 방법이 한 가지 있다.
탁월함.
누구를 상대하고 있든지, 당신의 목표는 그들 스스로도 하지 못했던 일을 당신이 성취하는 모습을 지켜보게 만드는 것이다. 당신이 정말 대단하다고 생각하게 해야 한다. 그들의 부정성을 이용해서 당신이 가진 모든 것으로 그들의 과제를 완전히 지배해야 한다. 그들의 빌어먹을 영혼을 장악하라!
5장 단련된 정신 : 멘탈을 굳은살로 뒤덮어라
고통을 자연스러운 과정으로 받아들이고 굴복이나 포기를 거부하면 교감신경계를 끌어들여 호르몬의 흐름을 바꿀 수 있다. 교감신경계는 투장-도주라는 반사작용을 제어한다. 교감신경계는 배후에서 계속 작동한다. 우리는 누구나 이런 느낌을 맛본 적이 있다. 이른 아침에는 정말 뛰러 가고 싶지 않다. 그렇지만 20분만 뛰고 나면 활력을 느낀다. 그것이 교감신경계의 작용이다.
당신이 여러 고난을 헤쳐왔고 항상 살아남아 다시 싸웠다는 것을 기억하면 머릿속 대화에는 변화가 생긴다. 자기 회의를 통제하고 관리할 수 있고 눈앞에 놓인 과제를 달성하는 데 필요한 모든 단계를 수행하는 데 집중할 수 있게 된다.
가장 포기하고 싶은 순간에 가장 강하게 밀어붙이는 것이 중요한 이유는 그것이 정신의 굳은살을 만드는 데, 마음을 단련하는 데 도움이 되기 때문이다. 무장된 마음, 총알을 튕겨낼 정도로 굳은살을 쌓아서 멘탈을 강하게 단련시키기 위해서는 모든 두려움과 불안의 근원으로 가야 한다. 약점을 확인하고 받아들여야만 과거로부터 도망치는 것을 마침내 그만둘 수 있다. 이후 그런 사건들은 더 나은 내가 되고 더 강하게 성장하기 위핸 연료로 보다 효율적으로 사용될 수 있다.
목표 달성 시각화하기 - 당신은 무엇으로 정신을 무장시키는가
당신을 가로막는 장애물을 선택하거나 새로운 목표를 세우고, 그 장애를 극복하거나 목표를 달성하는 것을 시각화하라. 시각화는 단순히 트로피를 꿈꾸는 것이 아니다. 그 과정에서 발생할 만한 문제를 시각화하고 그런 문제에 직면했을 때 어떻게 공격해야 할지 결정해야 한다. 그런 방법으로 여정에 대한 가능한 최선의 준비를 갖추게 된다. '나는 왜 이것을 하고 있는가?'라는 간단한 질문에 대한 대답을 준비하는 것을 의미한다.
기억하라. 일상에 고통의 스케줄을 포함시키는 것은 가차 없는 자제력이 필요한 일이다. 하지만 일단 해내면 고통의 다른 쪽 끝에 완전히 다른 인생이 기다리고 있다는 것을 알게 될 것이다.
6장 쿠키 단지 : 과거의 승리를 기억하고 하나씩 음미하라
과거의 작은 성과 음미하기 - 쿠키 단지에 작은 성공을 채워 넣어라
담배를 끊거나, 우울증 혹은 말을 더듬는 증세를 이겨낸 것처럼 당신이 장애물을 극복한 이야기도 포함해서 일기장에 쿠키 단지를 작성해라. 앞서 실패했지만 두 번, 세 번 도전해서 결국 성공한 작은 과제도 포함시킨다. 그런 투쟁, 적을 극복하고 이건 것이 어떤 느낌이었는지 생각해보라. 그리고 행동에 착수하라.
매번 운동을 시작하기 전에 야심 찬 목표를 세우고 과거의 승리들이 당신으로 하여금 개인 최고 기록을 달성하게 하라. 달리기를 하거나 자전거를 탄다면 인터벌 운동 시간을 포함시키거나 자신의 1마일 최고 기록에 도전해보라. 집에 있다면 팔굽혀펴기나 윗몸일으키기에 집중하라. 2분 동안 가능한 한 많이 해보라. 고통이 다가와 목표를 달성하기 전에 당신을 멈추게 하려 한다면, 쿠키 단지에 손을 넣어 쿠키를 하나 꺼내 그것이 연료가 되게 하라!
쿠키 단지는 자신의 사고 과정의 통제권을 잡는 지름길이다. 쿠키 단지를 그런 식으로 이용하라!
7장 40퍼센트의 법칙 : 내 안의 한계 조절기를 파괴하라
40퍼센트짜리 인생에서 벗어나기 - 한계조절기를 점진적으로 떼어내는 법
트레드밀 위에서 달리거나 팔굽혀펴기를 하고 있다면, 너무 지치고 고통스러워서 마음 속에서 제발 그만하자고 하는 지점까지 가야 한다. 그리고 거기에서 5~10퍼센트를 더 밀고 나간다. 이런 점진적인 증가는 부상을 막고 당신의 몸과 마음이 새로운 운동량에 서서히 적응하게 해줄 것이다. 이로써 기준치가 다시 설정된다. 이 부분이 중요하다. 당신은 다음 주, 그다음 주에도 운동량을 5~10퍼센트씩 늘릴 것이기 때문이다.
삶은 하나의 거대한 심리전이다. 당신이 상대하는 유일한 사람은 당신 자신이다. 이 과정을 고수한다면 곧 당신이 불가능하다고 생각했던 것이 일상적인 일이 될 것이다.
8장 생산성 극대화 : 실력을 폭발시키는 최적의 루틴을 찾아라
낭비되는 5시간을 잡아내라 - 위대해지기 위한 시간 경영법
하루를 구획할 시간이다. 너무나 많은 사람이 멀티태스커가 되었다. 그것이 나라 전체를 '대충'에 만족하게 만들었다. 3주간의 과제를 해보자. 첫째 주에는 평상시 스케줄대로 지내되 메모를 해야 한다. 언제 일을 하는가? 쉬지 않고 계속 일을 하는가? 아니면 휴대 전화를 확인하는가? 식사시간은 얼마나 되는가? 언제 운동을 하고, TV를 보고, 친구들과 수다를 떠는가? 통근 시간은 얼마나 되는가? 운전을 하는가? 각 활동을 시간과 함께 매우 자세히 기록한다. 이것이 기준점이 될 것이고 빼내야 할 지방을 많이 발견하게 될 것이다.
둘째 주에는 최적의 스케줄을 만들어야 한다. 15~30분의 시간 블록에 모든 일을 배치한다. 여러 블록이 혹은 하루 전체가 필요한 과제도 있다. 일할 때는 한번에 한 가지만 해야 한다. 눈앞의 과제에 대해서만 생각하면서 오로지 그 일만 해나간다. 식사 시간이 적절하된 끝없이 이어지지 않도록 한다. 운동과 휴식 시간도 일정에 넣어야 한다. 휴식을 취할 때는 적극적으로 쉬어야 한다. 열심히 일하려면 뇌를 반드시 쉬게 해야 한다. 2주 차에는 시간을 적어가며 메모한다. 또 다른 여분의 시간을 찾을 수 있을 것이다.
3주 차에는 수면 시간에 영향을 주지 않는 범위에서 노력을 극대화하는 작업 스케줄을 짜야 한다.
9장 레인저 리더십 : 한 번의 성공에 매몰되지 마라
위대함을 유지하는 법 - 조직의 안일함을 불태워버려라
많은 사람이 어느 정도 지위, 명예, 성취를 얻으면 인생에 성공했다고 생각한다. 위대함은 한 번 만났다고 영원히 당신 곁에 머무르는 것이 아니다. 위대함은 뜨거운 팬에 부은 기름처럼 순식간에 증발한다. 위대함을 유지하려면 지속적인 추구와 끝없는 노력이 필요하다. 그러기 위해서는 당신이 가진 모든 것을 던지고도 더 내놓아야 한다. 여기에는 레이저 같은 집중력이 필요하며, 삶의 균형이 무너질 수도 있다. 당신, 동료, 팀원 주위에 모여드는 안일함을 불태워라. 마찰을 발견하는 곳이야말로 당신이 더 강하게 성장하도록 도울 수 있는 부분이기 때문이다.
10장 실패 파헤치기 : 성공을 위한 작전 수행 보고서를 작성해라
실행 단계를 집요하게 파고들기 - 실패에 대한 작전 수행 보고서를 만들어라
실패에 존재했던 모든 좋은 것, 잘된 것을 적어라. 가능한 한 상세하게 적어야 하고 자신에게 관대해야 한다. 모든 것이 나쁜 경우는 드물다. 그리고 당신이 실패를 어떻게 처리했는지 기록하라. 실패했던 일을 준비하거나 실행하는 단계에서 당신은 어떤 생각을 했는가? 각 단계에서 어떤 생각을 갖고 있었는지 알아야 한다. 모든 것이 사고방식의 문제이고 대개 그것이 부족한 부분이기 때문이다. 이제 고쳐야 할 일을 검토하고 목록을 작성한다. 잔인할 정도로 솔직하게 빠짐없이 적어야 한다. 준비를 할 때는 작전 수행 보고서를 손으로 쓰고, 책임 거울을 이용하고, 모든 필요한 조정을 하라. 실행할 때가 되면 단련된 마음, 쿠키 단지, 40% 규칙에 대해 배운 모든 것을 당신 정신의 일선에 배치하라. 사고 방식을 통제하라.
11장 만약이라는 위대한 말 : 불가능하다고 말하는 얼간이들에게
당신이 바로 지금도 존재하는지조차 모르고 있던 당신의 한계를 넘어서기 위해 전력을 기울이기를 바란다. 한계를 무너뜨리기 위한 노력에 기꺼이 임하기를 바란다. 당신이 기꺼이 변화하기를 바란다. 고통을 느낄 테지만 그것을 받아들이고, 견디고, 정신을 단련한다면 고통조차 당신을 파괴할 수 없는 시점에 이를 것이다.
Timestamp()는 시간의 단일 시점을 나타낸다. 파이썬 datetime.datetime 객체와 동일한 기능을 한다. date 또는 datetime 스트링과 함께 pd.Timestamp() 함수를 사용해 Timestamp 객체를 만들 수 있다.
import pandas as pd
timestamp_ex = pd.Timestamp('2023-09-10 12:00:00')
Period
Period()는 하루, 한달, 또는 일년과 같이 시간의 일정 기간을 나타낸다. date 또는 datetime 스트링과 빈도(freq)와 함께 pd.Period() 함수를 사용해 Period 객체를 만들 수 있다.
period_ex = pd.Period('2023-10', freq='M')
Timedelta
Timedelta()는 두 날짜 또는 시간들의 차이를 나타낸다. 파이썬 datetime.datetime 객체와 동일한 기능을 한다.기간 스트링과 함께 pd.Timedelta() 함수를 사용해 Timedelta 객체를 만들 수 있다.
timedelta_ex = pd.Timedelta('1 day')
resample
resample()은 datetime index를 가지고 원하는 주기로 변환하거나 분석할 수 있다. resample()은 groupby 와 유사하게 사용할 수 있다. 데이터의 index가 datetime 같은 index가 아니라면, 이 메서드를 적용하기 전에 set_index()를 사용해, datetimeIndex를 먼저 설정해야 한다.
resample_ex = pd.resample('M').max()
shift
shift()는 데이터를 이동시킬 때 사용한다. 인수로 n을 줄 때 전체 데이터가 n행씩 뒤로 이동한다. 주식 데이터를 다룰 때 많이 사용하는데, 일간, 월간 변동률 등을 구할 때 사용한다. 다음은 일간 변동률을 구하는 것을 보여준다.
rolling()은 시리즈에서 window 크기에 해당하는 개수만큼 데이터를 추출하여 집계 함수에 해당하는 연산을 실시한다. 집계 함수로는 max(), mean(), min()을 사용할 수 있다. min_periods를 지정하면 데이터 개수가 윈도우 크기에 못미치더라도 mini_periods로 지정한 개수만 만족하면 연산을 수행한다.
kospi = pdr.get_data_yahoo('^KS11', '2023-10-04') # 주식 일별 데이터를 갖고 있다고 가정한다.
window = 252
peak = kospi['Adj Close'].rolling(window, min_periods=1).max()
Kaggle DataSets API
캐글에 있는 데이터셋을 가지고 연습해 보도록 한다. 캐글에서 데이터셋을 쉽게 가져오기 위해서 kaggle API를 설치하는 것이 좋다.
!pip install kaggle #kaggle 라이브러리를 설치
캐글 홈페이지에 로그인 후 본인 계정에서 API(kaggle.json) 파일을 다운로드한다. 윈도우의 경우에는 C 드라이브에서 '사용자(User)' >'컴퓨터명;>.kaggle폴더에 다운로드한 API파일을 이동시킨다.
이제 캐글 데이터셋을 주피터 노트북에서 쉽게 사용할 수 있게 되었다. 다운로드 받고자 하는 데이터셋을 캐글에서 검색한 후, API 주소를 클립보드에 복사한다(버튼을 누르도록 되어 있다).
!kaggle datasets list -s store-sales-time-series-forecasting
kaggle datasets 명령과 list, -s 옵션, 복사한 API 주소를 함께 입력하면 해당 데이터셋의 리스트를 다음과 같이 볼 수 있다.