Top

문과생을 위한 인공지능 입문 [수학, 통계 지식 없이 배우는]

  • 지은이김장현, 김민철
  • ISBN : 9791161757339
  • 35,000원
  • 2023년 04월 27일 펴냄
  • 페이퍼백 | 524쪽 | 188*235mm
  • 시리즈 : 데이터 과학

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
https://github.com/skku-ai-textbook/aitextbook

요약

인공지능에 관심이 있지만 복잡한 수식이나 어려운 코드 때문에 학습을 시작하기 어려웠던 사람들을 위한 책이다. 누구나 쉽게 인공지능 개발을 경험할 수 있도록 수학적 설명을 최대한 배제했다. 코딩에 대한 기초 지식 없이도 쉽게 인공지능 개발에 도전할 수 있도록 개발 환경 구축부터 파이썬의 기초적인 사용법을 다룬다. 또한 실제 인공지능 개발 workflow를 소개함으로써 인공지능 개발의 A to Z를 모두 경험할 수 있는 기회를 제공한다. 이 책은 인공지능 개발에 도전하고 싶은 분들이 파이썬을 이용해서 그 첫걸음을 떼는 데 도움이 될 것이다.

이 책에서 다루는 내용

◆ 인공지능 입문자를 고려한 인공지능 개발A to Z 소개
◆ 수식보다 개념적 이해를 통한 인공지능 학습 과정에 초점을 맞춘 설명
◆ 인공지능 개발 과정에서 생길 수 있는 윤리적 이슈 소개
◆ 누구나 쉽게 인공지능을 개발할 수 있도록 구글 코랩(colab) 개발 환경 사용
◆ 인공지능 개발을 위한 파이썬 기초부터 데이터 처리, 데이터 시각화 실습
◆ 인공지능 개발 워크플로우 설명
◆ 실제 활용할 수 있는 인공지능 개발 예제 포함
◆ 예측, 분류, 군집화, 텍스트 자동 분석 등 다양한 인공지능 개발 실습 제공
◆ 인공지능 개발에 필요한 다양한 노하우 수록

이 책의 대상 독자

◆ 인공지능을 처음 접해 개념 이해와 코딩 기초부터 탄탄히 쌓고 싶은 분
◆ 인공지능 학습을 어디에서부터 시작해야 할지 감이 잘 잡히지 않는 분
◆ 본격적으로 인공지능을 배우기에 앞서, 인공지능 개발의 A to Z를 경험해 보고 싶은 분
◆ 복잡한 수학적 설명이나 어려운 코드 때문에 인공지능 학습을 포기한 경험이 있는 분
◆ 업무 효율 증대와 합리적 의사결정을 위해 인공지능 개발을 해보고 싶은 분

이 책의 구성

첫 두 챕터는 인공지능에 대한 개괄적 이해를 돕는다. 먼저 1장은 인공지능의 개념과 이 책의 구성을 설명한다. 2장에서는 앞으로 인공지능을 개발하면서 고려해야 할 윤리적 쟁점에 대해서 논의한다. 인공지능의 객관성에 대한 질문부터 인공지능을 만드는 데 사용되는 데이터의 대표성까지 인공지능 개발자로서 항상 비판적 시선으로 인공지능 시스템 개발 과정을 바라볼 필요가 있기 때문이다.
8장에서는 인공지능 시스템을 만드는 데 필요한 컴퓨터 프로그램 언어인 파이썬을 배운다. 9장부터 12장까지는 본격적으로 인공지능 시스템을 만드는 데 필요한 단계들을 개념적으로 설명한다. 파이썬의 기초, 인공지능 개발 파이프라인, 인공지능 개발 실습의 세 부분으로 구성돼 있다.

상세 이미지

저자/역자 소개

지은이의 말

4차 산업혁명의 시대가 도래하면서 인공지능 기술이 갖는 중요성이 증가하고 있습니다. 특히 우리 일상생활 곳곳에서 인공지능이 적용된 서비스가 우리 삶을 바꾸고 있습니다. 이와 함께 인공지능을 개발할 수 있는 능력이 중요해지고 있습니다. 이러한 트렌드를 반영해 많은 대학에서 인공지능과 데이터 사이언스 관련 학과가 개설되고 있습니다. 다양한 분야에서 인공지능이 필수적으로 활용되고 있는 만큼 경제와 일자리 역시 거대한 변화가 있습니다.
하지만, 수학이나 통계에 대한 기초 지식이 부족한 학생들은 인공지능에 쉽게 접근하지 못하고 있습니다. 시중의 많은 인공지능 입문서가 불완전한 번역으로 인해 의미전달이 되지 않거나, 실생활과 크게 상관없는 예시나 코드를 사용하고 있는 경우가 많습니다. 이는 학생들이 인공지능에 대한 흥미를 잃는 원인이 됩니다. 실제 많은 학생이 수식과 통계, 그리고 코딩의 장벽에 부딪쳐 인공지능 학습을 포기하고 있습니다. 때문에 누구나 쉽게 인공지능 개발을 경험하는 데 도움이 될 수 있는 교재의 필요성을 절감했습니다.
이 책은 저자들이 다년간 대학교에서 학생들에게 데이터 분석과 인공지능에 대한 강의를 한 경험을 바탕으로 집필했습니다. 수학적 지식보다 실제 인공지능 개발을 경험함으로써 인공지능에 익숙해지는 것이 중요하다는 경험에서 출발해서 이 책에서는 다음과 같은 부분을 중시했습니다. 첫째, 누구나 쉽게 인공지능의 원리를 이해할 수 있도록 가능한 수식 중심의 설명보다 개념 중심의 설명을 했습니다. 둘째, 누구나 인공지능 개발 환경을 구축할 수 있도록 구글 코랩(Colaboratory)의 플랫폼을 사용했습니다. 셋째, 가능한 모든 코드에 자세한 설명과 주석을 달아서 복잡한 코드를 쉽게 이해할 수 있도록 했습니다.

지은이 소개

김장현

연세대학교에서 경제학(학사)과 인터넷이용자 연구(석사)를 했다. 이후 데이터사이언스와 커뮤니케이션을 접목하기 위해 미국 뉴욕주립대학교 버팔로(State University of New York at Buffalo)에서 유학을 했다. 박사 학위 취득 후에는 하와이대, DGIST 대구경북과학기술원에서 교수 생활을 했으며, 2014년 이후 성균관대에서 융복합 학부와 대학원 학과를 여러 개 설립하는 데 기여했다. 교육현장에서 문과생이나 비전공자에게 인공지능 기초를 강의하는 것이 얼마나 어려우면서도 중요한지 깨닫고 이 책을 쓰게 됐다.

김민철

중앙대학교에서 신문방송학 학사와 석사를 취득했다. 이후, 미국 인디애나 대학교(Indiana University)에서 매스커뮤니케이션학 박사학위를 받았다. 2020년 성균관대학교 글로벌융합학부에서 박사후 연구원으로 재직하면서 데이터사이언스와 인공지능 기초에 관한 강의를 했다. 현재는 중앙대학교 미디어커뮤니케이션 학부의 조교수로 재직 중이다. 빅데이터와 인공지능을 활용하여 디지털 플랫폼화가 미디어와 커뮤니케이션 현상에 미치는 영향에 관한 연구를 하고 있다.

목차

목차
  • 1장. 들어가며
    • 1.1 인공지능이란 무엇인가?
    • 1.2 이 책의 특징
    • 1.3 이 책의 구성
      • 1.3.1 파이썬의 기초
      • 1.3.2 인공지능 개발 파이프라인
      • 1.3.3 인공지능 개발 실습
    • 1.4 요약

  • 2장. 인공지능과 사회 윤리
    • 2.1 인공지능과 윤리
    • 2.2 데이터 수집과 윤리
    • 2.3 인공지능과 데이터 편향
    • 2.4 인공지능과 사회적 영향
    • 2.5 요약

  • 3장. 파이썬과 구글 코랩 사용하기
    • 3.1 왜 파이썬을 사용해야 하나?
    • 3.2 구글 코랩은 무엇인가?
    • 3.3 구글 코랩의 A to Z
      • 3.3.1 구글 코랩 실행하기
      • 3.3.2 코드셀과 텍스트셀
      • 3.3.3 코랩 노트북 공유 방법
      • 3.3.4 구글 코랩 코드 히스토리 보기
    • 3.4 구글 코랩에서 외부 파일 사용하기
    • 3.5 구글 코랩 중단하기
      • 3.5.1 실행 중인 코드 중단하기
      • 3.5.2 런타임 재시작하기 및 런타임 초기화하기
    • 3.6 요약

  • 4장. 파이썬과 친해지기 1
    • 4.1 파이썬 시작하기
      • 4.1.1 안녕, 세상아! 출력하기
      • 4.1.2 주석 달기
    • 4.2 파이썬을 사용해 계산 결과 출력하기
      • 4.2.1 파이썬에서의 사칙 연산
      • 4.2.2 왜 마지막 값만 출력될까?
    • 4.3 파이썬에서 사용되는 데이터의 종류
      • 4.3.1 파이썬에서 사용하는 네 가지 데이터 유형
      • 4.3.2 문자열에서의 따옴표 사용
      • 4.3.3 데이터 값 사이의 연산
      • 4.3.4 큰 숫자의 표시
      • 4.3.5 데이터 간 유형 변환
    • 4.4 문자열 인덱싱과 슬라이싱
      • 4.4.1 인덱싱 실습
      • 4.4.2 슬라이싱
    • 4.5 요약
    • 연습문제 1

  • 5장. 파이썬과 친해지기 2
    • 5.1 변수
      • 5.1.1 변수에 데이터 저장하기
      • 5.1.2 변수명 정하기
      • 5.1.3 사용자에게 데이터를 입력받아 변수에 저장하기
    • 5.2 리스트
      • 5.2.1 리스트 만들기
      • 5.2.2 리스트에 저장되는 데이터의 유형
      • 5.2.3 리스트의 인덱싱과 슬라이싱
      • 5.2.4 리스트의 연산
    • 5.3 리스트 안의 데이터 다루기
      • 5.3.1 리스트 안의 데이터 수정
      • 5.3.2 명령어를 사용해 리스트 안의 요소 처리
      • 5.3.3 리스트의 복제
    • 5.4 딕셔너리
      • 5.4.1 딕셔너리 만들기
      • 5.4.2 딕셔너리 인덱싱
    • 5.5 딕셔너리 안의 데이터 다루기
      • 5.5.1 딕셔너리 데이터 추가
      • 5.5.2 딕셔너리 안의 데이터 수정
      • 5.5.3 딕셔너리 안의 데이터 삭제
      • 5.5.4 딕셔너리 복제
    • 5.6 요약
    • 연습문제 2

  • 6장. 조건문과 반복문
    • 6.1 연산자
      • 6.1.1 대입연산자
      • 6.1.2 비교연산자
      • 6.1.3 멤버연산자
      • 6.1.4 식별연산자
    • 6.2 조건문의 활용
      • 6.2.1 조건문의 형식
      • 6.2.2 복수의 조건문 사용법
      • 6.2.3 if, elif, else의 활용
    • 6.3 반복문
      • 6.3.1 반복문은 왜 필요한가?
      • 6.3.2 while을 사용해 조건이 만족할 때까지 반복해 실행하기
      • 6.3.3 while문과 조건문의 사용
    • 6.4 for를 사용해 일정 범위에서 반복문을 사용하기
      • 6.4.1 for문의 기본 문법
      • 6.4.2 for의 중첩 사용
      • 6.4.3 for와 if, continue의 사용
    • 6.5 리스트의 요소 자동으로 채우기
      • 6.5.1 리스트 컨프리헨션의 형식
      • 6.5.2 리스트 컴프리헨션과 조건문 사용하기
    • 6.6 딕셔너리의 요소 자동으로 채우기
      • 6.6.1 딕셔너리 컴프리헨션 만들기
      • 6.6.2 조건문과 함께 딕셔너리 컴프리헨션 사용하기
    • 6.7 요약
    • 연습문제 3

  • 7장. 판다스의 활용
    • 7.1 판다스
      • 7.1.1 판다스 사용할 준비하기
      • 7.1.2 데이터 시리즈
      • 7.1.3 데이터 시리즈의 특성
    • 7.2 데이터프레임
      • 7.2.1 데이터프레임 만들기
      • 7.2.2 데이터프레임 인덱싱하기
    • 7.3 외부 데이터 관리하기
      • 7.3.1 데이터 불러오기
    • 7.4 데이터프레임 살펴보기
      • 7.4.1 데이터 특성 확인하기
      • 7.4.2 데이터프레임의 연산
      • 7.4.3 조건에 맞는 데이터만 가져오기
    • 7.5 데이터 합치기
      • 7.5.1 .append()를 사용해 반복되는 데이터 합치기
      • 7.5.2 .merge()를 사용해 독립적인 두 데이터 합치기
    • 7.6 탐색적 데이터 분석 및 처리
      • 7.6.1 데이터프레임에 대한 기본 정보 살펴보기
      • 7.6.2 데이터 탐색적 분석하기
      • 7.6.3 열에 대한 여러 정보를 한번에 보기
    • 7.7 명목 변수를 사용해서 그룹별로 기술 통계치 출력하기
      • 7.7.1 명목 변수란?
      • 7.7.2 명목 변수를 사용해 데이터 나눠 보기
    • 7.8 요약
    • 연습문제 4

  • 8장. 데이터 시각화 실습
    • 8.1 데이터 시각화
      • 8.1.1 시각화를 위해서 사용한 seaborn 모듈
      • 8.1.2 간단한 선 그래프 그리기
    • 8.2 분포도를 사용해 데이터 분포 보기
      • 8.2.1 변수 하나의 분포도 시각화하기
      • 8.2.2 여러 데이터의 분포도를 시각화하기
      • 8.2.3 막대의 크기 조절
      • 8.2.4 명목 변수를 사용해 하나의 분포도에 다른 그룹을 시각화하기
    • 8.3 박스플롯을 사용해 데이터 특성 파악하기
      • 8.3.1 박스플롯의 개념
      • 8.3.2 박스플롯 시각화
      • 8.3.3 명목 변수를 사용해 그룹별로 박스플롯 시각화하기
      • 8.3.4 여러 그룹의 분포 살펴보기
    • 8.4 두 변수의 관계를 산점도를 사용해 시각화하기
      • 8.4.1 산점도 그리기
      • 8.4.2 그룹에 따라 산점도를 다르게 시각화하기
      • 8.4.3 데이터별 크기 조절
    • 8.5 히트맵을 사용해 두 변수의 빈도 구하기
      • 8.5.1 히트맵의 개념과 실습 데이터
      • 8.5.2 피벗테이블 만들기
      • 8.5.3 히트맵 만들기
    • 8.6 워드클라우드로 단어 빈도 시각화하기
      • 8.6.1 분석 준비하기
      • 8.6.2 데이터 전처리
      • 8.6.3 단어 빈도 수 시각화하기
      • 8.6.4 워드클라우드 조정하기
    • 8.7 요약
    • 연습문제 5

  • 9장. 인공지능 개발 파이프라인
    • 9.1 인공지능 개발 워크플로
    • 9.2 문제 제기
    • 9.3 데이터 파악
    • 9.4 데이터 전처리 및 정제
    • 9.5 모델 학습, 검증, 평가
    • 9.6 요약

  • 10장. 데이터 수집/이해/처리
    • 10.1 데이터란 무엇인가?
      • 10.1.1 구조화된 데이터와 비구조화된 데이터
    • 10.2 데이터 수집
      • 10.2.1 탐색적 데이터 분석
    • 10.3 데이터 전처리 실습
      • 10.3.1 결측값 처리
      • 10.3.2 결측값 처리 실습
      • 10.3.3 이상치 처리 실습
    • 10.4 데이터 정제
      • 10.4.1 기존의 데이터를 사용해 새로운 데이터로 변환
      • 10.4.2 데이터 리코딩
      • 10.4.3 원-핫-인코딩
    • 10.5 요약

  • 11장. 모델과 학습
    • 11.1 모델이란?
    • 11.2 인공지능에서 학습이란?
    • 11.3 지도 학습
    • 11.4 비지도 학습
    • 11.5 강화학습
    • 11.6 요약

  • 12장. 모델 검증 및 평가
    • 12.1 모델을 왜 평가하나?
      • 12.1.1 지도 학습을 사용해 학습한 모델의 평가
      • 12.1.2 비지도 학습을 사용해 학습한 모델의 평가
    • 12.2 과소적합과 과대적합 문제
    • 12.3 모델 검증과 평가 실습
      • 12.3.1 과소적합 및 과대적합 실습 준비
      • 12.3.2 회귀분석 학습 및 평가
    • 12.4 교차 검증
      • 12.4.1 교차 검증의 개념
      • 12.4.2 K-겹 교차 검증
      • 12.4.3 K-겹 교차 검증 실습
    • 12.5 모델 평가
      • 12.5.1 예측 모델
      • 12.5.2 분류 모델
      • 12.5.3 비지도 학습에서의 평가
    • 12.6 요약

  • 13장. 예측 문제 해결하기(비가 오는 날은 영화 관객 수가 줄어들까?)
    • 13.1 들어가며
    • 13.2 선형 회귀 모델에 대한 개념적 설명
    • 13.3 인공지능 모델 학습 준비
      • 13.3.1 준비하기
      • 13.3.2 데이터 불러오기
    • 13.4 데이터 탐색적 분석
    • 13.5 예측 모델 학습
      • 13.5.1 데이터셋 준비
      • 13.5.2 데이터셋 분리
    • 13.6 모델 학습
    • 13.7 정규화
    • 13.8 모델 검증 및 평가
      • 13.8.1 모델 평가
    • 13.9 K-겹 교차 검증
    • 13.10 모델 평가 활용
    • 13.11 학습된 모델로 2020년 영화 관객 수 예측해 보기
    • 13.12 요약
    • 연습문제 6

  • 14장. 분류 문제 해결하기(누가 신문을 읽고 있을까?)
    • 14.1 들어가며
      • 14.1.1 서포트 벡터 머신의 개념
    • 14.2 분류 모델 학습 준비
      • 14.2.1 데이터 준비
      • 14.2.2 탐색적 분석
    • 14.3 분류 모델 학습
      • 14.3.1 데이터 준비
      • 14.3.2 분류 모델 학습
    • 14.4 모델 평가
      • 14.4.1 혼동행렬
      • 14.4.2 혼동행렬을 사용해 평가 지표 구하기
      • 14.4.3 Receiver Operating Characteristics(ROC) 커브를 사용해 모델 평가하기
    • 14.5 모델 성능 개선
      • 14.5.1 모델 개선: 분류에 사용하는 특성이 많아지면 모델 성능이 향상될까?
      • 14.5.2 변수를 계속 추가하면 모델의 성능이 계속 향상될까?
      • 14.5.3 모델 성능 비교
      • 14.5.4 K-겹 교차 검증
    • 14.6 요약
    • 연습문제 7

  • 15장. 군집화 문제 해결하기(강수량과 평균 기온으로 사계절을 구분할 수 있을까?
    • 15.1 K-평균 군집화의 개념
    • 15.2 K-평균 군집화 모델 학습
      • 15.2.1 준비하기
      • 15.2.2 탐색적 분석
      • 15.2.3 모델 학습
      • 15.2.4 학습된 모델 확인
      • 15.2.5 K-평균 군집 모델 시각화
    • 15.3 K-평균 군집화 모델 평가
      • 15.3.1 실루엣 분석의 개념
      • 15.3.2 각 데이터별 실루엣 계수 구하기
      • 15.3.3 실루엣 계수를 사용해 모델 성능 비교
      • 15.3.4 실루엣 분석 시각화
    • 15.4 요약
    • 연습문제 8

  • 16장. 텍스트를 자동으로 분류하기(토픽 모델링을 사용한 신문사설 자동 분류 모델)
    • 16.1 토픽 모델링이란?
      • 16.1.1 토픽 모델링의 개념
      • 16.1.2 LDA 토픽 모델링
      • 16.1.3 토픽 모델링 실습 과정
    • 16.2 텍스트 전처리
      • 16.2.1 분석 준비하기
      • 16.2.2 텍스트 전처리
      • 16.2.3 특수 기호 없애기
      • 16.2.4 형태소 분석
      • 16.2.5 정규화
      • 16.2.6 불용어 제거
    • 16.3 토픽 모델링 실습
      • 16.3.1 토모토파이 설치
      • 16.3.2 토모토파이 기본 사용 방법
    • 16.4 최적의 K값 찾기
      • 16.4.1 토픽 모델링 함수 정의
      • 16.4.2 K값 찾기
      • 16.4.3 혼란도 값의 시각화
    • 16.5 토픽 모델링 결과 탐색
      • 16.5.1 토픽별로 확률이 높은 단어 출력하기
      • 16.5.2 각 문서별 토픽 분포 구하기
      • 16.5.3 토픽 이름 붙이기
      • 16.5.4 토픽 모델링 시각화
    • 16.6 요약

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안