알라딘

헤더배너
상품평점 help

분류

이름:김우현

최근작
2023년 6월 <파이썬을 활용한 머신러닝 해석 가능성>

자바 데이터 사이언스 쿡북

데이터 과학자들이 일상적으로 하는 업무들을 자바를 통해 수행할 수 있도록 가이드하는 책이다. 다양한 작업을 단계별로 따라가면서 배울 수 있도록 구성돼 있다. 먼저, 데이터를 분석하기 전에 가장 많은 시간이 소요되는 데이터 수집과 전처리를 학습한다. 다음으로 아파치 루씬을 사용하여 데이터를 인덱싱하고 검색하는 방법을 다루며, 통계적인 관점에서 데이터를 분석할 수 있는 여러 가지 자바 도구를 소개하고 있다. 그리고 요즘 크게 주목받는 머신 러닝과 딥러닝의 다양한 기법을 학습한다. 또한 비정형 분석의 핵심이라고 할 수 있는 텍스트 분석도 빼놓지 않고 다루고 있다. 자바를 아파치 스파크와 연동하여 빅데이터를 처리하는 방법도 배울 수 있다. 마지막으로 분석한 데이터를 다양한 플롯을 통해 시각화하는 방법도 소개한다. 이 책은 자바로 할 수 있는 데이터 과학의 수많은 과정을 폭넓게 그리고 친절하게 설명하고 있다. 데이터 과학에 관심 있는 자바 사용자가 입문서로 활용하기 좋은 책이다.

파이썬 객체지향 프로그래밍 4/e

이 책은 파이썬에서 객체지향 디자인을 활용해 견고하고 유지보수가 쉬운 애플리케이션을 개발하는 데 중점을 두고 설명한다. 모든 장에 걸쳐 있는 사례 연구는 아이리스 꽃 분류를 위한 머신러닝 애플리케이션을 개발하는 실제 프로젝트를 다루고 있어서 전체적인 맥락에서 각 주제를 일관성 있게 이해할 수 있도록 구성돼 있는 것이 장점이다. 또한 UML 다이어그램을 통해 디자인 패턴과 코드를 통합적으로 다루고 있는 것도 장점이다. 파이썬 3.5부터 타입 힌트가 도입됐지만 실무에서는 잘 사용되지 않았다. 하지만 이 책을 통해 타입 힌트를 사용하면 타입 힌트가 지속적인 유지보수에 얼마나 큰 기여를 하는지 알게 될 것이다. 유사한 기능을 가진 객체들에 대해 상속이나 구성 관계를 사용하는 방법과 파이썬의 편리한 특징 중 하나인 덕 타이핑(duck typing)의 유용함을 배울 수 있다. 객체지향을 사용해야 할 때가 언제인지, 그리고 사용하지 말아야 할 때가 언제인지를 다루는 부분은 이 책의 핵심 중 하나이다. 이 책의 가장 중요한 부분은 널리 사용되는 12가지 디자인 패턴과 이 패턴을 파이썬에서 구현하는 방법을 다루는 부분이라고 할 수 있다. 파이썬이 다른 언어에 비해 객체지향 디자인을 더 쉽고 우아하게 적용할 수 있다는 것을 알게 될 것이다. 객체지향 프로그래밍과 함수형 프로그래밍이 어떻게 다르고 어떤 부분에서 서로 만나는지 다루고 있는 부분은 매우 흥미롭다. 이 주제를 잘 이해하면 클래스의 복잡성으로 피할 수 있는 대안적인 디자인을 도입하는 데 도움이 될 것이다. 또 한 가지, 파이썬의 컴프리헨션(comprehension)과 제너레이터(generator) 함수는 코드를 단순화할 수 있는 훌륭한 방법이다. 파이썬의 내장 컬렉션이 얼마나 효율적인 도구인지 다시 한번 이해하게 될 것이다. 마지막으로 unittest와 pytest를 사용해 파이썬 애플리케이션을 위한 자동화된 단위 테스트 스위트를 제공하는 방법을 보여준다. 이렇게 자동화된 테스트를 사용하면 개발 프로젝트에서 상당히 많은 부하를 줄일 수 있다. 독자들도 파이썬의 자동화된 테스트에 익숙해지기를 바란다. 이 책은 파이썬이 얼마나 훌륭하고 사용하기 편한 개발 언어인지 잘 보여준다. 이 책에서 배운 기술을 활용해 파이썬 개발 프로젝트에서 많은 성과를 얻을 수 있을 것이다.

파이썬을 활용한 머신러닝 해석 가능성

얼마 전 국내의 한 대화형 인공지능 챗봇이 출시된 지 얼마 지나지 않아 혐오 및 차별 발언을 했을 뿐만 아니라 학습 데이터를 불법으로 수집했음이 밝혀진 사건이 일어났다. 이는 훨씬 전에 마이크로소프트의 챗봇인 테이(Tay)가 인종차별 관련 혐오 발언으로 서비스가 중단된 사례가 있었음에도 모델 구축 시 이를 전혀 고려하지 않았기 때문이었다. 이 사건을 통해 국내에서도 'AI 윤리'가 핵심 이슈로 떠올랐다. 또한 등장하자마자 큰 관심을 받고 있는 챗GPT에 대해서도 윤리적 문제를 일으킬 수 있는 답변을 유도하는 질문 방식이 온라인상에 공유되면서 'AI 윤리'에 관한 논란이 다시금 빚어지고 있다. 이 책은 'AI 윤리'에서 중요한 주제인 인공지능 모델의 공정성, 책임성, 투명성을 기반으로 '머신러닝 해석 가능성'이 왜 중요한지 다룬다. 그 다음 머신러닝 해석에 사용되는 전통적인 방법론의 한계를 살펴보고 예측 성능과 모델 해석 가능성 사이에서 어떻게 절충할 수 있을지 고민한다. 모델을 해석하기 위한 방법론으로 먼저 피처 중요도와 피처의 영향력을 기반으로 하는 여러 가지 해석 방법론을 살펴본다. 그 다음 해석 방법론 중에서 가장 두드러진 주목을 받고 있는 SHAP(SHapley Additive exPlanations)과 LIME(Local Interpretable Model-Agnostic dEscriptions)을 활용한 모델 독립적인 해석 방법론을 다룬다. 또한 인간이 해석할 수 있는 방식으로 불공정한 예측을 설명하는 방법론인 대조적 설명 방법론 등을 소개한다. 이미지를 처리하는 컨볼루션 신경망에 대해서도 다양한 해석 방법론을 살펴보며, 더 나아가 신경망 모델을 공격하는 다양한 적대적 공격에 대해서 모델의 견고성을 구축하기 위한 방어법을 설명한다. 또한 예측과 불확실성이 본질적으로 어떻게 연결돼 있는지, 입력과 관련된 모델 출력의 불확실성 측정을 위해 어떤 방법론들이 설계됐는지도 다룬다. 마지막으로 모델의 공정성을 시각화하는 방법과 함께 모델의 편향을 줄이고 공정성과 견고성을 위해 모델을 튜닝하는 방법론을 살펴본다. 이 책을 통해 독자들은 'AI 윤리'의 기초 지식뿐만 아니라 이를 실무에 적용하기 위한 다양한 방법론을 배울 수 있을 것이다. 여러분이 구축하는 인공지능 모델이 머신러닝 해석 가능성 생태계에서 윤리적 문제를 극복하고 고성능의 견고한 서비스가 되기를 기원한다.

피처 엔지니어링, 제대로 시작하기

피처 엔지니어링은 좋은 머신 러닝 결과를 얻기 위한 핵심적인 과정이다. 하지만 너무나 다양한 데이터의 종류와 특성에 따라 경험적으로 수행돼 왔을 뿐, 이를 범용적으로 적용하는 방법에 대한 책이나 논문들이 거의 없었다. 머신 러닝 경진대회 중 가장 유명한 캐글(Kaggle)의 여러 대회에서 우승한 팀을 인터뷰한 기사들을 읽어보면 피처 엔지니어링이 좋은 결과를 얻는 데 얼마나 중요한 역할을 했는지 알 수 있다(관련 기사: http://kweonwooj.tistory.com/42). 물론 자신이 속한 도메인 지식이 반드시 그 기초가 돼야 함은 말할 것도 없다. 의미를 찾아내기 어려운 복잡한 데이터에서 의미 있는 피처를 추출해내기 위해서는 이 도메인 지식을 활용해 반복적이고 끊임없는 피처 엔지니어링 작업을 수행할 필요가 있다. 이 책은 먼저 수치 데이터에 간단하게 적용할 수 있는 피처 엔지니어링 기법을 살펴보고, 이어서 텍스트 데이터에서 의미 있는 피처를 추출하고 변환하는 기법을 소개한다. 그다음으로 범주형 데이터를 다루는 쉬운 방법과 함께 기하급수적으로 증가하는 고차원의 범주형 데이터를 PCA와 k-평균 클러스터링을 활용해 효율적으로 차원 축소를 하면서 효과적인 피처를 추출하는 기법과 그 핵심 원리를 설명한다. 또한 오늘날 가장 많이 다루는 이미지에서의 피처 추출과 딥러닝을 통한 피처 학습의 원리를 배울 수 있다. 마지막으로 실제적으로 논문 검색을 위한 머신 러닝 시스템을 만들어가는 실습을 진행하면서 이 책을 통해 배운 피처 엔지니어링 기법들의 장단점을 익히고 직관을 얻을 수 있도록 돕는다. 머신 러닝 입문자들에게는 피처 엔지니어링에 대한 원리를 배우고 실습을 통해 실력을 높일 수 있는 좋은 기회가 될 것이며, 데이터 과학에 종사하는 분들에게는 그동안 경험적으로 수행해오던 피처 엔지니어링 기법들을 '암묵지'에서 명시적인 '형식지'로 정리하는 계기가 될 것이다.

R 데이터 구조와 알고리즘

알고리즘과 데이터 구조를 명확히 알고 이 둘을 조화롭게 사용하면 애플리케이션의 속도와 성능을 향상시킬 수 있다. 알고리즘을 처음 대하는 사람이라도 이 책을 통해 기초적인 알고리즘 분석 기법을 이해할 수 있으며, 어떤 알고리즘의 성능이 좋고 나쁜지 판단할 수 있게 될 것이다. 그 뒤에 이어지는 링크드 리스트와 스택, 큐를 다루는 부분은 조금 어려울 수도 있지만, 개발자들이 매우 많이 사용하는 데이터 구조이기 때문에 익숙한 부분도 많을 것이다. 이 책에서 핵심적인 부분은 정렬 알고리즘, 검색과 인덱싱, 그래프 알고리즘을 다루고 있는 5장부터 8장까지라고 생각된다. 많이 사용하는 아홉 가지 정렬 알고리즘을 그림으로 알기 쉽게 보여주고 있으며, 그 동작 원리와 성능의 장단점을 자세히 설명하고 있다. 또한, 관계형 데이터베이스에서 주로 사용하는 인덱싱의 개념이 어떻게 발전해 현재까지 오게 되었는지 알 수 있다. 최근 들어 더 중요해지고 있는 그래프 데이터 구조에 대한 내용도 상당히 유용할 것이다. 각 알고리즘과 데이터 구조에 대해 이 책에서는 R 코드로 예제를 실행해 볼 수 있지만, 굳이 일일이 실행해 보지 않아도 전체적인 내용을 이해하는 데 어려움은 없을 것이다. 또한, R 언어를 모르는 사람이라도 코드 이외의 부분만 읽어보면 핵심적인 내용을 충분히 배울 수 있다.

가나다별 l l l l l l l l l l l l l l 기타
국내문학상수상자
국내어린이문학상수상자
해외문학상수상자
해외어린이문학상수상자