読者です 読者をやめる 読者になる 読者になる

アプリとサービスのすすめ

アプリやIT系のサービスを中心に書いていきます。たまに副業やビジネス関係の情報なども気ままにつづります

anacondaのJupyterでmecabをインストールする方法【Mac】

Mecabとは
mecab形態素解析ツールで文章を単語に分けてくれるツールです。ナイーブベイズ分類器というメールのスパム判定などに用いる機械学習のシステムの学習によく使うと思います。
使用環境
Mac book air
・anaconda

の使用環境で使ってインストールしてみました。Qiitaとかで結構のってるんですが、断片的だったり、anacondaに対応してないサイトもあったり、情報としてまとまってないので、anacondaで使用する方法としてしっかりまとめておこうと思います。

mecabのインストール方法

anacondaのインストール

まず、anacondaのインストールはどこにでも載ってるので、ほぼ割愛。

公式サイトからWindows用か、Mac用に合わせてインストールすればOK。



HomebrewをMacにインストール

mecabをインストールする際にHomebrewというのをMacに読み込ませました。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)

まずこれをインストールしないと、mecabは動作しない。Macのターミナルに公式サイトに掲載されているコマンドをコピペすればインストールができます。
ここら辺はサイトの通り。



anaconda内で仮想環境を作成

anacondaを起動した画面から「Environment」を押して、下の画像のように「create」を押す。今回はmecab用の仮想環境を作ってみました。
f:id:trafalbad:20170429181559j:plain
名前は好きに決めてOK。完成したボタンの右の矢印を押すとターミナルを開けます。



mecabとIP辞書のコマンドをターミナルに実装する

ターミナルが開けたら、mecabと辞書をインストールします

このコマンドでまずmecabをインストール

brew install mecab

次にこのコマンドで辞書をインストールします。

brew install mecab-ipadic

順にターミナルに実装していって下さい。



ライブラリにnatto-pyがインストールされているか確認する

anacondaではnatto-pyのライブラリを使いました。


下記画像の「not installed」を押してインストールされていないライブラリ項目にnatto-pyがあれば、まだインストールされてないので、インストールします。
f:id:trafalbad:20170429181620j:plain


mecabを試してみる


下記コマンドで正常に動くかどうか確認できます。

from natto import MeCab

nm = MeCab()
print(nm.parse('すもももももももものうち'))

>>>
もも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ


f:id:trafalbad:20170429181644p:plain



anacondaのアクセス権限の影響でmecabがインストールできないとき
すでに別のmecabをインストールしてしまった場合、新しいバージョンをインストールできない場合があります。そんなときはすでにインストール済みのものをアンイストールします。

例えば今回のmecabをインストールしたい場合は
mecabをアンイストール

brew uninstall mecab

辞書をアンイストール

brew uninstall mecab-ipadic

してから再度下記コマンドをターミナルに再び実装するとインストールできます。

brew install mecab
brew install mecab-ipadic

これでmecabがanacondaでも使えるようになります。mecabでは分かち書きなどいろんな出力方法があるので便利。

医学翻訳を独学で勉強するために:医療・医薬の専門知識参考サイト(遺伝子治療、医薬品、新薬申請、医療機器)

この記事では医学翻訳に必要な医学の基礎知識を載せたサイトをまとめた。前の記事を含め、医学翻訳を学ぶ際の「医学の全体像&その知識」として役に立つものを集めてある(参考:翻訳学校のテキスト内容)。「医学翻訳をやるので専門知識をお手軽に学びたい」というときにかなり活用できると思う。
医学の全体像&その知識を把握するのに役立つはずだ。

*一部のタイトルにサイトリンクが埋め込まれてます。


前記事
trafalbad.hatenadiary.jp

目次(前の記事)
1.癌
2.臨床系-消化器
3.臨床系-循環器
4.臨床系-外科学
5.臨床系-脳
6.生化学
7.免疫学

目次(この記事)
8.遺伝子治療
9.医薬品-抗がん剤
10.医薬品-抗生物質
11.新薬の申請
12.医療機器

f:id:trafalbad:20170402095205j:plain

8.遺伝子治療
遺伝子治療は、異常な遺伝子を修復・修正することで病気を治療する手法。
知識範囲はレトロウイルスなど遺伝子治療の原因から主な手法まで。


遺伝子治療用ベクター

f:id:trafalbad:20170402110422j:plain
遺伝子治療とそれに使うベクターに関してかなり詳しく説明


【サイト検索ワード】遺伝子治療 アデノウイルス レトロウイルス



遺伝子治療と核酸医薬

f:id:trafalbad:20170402110430j:plain
染色体、DHNなど遺伝子治療に欠かせない用語、および遺伝子治療で頻繁な出て来る治療法、知識等が図入りで説明されている。


【サイト検索ワード】遺伝子治療 染色体 DNA 核酸




9.抗がん剤
抗がん剤は、 化学物質によってがんの増殖を抑え、がん細胞を破壊する。また作用の仕方などによって、いくつかの種類に分類される。知識範囲は抗がん剤の機能の仕組み、専門用語までの土台となる部分。


ガン臨床試験デザイン

f:id:trafalbad:20170402110507j:plain
癌の臨床試験のデザイン方法や、抗がん剤が認められる過程、臨床試験の専門用語がよくわかる。


【サイト検索ワード】医薬品 抗がん剤 P値 エンドポイント


細胞分裂とDNAの構造

f:id:trafalbad:20170402110520j:plain
抗がん剤の働きを理解するためには、ガンの分裂メカニズムをおさえ、それを構成する情報を把握することが不可欠。この記事では簡潔でかなりよくわかる。


【サイト検索ワード】医薬品 抗がん剤 有糸分裂



代謝拮抗薬

www.skincare-univ.com

抗がん剤でかなりメインとなる代謝拮抗薬について解説。抗がん剤の仕組みのおさらいにもなる。

化学反応における「架橋」とは→主に高分子化学においてポリマー(重合体)同士を連結し、物理的、化学的性質を変化させる反応のことである。

【サイト検索ワード】抗がん剤 代謝拮抗薬



10.抗生物質
抗生物質はかびや細菌により分泌され、他の微生物(病原菌など)の発育・繁殖をおさえる物質のこと。抗生物質の基本的な機能の仕組み、基本用語まで。

抗生物質の種類

f:id:trafalbad:20170402111128j:plain

抗生物質の全体像の把握にはもってこいのサイト。本で見るより軽いし、わかりやすい。


【サイト検索ワード】医薬品 抗生物質 プラスミド リボソーム



抗生物質と抗菌薬の違い


f:id:trafalbad:20170402111144j:plain

抗生物質には微生物が深く関わるが、リボゾームや核酸など抗生物質&微生物について説明


【サイト検索ワード】医薬品 抗生物質 微生物



抗生物質の話

www.chem-station.com

抗生物質の基本用語にはアミノ酸や基本骨格など結構たくさんある。それを網羅的にかなり詳しく説明。


【サイト検索ワード】医薬品 抗生物質 アミノ基 基本骨格



11.新薬の申請
日本では、医薬品を製造販売(市場に出荷、販売)するためには、厚生労働大臣の承認(医薬品製造販売承認)を受ける必要がある。その一連の流れや、承認に必要な臨床経験の仕組みまで。


治験管理センターニュース

f:id:trafalbad:20170402111200j:plain

翻訳中に出会ったサイト。新薬申請に必要な治験について本質的なことまで説明。とにかくわかりやすい


【サイト検索ワード】新薬申請 臨床試験



クスリができるまで

f:id:trafalbad:20170402111210j:plain

新薬の開発から承認までの一連の流れをコンパクトに説明


【サイト検索ワード】新薬 申請 薬ができるまで



インフォームドコンセント

chugai-pharm.info


新薬申請関連文書にはインフォームドコンセントの文書を訳すことも多い。そのインフォームドコンセントについてのサイト

【サイト検索ワード】新薬 インフォームドコンセント Cmax



12.医療機器
医療機器は、診断、治療、身体の構造、機能に影響を及ぼすことが目的の機械器具等(医療用品、歯科材料、衛生用品など)のこと。翻訳で医療機器を訳す際に必要となる前提知識、フォーマットの参考となるマニュアルを載せた。


医療機器にかかる規制制度の現状

f:id:trafalbad:20170402111758j:plain

医療機器はその機能によってレベル別に分類されている。厚生労働省が定める日本の医療機器における制度情報


【サイト検索ワード】医療機器 規制



滅菌法のソーシング

f:id:trafalbad:20170402111809j:plain
医療機器に”滅菌”は欠かせない技術。それを実例を通して理解。

【サイト検索ワード】医療機器 滅菌



医療機器ができるまで

www.nibiohn.go.jp

医療機器も新薬申請と同様、臨床試験なと一連の承認過程を経なければならない。その臨床試験や流れについて説明。

【サイト検索ワード】医療機器 臨床試験



除細動器

f:id:trafalbad:20170402111829j:plain
医療機器においてはメジャーな除細動器のマニュアル。翻訳する際のフォーマットととして見ておきたい

【サイト検索ワード】医療機器 植込み型除細動 禁忌 警告



ペンタックス内視鏡

f:id:trafalbad:20170402111840j:plain

こちらも医療機器の基本的なマニュアルのフォーマット。かなり参考になる。


【サイト検索ワード】医療機器 内視鏡 取扱説明書 機能 名称 点検



前記事を含めて、医学翻訳の大まかなカテゴリー内の知識を載せたサイトを紹介してきた。本で学ぶよりもお手頃だし、軽いので学習の際にはかなり参考になるはずだ。

関連記事
trafalbad.hatenadiary.jp

trafalbad.hatenadiary.jp

医学翻訳を独学で勉強するために:医療・医薬の専門知識参考サイト(癌、臨床系、生化学、免疫学)

医学翻訳をするには、基本的な医学の専門知識が必要になる。これから2記事にわたって紹介するサイトは、医学翻訳で使う医学情報を掲載している(参考:翻訳学校のテキスト内容)。

医学といっても翻訳で使う範囲は幅広いので、「医学の全体像&その知識」を把握するのに参考になるだろう。
これから医学翻訳を学ぶ人はこれらのサイトの内容を見て知っておけば、知らないよりは確実に役立つ。

医学の全体像&目次
目次(この記事)
1.癌
2.臨床系-消化器
3.臨床系-循環器
4.臨床系-外科学
5.臨床系-脳
6.生化学
7.免疫学

目次(次の記事)
8.遺伝子治療
9.医薬品-抗がん剤
10.医薬品-抗生物質
11.新薬の申請
12.医療機器

上記の範囲が医学翻訳で使う大まかな医学の範囲だ。もちろん本番の翻訳ではもっと細かな知識を扱う。なので、その都度別の知識を調べることが必要だが、ほとんどは上のカテゴリーの範囲内にある。

この記事で掲載している情報を一通り見て学べば、医学翻訳の範囲内の基本的な医学知識はつくだろう。

f:id:trafalbad:20170402095136j:plain


1.癌
ガンは日本人の死因を占める病気の第一位で、その割合は年々増加しており、関連情報も腫瘍を中心にドンドン増えている。

基本的にはガンは良性腫瘍と悪性腫瘍に大きく分かれ、そこから枝分かれ的に細かくなっている分野。



癌の仕組みから基礎まで

ganjoho.jp

癌はどんな症状なのか、症状手術、良性腫瘍と悪性腫瘍の違いなど癌に関する基礎的な知識をがわかりやすい。

【サイト検索ワード】癌 良性 悪性基礎知識



癌の腫瘍マーカー

f:id:trafalbad:20170402103054j:plain

癌における腫瘍マーカーの役割とその種類を紹介。腫瘍マーカーが検査でどのような役割を果たすかも紹介されている。腫瘍マーカーの役割を抑えるくらいに読むくらいでいいと思う。

【サイト検索ワード】癌 腫瘍マーカー



癌の国際的な分類表

f:id:trafalbad:20170402103105j:plain

癌は種類や症状など、多様な要因によって分類される。それは国際的に決まっているため翻訳でも重要な知識で、このサイトではそれが詳しくわかる

【サイト検索ワード】癌 TNN分類 p r




2.消化器
消化器(英語: digestive organ, digestive apparatus)は食物の摂取から、貯蔵と消化、栄養素の吸収、排泄、といった働きを担う器官をまとめた総称。
f:id:trafalbad:20170402104421j:plain


図で見てわかるように口から胃、肛門付近の臓器をさして言う。知識範囲は神経系などの臓器の仕組みから主な病気まで。



交感神経と副交感神経

www.jiritunavi.com

消化器系における交感神経と副交感神経の働きをストレスとの関係からわかりやすくまとめた記事。かなり読みやすい

【サイト検索ワード】消化器 交感神経



迷走神経

f:id:trafalbad:20170402103116j:plain
自律神経系の症状である迷走神経反射について。自律神経系のことや、その症状も詳しくわかる。

【サイト検索ワード】消化器 迷走神経


過敏性腸症候群

f:id:trafalbad:20170402103122j:plain

消化器系の代表的な病気である過敏性腸症候群IBS)の仕組みを詳しく説明。
【サイト検索ワード】消化器 過敏性腸症候群 ROME2




3.循環器
循環器(英: Circulation, circulatory organ)血液やリンパ液などの体液を輸送し、循環させる働きをする。ほとんどが血管で、血液を循環させる”血管系”、リンパ液を循環させる”リンパ系”がある。

f:id:trafalbad:20170402104403j:plain

生体機能に必要な酸素や血液を運ぶ働きがある。範囲は血管と心臓などの循環器の仕組みから関連研究まで。



動脈硬化と血管断面図

f:id:trafalbad:20170402103515j:plain
血管の断面図とそれに加えて、動脈硬化という血管の主な病気について

【サイト検索ワード】血管断面図 正常動脈


心臓の仕組み

f:id:trafalbad:20170402103522j:plain
心臓の機能や名称、仕組みをコンパクトにまとめてある。

【サイト検索ワード】心臓 右肝動脈 右心室 右心房 冠状動脈



フランミンガム研究の医学論文

f:id:trafalbad:20170402103531j:plain
・フラミンガム研究は「心血管病の原因を探るための長期の疫学研究」のこと
BMI(ボディー・マス・インデックス)は、体重と身長の関係から人の肥満度を示す体格指数

フラミンガム研究の類似の論文でBMIがどのように使われているか、また翻訳のときにどんな風に訳したらいいかを参考にしたい。


【サイト検索ワード】フラミンガム研究 BMI




4.外科学
外科学(英: surgery)は、手術による手法を使う全ての分野を包括する基礎の学問。知識は外科手術の基本的な仕組み。


多臓器不全

www.jlogos.com

外科における最も多い手術の概要を通して、外科全般の知識を学べる。

【サイト検索ワード】外科 多臓器不全 臓器 機能 液性不全



外科医療の基本的な診断/検査用語

www.nyugan.jp

外科手術の基本的な手法の用語解説。外科では頻繁に出て来るものに限定している。

【サイト検索ワード】外科 手術 生検




5.脳
脳科学とは、ヒトの脳の分野。知識範囲は脳の仕組み。



脳の概要

kazoo04.hatenablog.com

コンピュータ系のブログだが、脳の断面図から仕組みまで、1つのサイトでかなりコンパクトにまとめてある。結構楽しく読めので、堅苦しいテキストよりずっとコンパクト

【サイト検索ワード】臨床 前頭葉 小脳 間脳



6.生化学
生物化学と呼ばれることもあるが,生化学のほうが一般的。生物体を構成する物質や生体内に生じる化学物質、およびその化学反応の過程が対象。

知識は生化学の基本的な物質から、医学用語まで。特に幅広いので、翻訳学校の紹介している知識を対象範囲とカウントした。



血管の働き

www.kango-roo.com

血管の働きを説明しているが、メインの構成情報は生化学の基本的な用語や知識となっている。

【サイト検索ワード】生化学 血液凝固過程 血液凝固因子



コホート研究

f:id:trafalbad:20170402104102j:plain
オッズ比、相対危険度、信頼区間など生化学の研究における基本ワードがわかる。
信頼区間→標本の統計量を元に、母集団の平均などを、幅(区間)を持たせて推定し、この推定した幅を「信頼区間」と言います。

【サイト検索ワード】オッズ比 相対危険度 信頼区間



血液疾患

f:id:trafalbad:20170402104112j:plain
血液疾患は血液の病気。確認したい内容はヘパリン、ワルファリンやヘパリン起因性血小板減少症(HIT)など。生化学に欠かせない情報はほとんどのっている。

【サイト検索ワード】生化学 肥満細胞 アンチトロンビン APTT



播種性血管凝固

f:id:trafalbad:20170402104222j:plain
生化学でメインとなるFOY、DICの理解のために検索してたら出会ったサイト。かなりわかりやすい。

ちなみにDICは疾患で「播種性血管内凝固」、FOYとは「メシル酸ガベキサート」のことでDICの治療薬。文中ではFOYと訳されてないので、注意したい。

【サイト検索ワード】生化学 FOY DIC



7.免疫学

免疫学(英語: immunology)は、生体の持つ免疫機能に関する分野。主に、基礎医学・歯学・薬学・生物学、臨床医学が対象。

抗体、B細胞、T細胞、リンパ球などの免疫学の基礎知識&用語が対象範囲。

免疫細胞

www.menekiplaza.com

B細胞、T細胞、リンパ球、マクロファージなど免疫学の基礎知識がかなり詳しくわかる。

【サイト検索ワード】免疫系 B細胞 Tリンパ



抗原と抗体(感作、抗体の種類)

f:id:trafalbad:20170402104206j:plain
免疫学における抗原や抗体などの役割、働き、仕組みがわかる。

【サイト検索ワード】抗体  抗原



免疫疾患の基礎

kotobank.jp

B細胞や抗原、抗体など免疫学の基礎知識となる物質がどのように作用し合ってるかよくわかる。

1、2番目の知識をまとめた免疫学の全体像がよくわかる内容となっている。

【サイト検索ワード】免疫学 抗原 サイトカイン 抗体



医学翻訳は医者並みの知識は要求されないが、医学翻訳における表現や基礎知識は必要になる。今回紹介したサイトは、翻訳学校のテキストを参考にしているので、医学翻訳の基礎的なカテゴリーの知識は網羅していると考えていい。

もちろん実務での本格的な翻訳のときはこれらの知識を土台に、さらに精密に調べる必要がある。しかし、土台の知識がある無いでは、翻訳スピードも全然違うし、文章の質も違ってくる。その意味でもここで紹介した範囲内の知識は必ず役に立つだろう。


次の記事では目次8以降を紹介しています。
次記事

trafalbad.hatenadiary.jp

大学の学士・編入試験用Q&A(物理学勉強法、サークルなどの大学生活について)

大学編入試験に関する情報は思ったより少ないし、そんな中でいろいろ悩むこともあるはずだ。編入試験に関して質問をもらったので、この記事ではその質問に淡々と答えていこうと思う。

内容がかなり個人的になってしまうが、前回書いた記事の内容についての質問もあるので、下記記事も参考にして欲しい。

trafalbad.hatenadiary.jp

f:id:trafalbad:20170327212115j:plain


Q1
大学物理に必要な大学数学の参考書は何がいい?
物理に必要な数学は、あくまで大学数学で必要な部分だけやればいいので、あまり時間はかけたくない。なるべくわかりやすい参考書がオススメだ。

大学教養レベルで一番わかりやすいのはマセマ出版のキャンパスゼミシリーズだと思う。このシリーズの中から、必要な本だけ買うのが一番だろう。



Q2
高校物理の復習はしなければいけないのか?

大学の物理学は高校の延長だ。つまり高校の基礎知識を理解してないと大学物理は解けない。しかも編入試験の問題は高校物理の基礎問題の知識を要求されるのが6〜7割を占めているし、編入試験の合格者の多くは、基礎固めをしてた人が受かる傾向が圧倒的に強い。


むしろ高校物理の基礎を固めるのは合格には絶対必要。「物理のエッセンス」など、基本を理解できる高校物理の参考書を完璧に理解してから、大学物理に手をつけないと編入試験の問題は解けない。

一にも二にも高校物理の基礎は確実にしておこう。




Q3
基礎物理学演習と演習力学等の参考書はどう違うの?

これは実際に中身を見て好きな参考書を取ればいいと思うが、違いを挙げるとこんな感じ


基礎物理学演習
→シリーズ2まであって力学、電磁気学、熱力学、波動など編入試験に必要な分野は網羅している(ただし熱力学と波動は編入向けの問題ではない)。予備校でも基礎物理学演習を勧めているので、この参考書の方が編入試験向けだろう。

若干内容が簡単だったり、ベクトルポテンシャルなど一部の難関大学の内容やレベルの問題を扱ってないが、そこは過去問や他の問題集で補える。「熱力学・波動」は「大学1.2年生のためのすぐわかる物理演習」が編入試験向けの問題が載っていてオススメだ



力学演習
→こちらは応用力をつけたいという意味でオススメの本。力学に特化しているので、これができれば、編入試験ではほぼ解けない問題はないだろう。ただ振動の分野など、問題数が足りない分野があったり、絶対に出ない問題もあるので、必要ないものはスルーしないと時間の無駄になる。

基本的にはどちらも編入試験向けだが、問題が足らない、過去問で必要な範囲の問題がないなど長所短所はある。ベストなのはどちらか買ってみて、志望校の過去問の範囲の問題が足らなければ、他の参考書で補うというのが一番いいと思う。

編入試験の問題を網羅している参考書なんて発売されていないので、そこら辺は臨機応変に対応するしかない。



Q4
出題範囲の力学の中に解析力学統計力学は入るの?
編入試験の範囲は
力学、電磁気学、波動、熱力学(たまに原子)。力学はただの力学で、解析力学とか統計力学は含まれない。




Q5
波動の分野に関する勉強法はどうやるの?
自分は物理のエッセンスで基礎固めしたあとは、基礎物理学演習と「大学1.2年生のためのすぐわかる演習物理」の問題を何回も解いた。波動は高校範囲の知識で解ける問題も多い

前記事で勧めた「裳華房テキストシリーズの波動」は予備校で勧められている参考書だが、自分はあんまり向かなかったので、大学の波動分野の知識確認用に使っただけだった。普通にやれば3週間くらいで終わるはずだ。

波動に関する勉強法は「波動 編入」でググるといろいろ出てくる。例えば、下記記事の波動に関する部分は結構詳しいので、参考にしてほしい。
gorza1206.hatenablog.com

ちなみにマセマのキャンパスゼミシリーズでは波動の本は出てない。


Q6
数学はどこまでやればいい?

数学は正直、分野によって必要な知識が異なる。
力学、電磁気学(というか編入物理)なら
線形代数
微分積分
・ベクトル解析
微分方程式(常微分偏微分がわかればいい)

だけで十分だろう。


手をつける順番としては始めは物理をやってみてわからなければ、数学の参考書で調べるのが一番いいと思う。

幸いにもマセマのキャンパスゼミシリーズでは、力学や電磁気学に必要な数学知識があらかじめ紹介されているので、どこを勉強すればいいかがわかるようになっている。




Q7
高校範囲を勉強するのは、大学受験勉強で使っていた重要問題集でも大丈夫?物理のエッセンスは使ったことがないので、重要問題集だと量が多くなることはあるか?

大事なのは基礎がマスターできるかだ。「電位って何?」「エネルギー保存則が適用される力の条件は?」など物理の本質的なことに答えられるだろうか?

重要問題集はやったことないが、重要問題集でキチンと物理の基礎固めができるならそれでいいと思う。「物理の基礎ってどれくらいか」がわかりにくいときは、物理のエッセンスの内容を見てみることがオススメ。「エッセンスの内容を完璧に理解できるな」という感じなら重要問題集でもいいと思う。


どのみち編入物理では突っ込んだ(暗記では対応できない思考力が要求される)問題を出してくるので、物理の基礎的な部分を完璧に理解しないと解けない。自分の受けた国公立の問題では力学と電磁気の融合問題が出てきたが、力学的エネルギー保存則を完璧に理解していないと解けなかった。

要は基礎がマスターできるなら重要問題集でもいいと思う。ここら辺は「物理のエッセンス 編入」、「重要問題集、編入」あたりでググってみて自己判断したほうがいいだろう。


f:id:trafalbad:20170327212143j:plain




Q8
重要問題集の問題で6割(分野によって偏りあり)くらいの正答率だったのですが、全問完璧に解けるレベルまで復習した方が良いのでしょうか?


基本的に「基礎を理解するのが目的」なら応用問題、発展問題は解けなくてもいい。(解けた方がいいが)。

「応用力をつける」のが目的なら全問解けた方がいいだろう。


ただ編入試験は物理に微積の計算を頻繁に使うので、演習書に重要問題集だけでは足らないと思う




Q9
旧帝大の編入試験を受験したいのですが、基礎物理学演習の問題をやっていれば合格レベルに達することができるの?
編入試験は基礎と応用ができてれば解ける。自分は物理のエッセンスで基礎をやって、基礎物理学演習とかで自分で答えが書けるまで、ひたすら考えて思考力をつけた。

思考力=応用力をつけた後に過去問を解いてみて、解けなかったら解けるまで基礎固め&物理学演習とかを繰り返した。足りない分野は他の問題集を買って補った。

編入試験レベルの応用力は基礎物理学演習をやれば身につくし、旧帝大レベルでも基礎物理学演習なら大丈夫だとは思う。ある程度の勉強法は人によって異なる。上に書いた勉強法を真似てみて、自分なりにアレンジした勉強法を見つけるのがベスト




Q10
各問題集どれくらいの時間や日数かかるのか具体的に教えて下さい。参考書を使った順番も教えていただけると幸いです?


一番いいのは必ず出題される力学と電磁気をやること。あとは過去問を見て出る範囲をしぼって勉強すれば一番コスパがいい。
どれくらいかかるかは理解度によるのでなんとも言えないが、自分は基礎物理学演習は集中して1ヶ月くらい、力学演習は必要な問題だけやっていらないのはスルーしたので、1ヶ月くらいかかった。



また順番は下のようにやった
1.編入試験で出題される大学物理の分野を調べる
2.過去問で出題傾向を知る
3.物理のエッセンスとかで基礎固め
4.演習系の問題集で思考力(応用力)を高めた
5.過去問を解いてみる
6.解けなかったら解けるまで3〜5を繰り返した



Q11
演習力学は解説が詳しいようですが、やはり塾などを活用して教えていただかないと、独学は難しいのですか?


独学は理解度によるので、どれだけ物理に詳しいかによる。演習力学は難しめなので、回答をみて粘って考える精神力がないと独学はきつい。粘って答えにたどり着くことが出来れば、物理の独学は基本できる。

ネット上にも勉強法についての情報がかなりあるので、それを自分で活用できないなら独学は厳しいかもしれない。
塾に行った方がテキストに基礎問が揃っているし、チューターや過去問などの設備が整っているので、独学に自信がなければ塾に行った方が早い




Q12
大学物理をやったことがなく、よく分からないので、演習書を選ぶときのポイントを教えて


なるべくわかりやすい参考書、これなら必ず一冊やりきれるという自信のある演習書を選ぼう。
変に難しいのを買って消化不良になったら時間の無駄だ。

その参考書をやってみて一冊終わった後、志望校のレベルに足りないなら難しいのを買ってみるなど、だんだんレベルアップして行くのがいいはず。

大事なのはこれだと決めた演習書を何回もやること。だめなのは演習書をたくさん買って中途半端で終わらせること。



Q13
数学の参考書で物理に必要な範囲だけやるというのは、具体的にどういうこと?


数学科の人みたいに数学を完璧にマスターしなくてもよくて、物理学の問題を解くために必要な部分だけ理解しておけばいいということ。
例えて言うと「数学の知識=物理の問題を解くための道具」。


例えば、力学で微分積分を学ぶ必要があるので、微積の「偏微分」みたいな”物理を理解するために必要な部分”だけ学べば良い。
逆に、「重積分」みたいな”使わない部分”は勉強する必要はないってこと。



Q14
波動や熱力学の問題は、基礎物理学演習に含まれているの?
含まれているけど、波動や熱力学は編入試験向けの問題が少ないので、「大学1.2年生のためのすぐわかる物理演習」をメインに、プラスで過去問を使って問題を多めに解いた方がいい。



Q15
編入試験に合格した場合、編入後に以前の大学の単位はどれくらい認められるものなの?

自分は文系だったので90単位→70単位くらいになった。理系ならほとんど認められると考えていい。



Q16
編入後は単位を補ったりする必要があったりして大変?
単位が足らなければ、もちろん大変になる。文系だと知識の遅れがある場合、勉強に追われる毎日になる。

理系で単位が認められてかつ物理、勉強全般得意なら比較的遊べる。志望してるのが理系の実験のある学科だと、結構大変だと思う



Q17
大学の授業がある期間はどれくらい勉強してた?

普通に授業出ててると課題とかレポートが多い。実験系の授業になると必ずレポートが出るので、平日は夜まで勉強する日が結構あった。
ここら辺はやっぱり勉強が得意なら早く終わるし、勉強時間も少なくて済む。


編入合格後に、入学までの間に入学後のための勉強をしておくと、入学後に楽できる。



Q18
サークルなどに入った場合、勉強と両立できるか?

自分は部活やっていて週4で練習していた。正直、サークルは週2〜3にしておかないと勉強事態が手につかなくなって両立できない。勉強とサークルで両立したいなら勉強のウエイトを減らすことがキー。

編入試験後の期間に勉強しとくとか、自分なりの勉強の効率化の方法を探しておくとかの工夫が必要。

逆に言ってしまえば、勉強とサークルの両立は工夫次第でできる。




長くなったが、編入試験でありそうな質問に回答してきた。また質問とかあったら記事にするかもしれないので、気軽にコメントして頂けると助かります。

書籍『Tensorflowで学ぶディープラーニング入門』の内容まとめ(2章〜5章)#多層ニューラルネットワーク(CNN)で何ができるようになるか

前記事の続きです。この記事では書籍『Tensorflowで学ぶディープラーニング入門』の2〜5章を学んで、Tensorflowで何ができるようになるかをまとめています。

あくまで学習メモですが、この書籍を通してTensorflowがどこまで学べるかの参考にしてもらえればと思います。

前置については前記事をご覧ください。2〜5章は多層ニューラルネットワーク(CNN)の全体像を理解し、CNNをコードで実装できるようになる内容です。

この書籍ではMNISTという画像のデータセットを用いて、CNNを実装していきながら全体像を理解する構成になっています。この記事では2〜5章でCNNの理解を通し、「何ができるようになるのか」を淡々と書いていきます。

あくまで学習メモですので、専門用語が出てきますが、なるべくわかりやすく書いたつもりです。




機械学習の基本アルゴリズムの実装
機械学習では
・教師ありアルゴリズム
・教師なしアルゴリズム

に大きく分かれます(正確には強化学習アルゴリズムもあり)。ディープラーニングを扱うTensorflowは「教師ありアルゴリズム」が対象になります。

1章のまとめ記事でみたように「教師ありデータアルゴリズム」の基本的なステップは
①与えられたデータを元にして、未知のデータを予測する数式を立てる
②2乗誤差関数(損失関数)を求める
③勾配降下法を使って2乗誤差関数を最小にする

の3つです。『Tensorflowではじめるディープラーニング入門』ではTensorflowを学べるので、このアルゴリズムをコードで実際に実装することが可能になります。





多層ニューラルネットワーク(CNN)の実装
ディープラーニングのほんどのモデルはCNNです。他にもRNNやLSTMなどがありますが、ディープラーニングでは圧倒的にCNNが主流です。

f:id:trafalbad:20170320124339j:plain
CNNの全体図

CNNを構成する
・ソフトマックス関数
ドロップアウト
・全結合層
・プーリング層
・畳み込みフィルター

をコードにより実装することが可能になります。Tensorflowでは各層やフィルターの役割を果たす関数が用意されています。それらは独立して紹介されていますが、それらを実際に組み合わせることでCNNを構成することができます。

機械学習の基本アルゴリズムと組み合わせて回帰問題や分類問題に対処できるようになりました。これで単純な話、ディープラーニングをコードで実装できる。

*CNNを用いて分類問題を試せる
この本ではMNISTを使ったデータセットを使ってCNNを実装し、学習させますが、自分でオリジナルの分類問題を作ってCNNを試すことができます。
主に乱数表示させたガンの罹患患者(○)と非罹患患者(×)の分類表を作り、CNNを使ってこれらを正確に分類させることができます。もちろん実際のデータではないので、一般的な汎用力はつきませんが、実際のデータを入れて本格的な機械学習の問題に対処できるやり方が身につきます。




ロジスティック回帰のアルゴリズムが実装できる
ロジスティック回帰で使う数式は「最尤推定法」という統計学では有名な方法で、「与えられたデータが正しい確率を最大化」します。

機械学習では基本的なアルゴリズムである「損失関数から勾配降下法」という流れは同じです。しかし確率問題に帰着させるロジスティック回帰では最尤推定法の計算式が必要になります。


ディープラーニングでもソフトマックス関数を使って同じ計算式を使うので、ディープラーニングアルゴリズムを実装する上でも必須です。

ソフトマックス関数だけでなく、最尤推定法にのっとった数式をコードで表現するテクニックが身につきます。




オーバーフィッティング防止テクニック
ディープラーニングの目的は本来、未知のデータに対応できる力(汎用力)をコンピュータに身につけさせるためです。しかし、トレーニングセットのデータにだけ慣れすぎてしまい、汎用力が身につかないことがあります。これを「オーバーフィッティング」といいます。

これを防止する方法として、
・ゼロワン誤差計量を用いた判別法


が紹介されており、このテクニックが身につきます。実際にコードで実装しているので、どのようにすればいいかもわかりやすいはずです。
他にオーバーフィッティングを防止する方法として
・クロスバリデーション(交差検証)
・正規化項の追加
がありますが、これは紹介されていません。




ミニバッチ学習と確率的勾配降下法
与えられたデータセットかとてつもなくデカイ場合、普通の勾配降下法では時間がかかりすぎてしまいます。それを防ぎ、時間を短縮する方法として、データセットの一部を取り出して勾配降下法までを実装し、全体の近似とみなす「ミニバッチ学習」があります。
f:id:trafalbad:20170320124607j:plain



ミニバッチ学習では例えば60000万枚の画像から、2000枚を取り出し一回式にかけ、最適値を求めます。そしてまた2000枚で同じことをし、全体で30回、最適化アルゴリズムにかけることを繰り返します。これにより本来60000枚全てを一回アルゴリズムにかけ最適値を求め、それを何回も繰り返す必要がなくなりました。

全データを一回式にしてかけるだけで済むので大幅な時間短縮になります。



その際、勾配降下法は「確率的勾配降下法」と呼ばれるものになります。このミニバッチ学習と勾配降下法のテクニックが身につきます。

f:id:trafalbad:20170320124552j:plain





プーリング層と畳み込みフィルターによるCNNの精度の向上

CNNを構成するプーリング層と畳み込みフィルターは、それらをどのように組み合わせるかで、CNNの精度が変わります。精度が向上するということは、テストセットに対するトレーニングセットの正解率が高まるということ。

プーリング層では画像などのデータの特徴的な性質(特徴変数)を抽出し、畳み込みフィルターで特徴変数を分類する役割を持ちます。

プーリング層と畳み込みフィルターを組み合わせることで、MNISTデータセットでは97%の正解率を達成しています。




Tensorflowで学ぶディープラーニング入門で習得できるテクニックはこんなところです。もっと書籍を細部まで噛み砕けば、別なテクニックも見つかるかもしれませんが一通り学んだ上でできることはこんなところです。

Tensorflowのチュートリアル5以降はもっと別の書籍やサイトで勉強する必要があります。またここで紹介したCNNは最も基本的なものであり、正規層などを組み込んだもうちょっと発展的なCNNもあります。

関連記事はこちら

trafalbad.hatenadiary.jp



trafalbad.hatenadiary.jp

書籍『Tensorflowで学ぶディープラーニング入門』まとめ(1章)#Tensorflowコードの基本的な使い方

この記事は前の記事の続きで書いてます。前記事はこちら
trafalbad.hatenadiary.jp




Tensorflowの基本的な使い方



ここでは機械学習の基本「最適化アルゴリズム」の3ステップをTensorflowで実際に実装していきます。(ディープラーニングは「最適化アルゴリズム」の応用です)



「最適化アルゴリズム」の3ステップをTensorflowのコードで表現する

前記事で見た、ある土地の平均気温を求める問題をまた取り上げます。


「最適化アルゴリズム」の3ステップは次のようにものでした。
①与えられたデータを元にして、未知のデータを予測する数式を立てる
②2乗誤差関数(損失関数)を求める
③勾配降下法を使って2乗誤差関数を最小にする

そのうちの①では、与えられたデータから数式を立てます。
{y=w_{0}+w_{1}x+w_{2}x^{2}+w_{3}x^{3}+w_{4}x^{4}}
Tensorflowは多次元配列(行列)同士の計算になるのでベクトル表記になります。上の式を表すと

{\begin{equation}
\mbox{x} \times \mbox{w} =\mbox{y}
\end{equation}}
となります。ここでyが予測気温、xが何月かを表します。ここでwは「最適化のパラメーター」で、これが予測気温を求めるのに一番重要な値です。「最適化アルゴリズム」でこのwを求めれば、yの予測気温が求まります。

そしてトレーニングセットとして過去の平均気温データをtとして用意します。
{\begin{equation}
  t= \left(
    \begin{array}{rr}
      t_1 \\
      t_2\\
      \vdots \\
      t_{12}
    \end{array}
  \right)
\end{equation}}

このyとtを元に、最適化アルゴリズムのステップ②である2乗誤差関数(損失関数)を求めます。
{y=\displaystyle \sum_{ σ= 1 }^{ 12 }(y-t)^{2}}

ここまででステップ②まで終わりました。
後はステップ③の勾配降下法を行えばOK



機械学習の3ステップに必要なTensorflowコード
ここで今見てきた3ステップをTensorflowコードで表現します。

Tensorflowではトレーニングセットに当たるデータはplaceholderクラスでインスタンス化(placeholderクラスをxに代入)します。

x = tf.placeholder(tf.float32, [None, 5])

ここではコードの意味は追求せずに、3ステップをTensorflowで表現する流れだけを見ていきます。

そして最適化のパラメーターwはvariableクラスでインスタンス化。

w = tf.Variable(tf.zeros([5, 1]))

そしてy=xwは

y = tf.matmul(x, w)

matmulクラスは行列同士の演算をするクラス。
さらにトレーニングセットのtは

t = tf.placeholder(tf.float32, [None, 1])

これで2乗誤差関数を求め、lossに格納します。

loss = tf.reduce_sum(tf.square(y-t))

ここまででステップ②まで終わりました。

後はステップ③を次のコードで行います

train_step = tf.train.AdamOptimizer().minimize(loss)

これで機械学習の3ステップに必要なコードが揃いました。



セッションに具体的な値を代入してトレーニングを行う
今まで用意してきたのは「最適化アルゴリズム」の3ステップに必要なTensorflowのコードですが、これには具体的な数値が入ってません。
いわば中身がない空っぽの箱です。「最適化アルゴリズム」の3ステップを行うには、これに具体的な数値を代入する必要があります。

Tensorflowでは「最適化アルゴリズム」の3ステップを行う環境として「セッション」を用意する必要があります。セッションとは英語で「一定の期間」みたいな意味があり、このセッション内で「最適化アルゴリズム」を行います。

ある変数で「最適化アルゴリズム」を行ない、また別の新しい変数で「最適化アルゴリズム」を行う場合、さらに別のセッションを新しく作ります。こうして変数毎にセッションを用意して最適化アルゴリズムを行うのがTensorflowです。


f:id:trafalbad:20170320115636j:plain
セッション毎に変数を管理する。

そのセッションはコードでは次のように書きます。

sess = tf.Session()
sess.run(tf.initialize_all_variables())

2行目ではセッションのwの値、つまりvariableクラスを初期しています。




「最適化アルゴリズム」の3ステップをやってみる
ここで最適化アルゴリズムを実際にやってみます。あくまで雰囲気だけつかめればと思います。

まずステップ①②で用意した式に値を代入していきます。

train_t = np.array([5.2, 5.7, 8.6, 14.9, 18.2, 20.4,
                    25.5, 26.4, 22.8, 17.5, 11.1, 6.6])
train_t = train_t.reshape([12,1])

train_x = np.zeros([12, 5])
for row, month in enumerate(range(1, 13)):
    for col, n in enumerate(range(0, 5)):
        train_x[row][col] = month**n

そしてステップ③を行います。勾配降下法で最適化するわけです。これでwの値が求まり、予測気温が求まります。
ここではトレーニングアルゴリズムを1万回行い、その時点での2乗誤差関数の値を表示しています。(stepが回数、lossが二乗誤差関数の値)

i = 0
for _ in range(100000):
    i += 1
    sess.run(train_step, feed_dict={x:train_x, t:train_t})
    if i % 10000 == 0:
        loss_val = sess.run(loss, feed_dict={x:train_x, t:train_t})
        print ('Step: %d, Loss: %f' % (i, loss_val))

>>>
Step: 10000, Loss: 31.014391
Step: 20000, Loss: 29.295158
Step: 30000, Loss: 28.033054
Step: 40000, Loss: 26.855808
Step: 50000, Loss: 25.771938
Step: 60000, Loss: 26.711918
Step: 70000, Loss: 24.436256
Step: 80000, Loss: 22.975143
Step: 90000, Loss: 22.194229
Step: 100000, Loss: 21.434664#出力結果

さらにもう一万回トレーニングアルゴリズムを行います。

for _ in range(100000):
    i += 1
    sess.run(train_step, feed_dict={x:train_x, t:train_t})
    if i % 10000 == 0:
        loss_val = sess.run(loss, feed_dict={x:train_x, t:train_t})
        print ('Step: %d, Loss: %f' % (i, loss_val))

>>>
Step: 110000, Loss: 20.749628
Step: 120000, Loss: 20.167929
Step: 130000, Loss: 19.527676
Step: 140000, Loss: 18.983555
Step: 150000, Loss: 18.480526
Step: 160000, Loss: 18.012512
Step: 170000, Loss: 17.615368
Step: 180000, Loss: 17.179623
Step: 190000, Loss: 16.879869
Step: 200000, Loss: 20.717033#出力結果

ここら辺で打ち切りましょう。ここでwの値がどのようになっているか確認します。下の式のwの値ですね。

w_val = sess.run(w)
print w_val

>>>
[[ 6.10566282]
 [-4.04159737]
 [ 2.51030278]
 [-0.2817387 ]
 [ 0.00828196]]#wの値

そして予測気温yを求める計算式にwを代入します。

def predict(x):
    result = 0.0
    for n in range(0, 5):
        result += w_val[n][0] * x**n
    return result

では予想気温を図で表示してみます。

fig = plt.figure()
subplot = fig.add_subplot(1,1,1)
subplot.set_xlim(1,12)
subplot.scatter(range(1,13), train_t)
linex = np.linspace(1,12,100)
liney = predict(linex)
subplot.plot(linex, liney)

f:id:trafalbad:20170320115455p:plain


これで最適化アルゴリズムの3ステップをTensorflowで行い、気温を予測できました。

これでTensorflowの基本的な使い方をまとめたつもりです。これで2記事になりましたが、『Tensorflowで学ぶディープラーニング入門』の1章のまとめは終わり。

2〜5章のまとめ記事では、2〜5章を学んでできるようになったことを淡々とまとめていきます。

書籍『Tensorflowで学ぶディープラーニング入門』の内容まとめ(1章)#Tensorflowコードの仕組みを理解する

ディープラーニングを学ぶ上で、Google が提供するTensorflowの学習は避けて通れません。2015年に発表されてからまだ十分な学習環境が整っていないので、一部の書籍やネット上の情報で学ぶしかないのが現状です。今回はTensorflowのチュートリアルの1〜4までをカバーしてる(はずの)書籍『Tensorflowで学ぶディープラーニング入門』を読破したので、内容をまとめてみようと思います。

学習メモですが、なるべく理解度を上げるため汎用的に説明したつもりです。書評というより、「この本を通して何ができるか」をわかるように書きました。
また一記事にまとめると長くなるので、1章のまとめでは2記事にまとめ、Tensorflowの基本的な使い方を載せた記事はこちら


今回は1章を通してわかること、Tensorflowのコードの仕組みと機械学習の考えをまとめておきます。2〜5章は多層ニューラルネットワークの仕組みを理解しながら、テクニックを身につける内容ですが、詳細はこちらの記事。



目次
・この書籍がカバーしているTensorflowのチュートリアルの範囲
・Tensorflowの役割

この書籍がカバーしているTensorflowのチュートリアルの範囲



Tensorflowのチュートリアルは下記のようになっています。

 
Tensorflowチュートリアル
・MNIST For ML Beginners
・Deep MNIST for Experts
・TensorFlow Mechanics 101
・Convolutional Neural Networks

以下省略


上記の内容を簡易に要約すると

機械学習が始めての方はここから
・他のパッケージでDeep Learningに慣れていおり、MNISTも知っているならここから
・MNISTを使って、もう少し規模を大きくしてTensroFlowの仕組みを学ぶ
・CIFAR-10のデータセットを利用したCNNの入門コース

以下省略

参考サイト「TensorFlowで始める深層学習 (1)そもそも何が出来るの?

 



この『Tensorflowで学ぶディープラーニング入門』の主な趣旨は、MNISTという画像セットを使ってTensorflowのコードを実装しながら、多層ニューラルネットワーク(CNN)の仕組みを理解しようというものです。
Tensorflowのチュートリアルでいえば1〜4の範囲までを網羅とまではいかなくても、学習したのと同じ効果が得られるでしょう。この書籍で学べるのは、主に学べるものは次のようになっています。



・Tensorflowのコードはどのような仕組みで使用するのか(1章)
・MNISTデータセットを使ったCNNの全体像の理解を通したテクニック(2〜5章)



今回は1章で学べることとして
機械学習の基本的な考え
・Tensorflowの役割

を淡々と書いていきます。学習記録なので、専門用語とか平気で使いますが、なるべくわかりやすく書いたつもりです。




Tensorflowの役割



機械学習では大きく分けて、
・教師ありアルゴリズム
・教師なしデータアルゴリズム

にわかれます。

『Tensorflowで学ぶディープラーニング入門』のチュートリアルでは、教師ありアルゴリズムであるディープラーニング(特にCNN)をコードを用いて、実際に実装することが目的です。



機械学習の根本的な考え方
機械学習ではあるデータの背後にある「数学的な構造」をコンピュータで見つけ出すことです。例えば、ある土地の平均気温のデータを予測してほしいと頼まれた場合、数年の気温データをもとにその先の気温を予測します。

f:id:trafalbad:20170320112621j:plain

例えばこんなデータが与えられたとしたら、このデータの背後にある数年先の気温を予測してくれるような「数学的な構造」を見つけ出すことです。数学的であるということは、ある程度の規則性をもっているということです。

数学的な構造を見つけ出すと言ってますが、これは一般的には物事を分類する問題(例:画像を分類する)と、予測する問題(例:株価の予想)に該当します。




そのためには以下の手順の作業をします(これは「最適化アルゴリズム」と呼ばれるものです)
①与えられたデータを元にして、未知のデータを予測する数式を立てる
②2乗誤差関数(損失関数)を求める
③勾配降下法を使って2乗誤差関数を最小にする

主な数式は割愛しますが、この3ステップのアルゴリズムを行うことで、データの背後にある「数学的な構造」を見つけ出すことが可能になります。



機械学習にはニューラルネットワークディープラーニング)がなぜ必要か
さっきは平均気温を求めるという予測問題を例に出しましたが、ニューラルネットワークの必要性を示すために分類問題を例に出します。

機械学習では「最適化アルゴリズム」でデータを分類、予測したりできます。しかし一般的にはこの問題はとても複雑なため、単純に最適化アルゴリズムの3ステップを行なっても対処できません。

例えば、下の図は癌にかかっている患者、かかっていない患者を分類してしたものです。

f:id:trafalbad:20170320112647j:plain
単純な分類問題とかなら下の図のように1本の線だけで済みます。しかし普通は3つ以上のものを分類しなければならないので、より複雑な線(関数)が必要になります。複雑になることは変数が増えるのですが、変数が増えて問題が複雑になると「最適化アルゴリズム」だけでは対処できなくなります。




そのためにニューラルネットワークという技術が必要になるのです。ニューラルネットワークでは複雑な問題に対処するために、その構造はより複雑さになります。


f:id:trafalbad:20170320112707j:plain
層内のノードを増やしたり、ノードの層を増やしたりする

そしてその構造が複雑になり、多層に渡るニューラルネットワークが構築されたものが多層ニューラルネットワーク(CNN)、つまりディープラーニングとなります。





Tensorflowは機械学習でどのような役割を果たすのか?
Tensorflowは「最適化アルゴリズム」やCNNを、実際にコンピュータで実装するためのコードをまとめたライブラリです。

Tensorflowのコードを用いれば、「最適化アルゴリズム」のステップで登場する、損失関数や勾配降下法をコードを使って実装できます。さらにCNNを実際にコンピュータでコードを使って実装することもできるわけです。

Tensorflowにはディープラーニングに必要な役割を持つ特別な関数が用意されているからです。つまり、Tensorflowを用いることでコンピュータを使って、ディープラーニングを構築することができるようになります。



Tensorflowの役割をざっとまとめました。本当はTensorflowのコードを使って「最適化アルゴリズム」の3ステップを実際に行い、気温を予測するところまで書くつもりでした。が、長すぎるので続きは次の記事で書いています。


f:id:trafalbad:20170320112810p:plain:w200
AmazonTensorFlowで学ぶディープラーニング入門 ~畳み込みニューラルネットワーク徹底解説~