質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

3回答

436閲覧

機械学習には数学が必要と聞きますが、ライブラリを使うだけでも必要でしょうか?

renren643

総合スコア279

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2017/10/29 10:43

数学の知識が機械学習に必要らしいですが、すでに機械学習用に用意されているライブラリを使うだけでも数学は必要なのでしょうか?

現在rubyを使ってwebサービスを作ったりしているのですが、今後pythonで機械学習もやってみたいと思っています。

しかし、数学は数学2Bまでしかやっていなく、数学は得意でしたが、pythonで機械学習を扱える知識にはほど遠そうです。
現在は文系大学生で、時間もありますので、学習コストを考えてどこらへんまでを学ぶか決めたいです。

そこで、
数学の知識があるのとないのではどう違うのかを具体例なども交えて教えていただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

####「使う」だけなら数学は不要です。

数学を知らなくても機械学習ライブラリでなんらかの結果を出すことは容易い作業です。入門書の手順に従って操作すればよいだけですから。
手順に慣れさえすれば、複数の手法を組み合わせることも容易いでしょう。

####「使いこなす」には数学が不可欠です。

  • 数学がわからなければ、アルゴリズムの動作原理を知ることができません。したがって、親切な誰かが示してくれた手順に従って動かすことしかできません。
  • やりたいことを実現してくれそうなライブラリが見当たらない場合、誰かが作ってくれるのを待つか、諦めるしかありません。
  • 予測精度・判別精度をあげるためにモデルを工夫する、問題の構造を活かして最適化アルゴリズムを高速化する、解きやすい問題に変換する、といった作業は数学を知らなければ実行不可能です。
  • 計算が遅い理由や精度が芳しくない理由を自分で発見することはできません。
  • よい結果を出すためにできることは「trial and error」しかありません。仮にこれでうまく行ったとしても、その理由を知ることはできません。
  • 数学がわからなければ、ライブラリ=ブラックボックスですから、解析結果を第三者に説明することはできません。誰かが何処かで言っていたことの受け売りがせいぜい関の山でしょう。

ざっと思いついただけで、これだけの不都合があります。それでもあなたは数学を勉強しないのですか?

投稿2017/10/30 22:53

編集2017/10/31 08:02
WathMorks

総合スコア1582

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/11/04 20:44

> それでもあなたは数学を勉強しないのですか? 最後の一言が余計。 質問者は数学を勉強しないとは言っていない。プログラミングができても、書かれていないことは読まないという基本が出来ていない。
guest

0

ベストアンサー

数学は数学2Bまでしか

仲間を発見するとは!

数学の知識が機械学習に必要らしいですが、すでに機械学習用に用意されているライブラリを使うだけでも数学は必要なのでしょうか?

ライブラリを使うだけなら、数3Cの知識が無くても使えます(少なくとも私はなんとか使えています)。理由は、関数が細かいことを吸収してくれるからですね。エクセルの話でいえば、ばらつきを見るのに標準偏差を使う人は多いですが、いちいち「標準偏差は標準分散の正の平方根だ!」なんて数式を頭に浮かべながら使わないのと同じです。

ただ、どうしても数3Cの知識があった方が得なのはひしひし感じます。どうしてそうなるの?と知りたい時に躓くからです。

数学の知識があるのとないのではどう違うのかを具体例なども交えて

  • 知識がある場合:本を見て、論文を見て、計算式が提示されていれば同じ実装がほぼ可能
  • 知識が無い場合:本を見て、論文を見て、計算式が提示されていても理解不能(出来ない分は時間をかけて分解してやってみる)

機械学習は「単に数値を上げればよくなる」というような法則性があまり通用しません。なので、数3Cよりも苦労と試行の方が必要になるかもしれません。あとは、英語を流し読みできると、いろいろ調べる上で得をすると思います。

将来の話をするのであれば、時間がある今のうちに機械学習に手を付けておく(何か人に話せるような形に残る実績を作っておく)と、将来意外な武器になると思います。

投稿2017/10/29 12:33

編集2017/10/29 13:30
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

機械学習の理解には統計学の知識を必要とするかと思います。
統計学では数学を用いて理論が説明されます。
ですので数学についてもある程度の理解を必要とします。

ライブラリを利用する場合、仕組みの全てを理解する必要はないかもしれませんが、理解が不足していると結果の妥当性を判断することができないかもしれません。

微積分は関数電卓でも計算できますが、式を立てるのは自分でしなくてはいけません。

投稿2017/10/29 14:52

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問