深層学習に挑戦したいんだけどMATLABって何?
そもそもどんな言語なの?
これとPythonのどちらを学習すればいいのかな?
こんにちは、文系出身ながらもプログラマになり現在も現役エンジニアの佐藤です。
皆さんは「MATLAB」という言語、製品についてご存知でしょうか? 深層学習(ディープラーニング)、人工知能(AI)などのキーワードで調べた時に「MATLAB」を見かけた。という方もいらっしゃるかもしれません。
この記事では「MATLABにちょっと興味がある」「まずはどんな言語か知りたいな」という方に向けてMATLABとは何か?をできるだけ分かりやすく、簡潔にまとめていきます。学習用のサイトや書籍も後半では紹介していきますので、合わせてご覧ください。
- MATLABは数値解析が得意なプログラミング言語
- MATLABは画像解析やロボット工学などに活用されている
- MATLABを使えばディープラーニングが開発可能
また、MATLABに関しては次の動画でも解説しているので、良ければご覧ください。
本記事の解説内容に関する補足事項
本記事はプログラミングやWebデザインなど、100種類以上の教材を制作・提供する「侍テラコヤ」、4万5,000名以上の累計指導実績を持つプログラミングスクール「侍エンジニア」を運営する株式会社SAMURAIが制作しています。
また、当メディア「侍エンジニアブログ」を運営する株式会社SAMURAIは「DX認定取得事業者」に、提供コースは「教育訓練給付制度の指定講座」に選定されており、プログラミングを中心としたITに関する正確な情報提供に努めております。
記事制作の詳しい流れは「SAMURAI ENGINEER Blogのコンテンツ制作フロー」をご確認ください。
MATLABとは
この章ではMATLABの特徴について分かりやすい言葉でまとめていきます。
データ分析が得意な言語
MATLAB(マトラボ)は、MathWorks社が開発している数値解析ソフトウェアで、その中で使うプログラミング言語の名称でもあります。販売を行う日本法人があり、日本語の公式ページもかなり充実しています。
工学、理学、経済学などの分野で使われており、世界でのユーザー数は300万を超えていると言われています。人気プログラミング言語ランキングでは14位と、専門的な処理を行うための言語としてはかなり上位に食い込んできている言語なんです。
MATLABには標準で分析用のツールがたくさん用意されています。追加で導入することができる「Toolbox」と呼ばれる拡張パッケージがあります。
これらは「MATLABプロダクトファミリ」と呼ばれ、様々な分野の分析に対応可能なため広く支持を得ています。また注目を浴びているディープラーニングやロボット工学でも利用されていて人気を後押ししています。
その他の特徴としては
- C言語などの汎用言語と違い、変数の型を宣言しなくて良いなど簡単な文法で書くことができる
- グラフ等を描く関数が用意されているので複雑で長いコードを書かなくて良い
という点が挙げられます。
変数の型を宣言しなくて良いというのは、ほかのプログラミング言語を知っている人からすると驚きですよね。専門的で難しい内容をこなすために、コードだけはなるべく簡潔に書けるように進化していった言語といえます。
特徴について簡単につかむことができたでしょうか? 次にどんなことができるのかを紹介していきます。
MATLABでできること
この章ではMATLABでできることについて紹介していきます。まずはMATLABでできることの一つであり大事な要素「ディープラーニング」について少し解説します。
ディープラーニングとは?
先程の特徴紹介でディープラーニングという単語が出てきました。日本語では「深層学習」と呼ばれますが、どのような事柄かみなさんはご存知でしょうか?
深層学習(ディープラーニング)は、人間が自然に行う動作や思考をコンピュータに学習させる機械学習のひとつです。人工知能の急速な発展を支える非常に大切な技術なんです。
MATLABではこのディープラーニングを行うことができるため、人工知能の分野でも非常に注目されています。また、ディープラーニングで利用されるものとしてPythonが有名ですが、2つの言語の比較は後ほど詳しく紹介します。
他にできること
公式ページでも紹介されていますが、MATLABでは単純なデータ分析以外にもこんなこともできます。
いくつか詳しく解説していきます。
コンピュータービジョン
これは画像に関する分野です。人が見たときと同じようにコンピューターでも自動で画像を解析できるようにするために行われている研究分野です。
例えばりんごを見た時に、人なら「リンゴだ」と反応できますよね。それと同じことをコンピューターが自動で行えるようにしようというのがコンピュータービジョンという分野なんです。これも人工知能のひとつですよね。
ロボット工学
これはロボットのアルゴリズムに関する分野です。センサー反応またはカメラの映像で、こんな動きをして──といったロボットを制御するシステムを作ることがMATLABではできます。
データの分析だけではなく、機械学習に関する様々な分野でMATLABが使われているということがわかりますよね。
こんな企業で使われている
データ分析、ディープラーニングができるMATLABですが、具体的にはどのような企業で使われているのでしょうか? ここでは具体定的な導入事例を見ていきましょう。
- 村田製作所(エネルギー管理システムの制御)
- トヨタ(エンジン制御システム)
- 日産(車載システム)
- 三菱重工(核燃料デブリ除去用ロボットアーム)
- マツダ(エンジン制御システム)
…etc
非常に有名な企業で、続々と使われているんです。公式のサイトでもユーザー事例がたくさん紹介されているので、気になる方はぜひご覧ください。
次は、MATLABとよく混同されがちな「simulink」について、関係性と違いについて見ていきます。
simulinkとの関係性とは?
「Simulink」は、MATLABとよく混同されてしまいがちなので、ここで違いと関係性について少し解説していきます。実際にMATLABを使うようになった時、間違えないようにしましょう。
Simulinkは、MathWorks社(MATLABの開発会社)が開発と販売をしている別のソフトウェアです。MATLABプロダクトファミリのひとつでもないので、完全に別物になっています。
もちろん、MATLABと連携して使うことができるシミュレーションおよびモデルベース デザインのソフトウェアです。連携して使われるため混同されがちですが、一緒に使える別のソフトなので混同しないようにしましょう。次の章では、比較されがちなPythonとの違い等を解説していきます。
Pythonとの比較
どうしてPythonとMATLABが比較されるかと言うと、どちらの言語でもディープラーニング、データ解析を行うことができるためです。
ディープラーニングなどを目的とする場合、どちらを学習するか迷ってしまいますよね。じつはMATLABとPythonは連携できます、二つの言語の知識が無駄にならないようになっています。
ただ、MATLABはかなり専門的な用語で、購入しなければ使用できないものになっています。MATLABはパッケージになっているため、導入は簡単で専門的な計算も簡単にできるようになっていますが、そこそこの費用を必要とする買い物になります。
Pythonなら、自分で環境を整備する必要がありますが、無料でコードを書いて実行することができます。いきなりMATLABを使って機械学習等の学習を始めるより、いちどPythonで仕組みややり方等を学習してからMATLABの検討をお勧めします。
ちなみに以下はPython初心者の方向けの入門記事です。Pythonの特徴などをサクッと見たい方は軽く目を通してみてください。
【Python 入門完全攻略ガイド】
次に製品について詳しく紹介します。
MATLABの製品情報
この章では、MATLABの価格などについて簡単に解説していきます。
製品の価格とプラン
MATLABはフリーソフトではなく、プランによって価格の違う製品になります。現在(2019/5)でのプランと価格は以下の通りです。
産業分野:¥290,000(見積も可能)
学生:¥9,990
個人:¥15,500
個人で開発するなら「個人」ライセンスで問題ないでしょう。
インストール方法
購入してしまえば、インストール等は一回で済みます。ほかのオープンソースの言語と違い、いろいろなソフト等を別々にインストールする必要がないため、インストールをすればすぐに使うことができます。
簡単な使い方を紹介
MATLABは言語であり、開発ツールなので使う時も付属の開発環境を使えば直ぐに使用することができます。
この開発環境で次のようなコードを記述し実行するとグラフが表示されます。
x = 0:pi/100:2*pi; y = sin(x); plot(x,y)
「実際にやってみたい!」と興味が湧いてきた方は次の章から学習に役立つ本やサイトを紹介していきますので合わせてご確認ください。
学習に役立つ情報紹介
ここでは書籍等について紹介します。まずは本とサイトからです。
お勧めの学習本とサイト
実は、MATLABの日本語サイトはかなり充実しているんです。
無料でユーザーIDを作成することができるので、こちらからアカウントを取得することで無料のチュートリアルを受けることができます。右上の人型のアイコンから、アカウント登録ができます。
チュートリアルは動画もありますので、興味のある方は是非ご覧ください。なんとディープラーニングについての学習も可能です。
お勧めの書籍は次の一冊です。
MATLABプログラミング入門|Amazon
初めてデータ分析について学ぶ方にとってもおすすめの一冊です。MATLABを使おうと決めた方はぜひ購入を検討してみてください。
スクールを検討してみる
どのような勉強をしたらいいのかわからないな……
そう悩みがありMATLABについて調べている。という方もいらっしゃるかもしれませんね。そんな方にはスクールもおすすめします。
侍エンジニアでは「AIコース」というコースもあり、スクールでも人工知能などの技術を学ぶことができるんです。
侍エンジニアでは無料カウンセリングを行っています。事前にどんな感じで学習できるのか、どんなコースがあるのか、あなたの悩みや不安をプロのコンサルタントに相談することができます。
自分に合っているかどうか体験レッスンで一度確認してみてはいかがでしょうか。
お急ぎの方はこちらからお問い合わせください。
読み込みに失敗しました。
大変お手数ですが、本ページを再度読み込んでください。
再度読み込んでも、読み込み失敗が起こる場合は
こちらからお問い合わせください。
カウンセリングはオンラインにて実施しております。
※予約完了後に、カウンセリングのためのURLやIDなどをメールにてご案内します
1.ご希望の日時を選択してください
2.必須事項を入力してください
ご予約ありがとうございます!
予約が完了しました。ご予約情報とご参加前の準備をご確認ください。
【ご予約情報】○月○日(△) ○○:○○〜
カウンセリング参加に向けてのご準備
※記入いただいたメールアドレスに確認用メールをお送りしておりますのでご確認ください。
※オンラインカウンセリングはGoogle Meetにて実施します。URLが発行したら別途ご案内いたします。
※メールが届かない場合は、SAMURAI ENGINEERサポート(support@sejuku.net)までご連絡ください。
まとめ
人工知能の盛り上がりとともに、人気上昇中の言語「MATLAB」を紹介しました。人工知能にも興味が出た、という方はぜひそちらの分野のことも検索してみてくださいね。
それではまた次の記事で!