MATLAB
- 2022/03/19 00:25:30
投稿者:yuamimi
MATLAB は、数百万人ものエンジニアや科学者がデータの解析やアルゴリズムの開発、モデルの作成に使用しているプログラミングおよび数値計算プラットフォームです。
学んだメモや、文献など要約と共にコメントしましょう。
MathWorks. "MATLAB".https://jp.mathworks.com/products/matlab.html ,(参照 2022-03-19)
MATLAB は、数百万人ものエンジニアや科学者がデータの解析やアルゴリズムの開発、モデルの作成に使用しているプログラミングおよび数値計算プラットフォームです。
学んだメモや、文献など要約と共にコメントしましょう。
MathWorks. "MATLAB".https://jp.mathworks.com/products/matlab.html ,(参照 2022-03-19)
画像処理を行い際の学習用データの水増し方法について少し調べました
すでにある画像を回転させたり、トリミングしたり、明るさ調整したり、ノイズ載せたりほかにも種類があります。
MATLAB内ではaugment関数で実装されているので自分でコードを書かずに済みますよ!ヤッタ——
進捗ミリで長い説明も書けなくて申し訳ないです!memo代わりです!!!
感覚と直観でフローと計算式とプログラムの流れが記述できるため、プログラムを知らない人でも有用なツールになりますね。
なお、IBM社のWatsonが推奨するNode-redも似たようなツールですが、プログラムをGUIの感覚で記述できる素晴らしいツールでしたね。※過去形ですが。
MATLABは線形代数の処理や、行列やベクトルが扱いやすいので数値計算、アルゴリズム開発、データ解析向けでなにか学べるといいカモですね。
あとはMathWorksではsimulinkが有名?ですネ...(simulinkのチュートリアル難しかった)
私もあまり理解してないのですが、システム設計、シミュレーション、テスト環境構築に強いようです...
あと、機械学習もディーブラーニングの機能も備わっているため、幅広いサービス対応が可能も良いですね。
チュートリアルは3時間ほどで終わりますが
変数の保存、入力規則など、初歩的な関数しかないため、様々なサービスに応じた特殊な関数やクラスに関しては適宜覚えるしかないですね。
今の段階の結論として、やれることが広すぎて、何を焦点に勉強するかをテーマを明確にしないといけないというデメリットも感じました。
手軽にやるとしたら画像認識や自動追尾かな。ここら辺はサンプルが多いし、すぐに結果が出て、しかも絵面で結果が確認できるため、何かをやったという実感も沸くはず。そこから画像認識からの画像の自動分類保存など画像系に進むか、音声AIに進むかなど、幅がひろがっていくのかなーと。
※全然プログラムの話してないな… ごめんなさい
ただどちらもアカウントを作成してからではないと見れない、出来ないので注意!
大学の包括ライセンスがあると激つよです。アカウント作成する前に調べてみるのもありかと!
MathWorks. "Does your school have a MATLAB campus license" .
https://jp.mathworks.com/academia/tah-support-program/eligibility.html ,(参照 2022-03-19)
MathWorks. "MATLAB の PDF 版ドキュメンテーション" .
https://jp.mathworks.com/help/pdf_doc/matlab/index.html ,(参照 2022-03-19)
MathWorks. "Self-Paced Online Courses" .
https://matlabacademy.mathworks.com/jp/#getting-started ,(参照 2022-03-19)
以下はメモ URLはMathWorksの技術解説のリンクです。カナーリ難しいカモ
MathWorks. "技術計算における課題の解決方法を見つける".
https://jp.mathworks.com/discovery.html?s_tid=hp_ff_a_discover ,(参照 2022-03-19)
転移学習は他のタスクで学習された知識をほかの学習に用いる手法。
学習済みモデルを転移することで大量のデータとか、それにかける時間を削減可能!
予めデータストアの作成、学習用、試験用のデータをわけて、サイズ変更などデータ整形をしておく。
使用するネットワーク(alexnet)の設定。
net = alexnet;
analyzeNetwork(net)
全結合層の書き換え
fc = fullyConnectedLayer(numClasses)
(numClasses は分類する種類の数)
newlayres(end-2) = fc
新たな出力層の作成と書き換え
newlayres(end) = classificationLayer
学習率を0.0001に設定。学習用ソルバーとして最も基本的なsgdmを使用。
options = trainingOptions("sgdm","InitialLearnRate", 0.0001,"Plots","training-progress","VerboseFrequency",10)
作成した設定を使用し、学習させる。
[flownet,info] = trainNetwork(autrainimgs,newlayres,options)
こんな感じ!!時短できる転移学習大好き!!
あとPythonと比べても比較的コードがややこしくない!(個人の感想)