サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
新内閣発足
oregin-ai.hatenablog.com
データサイエンスコンペティションサイトのNishikaで開催されたJリーグプレイヤーの出場時間予測に参加し、2位の成績を残せました! 今回は、PublicLBの6位から、PrivateLBでの2位の初めてのShakeUpでの入賞でした。ShakeUpしたということは、汎用性能が出てないともとれるので、モデル精度的には望ましくないかもしれないですが、心情的にはとてもうれしいです! スポーツコンペは、プレイしている選手たちを想像しながら取り組めるので、とても楽しく参加することができました。 では、振り返って参りたいと思います。 1.全体構成 2.前処理 3.モデル構築 5.感想 6.謝辞 1.全体構成 今回のコンペは、複数のファイルのデータを結合しながら取り組むコンペティションでした。 時系列データとしてもとらえることができたかもしれませんが、単純に結合したテーブルデータとして前処理したデータ
データ分析プラットフォームProbspaceの対戦ゲームムデータ分析甲子園(通称:スプラトゥーンコンペ、イカコンペ)のに参加し、9位に入賞しました! 今回もPublicLBでは4位だったのですが、Shake downしてしまい、汎用性をもったモデルの構築の難しさを改めて実感しました。 今回のコンペは、スプラトゥーンというNintendo Switchのゲームの勝敗を、武器やステージなどのデータから推測するというタスクでした。 私はこのゲームをプレイしたことがなく、ドメイン知識が全くなかったので、Python機械学習クックブック [ Chris Albon ]を使って、掲載されている手法をいろいろ勉強するつもりで、取り組みました。 この本では手法の1つ1つを"レシピ"という単位でまとまっていたので、どのレシピをどこで使ったかも、紹介していきたいと思います。 では、振り返ってまいります。 1.
機械学習について全くの専門外で初心者だった私がコンペサイトProbspaceのRe:不動産取引価格予測コンペで3位入賞、YouTube動画視聴回数予測コンペで9位入賞するなど、累計で金2銀1銅1を獲得することができ、総合ランクで1位に到達することができました。 これまでたどってきた道のりを振り返って、良かった点、悪かった点を見直して、今後の進め方を考えていきたいと思います。 悪戦苦闘、一進一退しながら勧めてきた内容を、思いつくまま記載しているので、お見苦しい箇所もありますが、これから機械学習を始める皆さんや、始めたばかりの皆さんの何らかのキッカケになれれば光栄です。 では、振り返ってまいりたいと思います。 【目次】 1.G検定との出会い(2019年2月〜3月) 2.Pythonの勉強を始める(2019年4月) 3.kaggleのデータセットを使って機械学習に挑戦する(2019年4月〜5月)
これまでは、コンテナを起動する際にホストからファイルをコピーしたり、設定等をおこなったりしていましたが、コンテナを起動してからもファイルのやり取りをしたり、コンテナが利用するリソースを制御したりする方法を理解しました。 今回もかめ@usdatascientistさんの「米国AI開発者がゼロから教えるDocker講座」をUdemyで受講しながら進めています。 とても分かりやすく解説いただけますし、ハンズオン形式で講座が進むので、まさに「手で覚える」ことができるので、おすすめです! www.udemy.com では、振り返っていきたいと思います。 Dockerのホストとコンテナの関係を理解する 1.ホストとコンテナ間でファイルを共有する(-v オプション) 2.ホストとコンテナ間でアクセス権限を共有する(-u オプション) 3.ホストのポートをコンテナのポートにつなげる(-p オプション) 4
これまでは、Dockerfileの中に記載された内容だけでDocker imageを作成してきましたが、Docker daemon や、build contextについて学習し、docker buildについて、さらに理解を深めました。 今回もかめ@usdatascientistさんの「米国AI開発者がゼロから教えるDocker講座」をUdemyで受講しながら進めています。 とても分かりやすく解説いただけますし、ハンズオン形式で講座が進むので、まさに「手で覚える」ことができるので、おすすめです! www.udemy.com では、振り返っていきたいと思います。 Docker daemonとbuild contextについて学ぶ 1.Dokcer daemonとbuild contextについて 2.build context内のファイルをDocker imageに取り込む(COPY) 3.
これまで投稿してきた、E資格関連の勉強の振り返り記事をまとめました。 今後、受験される皆さんの参考になれれば幸いです! 受験体験記編 応用数学編 深層学習編 E資格復習のつぶやき では、振り返ってまいりたいと思います。 受験体験記編 oregin-ai.hatenablog.com 応用数学編 E資格対策振り返り(応用数学-固有値、固有ベクトル、固有値分解) E資格対策振り返り(応用数学-特異値分解) E資格対策振り返り(応用数学-確率) E資格対策振り返り(応用数学-対数関数) E資格対策振り返り(応用数学-情報理論-自己情報量) E資格対策振り返り(応用数学-情報理論-エントロピー) E資格対策振り返り(応用数学-情報理論-カルバック・ライブラー情報量(KLダイバージェンス)) E資格対策振り返り(応用数学-情報理論-クロスエントロピー) E資格対策振り返り(応用数学-確率統計-オッズ
今回は、Dockerfileについて、理解を深めました。 これまでは、DockerHubからPullしたDocker imageからコンテナを起動したり、起動したコンテナでの更新を反映したDocker imageとして保存したりしてきましたが、今度は、Dockerfileを使ってDocker image自体を作成できるようになりました。 今回もかめ@usdatascientistさんの「米国AI開発者がゼロから教えるDocker講座」をUdemyで受講しながら進めています。 とても分かりやすく解説いただけますし、ハンズオン形式で講座が進むので、まさに「手で覚える」ことができるので、おすすめです! www.udemy.com では、振り返っていきたいと思います。 Dockerfileについて理解を深める 1.Dockerfileとは何か 2.Dockerfileの中身を見てみる 3.Dock
今回は、Dockerのコンテナについて、理解を深めました。 Dockerのコンテナの起動の仕組みを確認し、起動に合わせてコマンドを実行したり、コンテナを停止したり削除したりできるようになりました。 今回もかめ@usdatascientistさんの「米国AI開発者がゼロから教えるDocker講座」をUdemyで受講しながら進めています。 とても分かりやすく解説いただけますし、ハンズオン形式で講座が進むので、まさに「手で覚える」ことができるので、おすすめです! www.udemy.com では、振り返っていきたいと思います。 Dockerのコンテナについて理解を深める 1.docker runコマンドについて知る 2.コンテナ起動時にデフォルトコマンド以外を実行する 3.コンテナ起動後にExitせずに入力可能な状態にする 4.コンテナを削除・停止・全削除する 5.コンテナのファイルシステムの独
今回は、DockerでコンテナからDocker imageを作成して、DockerHubにpushするところまでを学習しました。 かめ@usdatascientistさんの「米国AI開発者がゼロから教えるDocker講座」をUdemyで受講しながら進めています。 とても分かりやすく解説いただけますし、ハンズオン形式で講座が進むので、まさに「手で覚える」ことができるので、おすすめです! www.udemy.com Dockerのインストールについては、以下もご参照ください。 oregin-ai.hatenablog.com DockerでコンテナからDocker imageを作成してDockerHubにpushする 1.コンテナを起動して確認する(復習) 2.コンテナをcommitする 3.DockerHubにリポジトリを作成する 4.Docker imageの名前を変更する。 5.Dock
今回は、DockerでTensorFlowが実行できる環境を構築し、簡単な計算を実行しました。 (TensorFlowを使った機械学習(深層学習)は次回以降に実践していきたいと思います。) TensorFlowは、機械学習の一分野である深層学習を実施するにあたり、大規模な数値計算を実施しやすくするライブラリです。 TensorFlowを導入することで、多次元の行列計算が容易・高速になります。 また、NumpyでできなかったGPUの利用も可能です。 今回も Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第4章を参考にさせていただきながら、取り組んでいます。 今回の環境構築では、Dockerを使いました。 Dockerのインストールについては、以下の記事をご参照ください。 oregin-ai.hate
今回は、グリッドサーチでハイパーパラメータを調整しました。 これまで、学習モデルは、特に引数を指定しないか、特定の値のみ指定して学習をおこなっていました。この「引数」は、学習時に更新されていくパラメータとは区別して、「ハイパーパラメータ」と呼ばれます。 ハイパーパラメータの値によって、学習モデルの精度も変わってくるため、ハイパーパラメータを調整(チューニング)する必要があります。 この調整を自動的に行う手法の1つが「グリッドサーチ」になります。 今回も Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第4章を参考にさせていただきながら、取り組んでいます。 今回は、Jupyter notebookを使って実行を行いました。 Jupyter notebookについては、以下もご参照ください。 oregi
今回は、Webからキノコに関するデータをダウンロードして、ランダムフォレストで分類を行いました。 これまでは、数学的に境界を決定して分類するSVM(サポートベクターマシン)という学習モデルを使ってきましたが、今回は、「ランダムフォレスト」という多数決で予測するクラスを決定する学習モデルを使っていきます。 今回も Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第4章を参考にさせていただきながら、取り組んでいます。 では、振り返っていきたいと思います。 ランダムフォレストでキノコを分類する 1.準備(キノコのデータをダウンロードする) 2.全体像 3.データの読込 4.データの中の記号を数値に変換する 5.学習用とテスト用データに分ける 6.学習と予測 7.精度を確認 8.Jupyter Notebo
今回は、Webから取得したテキストファイルを読み込ませて、それが何語で書かれたテキストなのかを判定しました。 機械学習の一大テーマである自然言語処理の復習です。(そこまで大掛かりなことをやっているわけではないですが・・・。) 今回も Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第4章を参考にさせていただきながら、取り組んでいます。 ※今回は、「lang/train」,「lang/test」ディレクトリの配下に英語、フランス語、インドネシア語、タガログ語の四種類の言語のファイルを配置してある前提です。また、それぞれのファイルは先頭2文字がen(英語),fr(フランス語),in(インドネシア語),tl(タガログ語)というデータを作成します。(機会があれば、このファイルを自動で作成またはスクレイピング
今回は、前回CSVに変換したMNISTの手書き文字画像を、0〜9に分類しました。 機械学習の一大テーマである画像分類の復習です。 今回も Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第4章を参考にさせていただきながら、取り組んでいます。 MNISTのデータのCSVへの変換は、前回の記事をご参照ください。 oregin-ai.hatenablog.com では、振り返っていきたいと思います。 SVMでMNISTのデータを画像分類する 1.全体像 2.CSVファイルを読み込んで訓練データに変換 3.訓練データで学習する 4.テストデータで予測する 5.精度を確認する 6.コマンドラインから実行してみる SVMでMNISTのデータを画像分類する 1.全体像 コード全体は以下の通りで、「mnist-tr
今回は、前回ダウンロードしてきたMNISTのデータをCSVに変換しました。 今までバイナリデータをちゃんと扱ったことがなかったので、とても勉強になりました。 Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第4章を参考にさせていただきながら、取り組んでいます。 MNISTのデータのダウンロードまでは、前回の記事をご参照ください。 oregin-ai.hatenablog.com では、振り返っていきたいと思います。 MNISTのデータをCSVに変換する 1.MNISTのデータ構造 2.全体像 3.ラベルファイルとイメージファイルを開く 4.ヘッダー情報を読み込む 5.画像データを読み込んでCSVで保存 6.うまく取り出せたかどうかPGMで保存して確認 7.出力件数を指定して出力 8.コマンドラインか
今回は、少しスクレイピングに戻って、画像の文字認識に使うためのMNIST(手書き数字データ)をダウンロードして解凍できるようになりました。機械学習では、圧縮されたデータをダウンロードして処理することもあるので、自動化できるのは非常に効率的です。 Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第4章を参考にさせていただきながら、取り組んでいます。 環境構築については、Dockerを使われる方は、以下をご参照ください。 oregin-ai.hatenablog.com OSから、Ubuntuを導入して取り組む方は、以下をご参照ください。 oregin-ai.hatenablog.com では、振り返っていきたいと思います。 MNIST(手書き数字データ)のダウンロード/解凍を自動化する。 1.MNIS
今回は、scikit-learnのSVMを使って、アヤメの品種を分類できるようになりました。花びらの長さや幅などの特徴量から品種を分類するということで、本格的に機械学習となってまいりました。 Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第4章を参考にさせていただきながら、取り組んでいます。 環境構築については、Dockerを使われる方は、以下をご参照ください。 oregin-ai.hatenablog.com OSから、Ubuntuを導入して取り組む方は、以下をご参照ください。 oregin-ai.hatenablog.com では、振り返っていきたいと思います。 scikit-learnのSVMを使ってアヤメの品質を分類する。 1.全体像 2.アヤメのデータを読み込む 3.訓練データと検証デー
今回は、yaml で、PythonのデータからYAML形式に変換したり、YAML形式のファイルを解析して要素を出力できるようになりました。 Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第3章を参考にさせていただきながら、取り組んでいます。 今回からは、Ubuntuの環境を構築して取り組んでいます。 環境構築については、Dockerを使われる方は、以下をご参照ください。 oregin-ai.hatenablog.com OSから、Ubuntuを導入して取り組む方は、以下をご参照ください。 oregin-ai.hatenablog.com では、振り返っていきたいと思います。 PythonのデータをYAMLに変換する。 1.YAMLとは何か 2.全体像 3.Pythonのデータを作成 4. Pyth
今回は、 Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第3章を参考にさせていただきながら、urllib.request+jsonで、Web上から、JSONファイルをダウンロードして解析後、要素を出力できるようになりました。 Docker上に構築した開発環境で実行しています。 Dockerでの開発環境の構築については、過去記事をご参照ください。 oregin-ai.hatenablog.com では、振り返っていきたいと思います。 JSONを解析して要素を出力する。 1.JSONとは何か 2.全体像 3.JSONファイルをダウンロード 4. JSONを解析する 5.ランダムに施設名称を出力 6.コマンドラインから実行してみる。 JSONを解析して要素を出力する。 1.JSONとは何か JSONは、
今回は、 Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第3章を参考にさせていただきながら、urllib.request+BeautifulSoupで、Web上から、XMLファイルをダウンロードして解析後、要素を出力できるようになりました。 Docker上に構築した開発環境で実行しています。 Dockerでの開発環境の構築については、過去記事をご参照ください。 oregin-ai.hatenablog.com では、振り返っていきたいと思います。 XMLを解析して要素を出力する。 1.全体像 2.XMLファイルをダウンロード 3. BeautifulSoupで解析 4.種類ごとにデータを取得 5.区(ward)ごとに防災拠点を出力 5.コマンドラインから実行してみる。 XMLを解析して要素を出力す
今回は、 Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第2章を参考にさせていただきながら、Selenium+PhantomJS(画面なしブラウザ)で、ブログページから記事タイトル一覧を出力できるようになりました。 Docker上に構築した、Selenium+PhntomJSの実行環境を使いました。 Selenium+PhntomJSの実行環境の構築に関しては、以下の記事をご参照ください。 oregin-ai.hatenablog.com ブログページから記事タイトル一覧を出力する。 1.全体像 2.Seleniumのライブラリをインポート 3. PhantomJSのインスタンスを作成 4.トップページにアクセス 5.記事のタイトルを取得して出力 5.コマンドラインから実行してみる。 ブログページ
今回は、 Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第2章を参考にさせていただきながら、Selenium+PhantomJS(画面なしブラウザ)で、Webページのスクリーンショットを保存できるようになりました。 前回投稿したDockerを使って環境を構築していきたいと思います。 Dockerに関しては、前回記事をご参照ください。 oregin-ai.hatenablog.com Docker上にSelenium+PhantomJSの実行環境を構築する。 1.Seleniumとは何か 2.PhantomJSとは何か 3. Selenium + PhantomJSの実行環境を構築する。 Webページのスクリーンショットを保存する。 1.Pythonのコードを記載したファイルを作成する。 2.コマン
今回は、 Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]のAppendixを参考にさせていただきながら、Dockerで機械学習の開発環境を作成してみました。 順を追って振り返ってみたいと思います。 Dockerで開発環境を構築する。 1.Dockerとは何か 2.Docker Desktopをインストールする。(Mac版) 4. Docker Toolboxをインストールする。(Windows版) 5. Dockerの検証 6.Python + Anaconda のイメージをダウンロード Dockerを使ってみる。 1.コンテナの状態を保存する。 2.保存したコンテナを確認する。 3.保存したコンテナを起動する。 4.コンテナから一時的に抜ける。 5.ホストOSからコンテナ上のホームディレクトリをマ
E資格(JDLA Deep Learning for ENGINEER 2019 #2)の試験が終わりました。 3月にG検定合格した後、E資格対策として取り組んできた勉強と、参考にした書籍などを紹介していきたいと思います。 3月 G検定に合格し、E検定受験を決意 4月 認定講座受講開始までの間に、G検定学習内容を復習 5月~6月 Kaggleでデータセットからの予測に挑戦 7月 ゼロから作るDeepLearningに取り組む 8月 試験直前の追い込み 8月31日 試験当日直前復習 おまけ 受験にあたって読んだ参考書 3月 G検定に合格し、E検定受験を決意 3月に受験した、「JDLA Deep Learning for GENERAL 2019 #1」に無事合格できたので、E検定受験を決意し、認定講座に申し込みました。 また、自分の振り返りもかねて、G検定の合格体験記のブログを作成。 g-k
E資格(JDLA Deep Learning for ENGINEER 2019 #2)対策として学習した応用数学の分野のうち、確率統計用語のオッズ比を振り返ります。 オッズ比 1.オッズ比とは何か 2.オッズ比の具体例 オッズ比 1.オッズ比とは何か オッズ比とは、ある事象の起こりやすさを比較するための統計学的な指標になります。 例えば、「喫煙ありの人」と「喫煙なしの人」との肺がんになりやすさを比較する時などに使われます。 「喫煙ありの人」のうち肺がんになった人の割合がp、「喫煙なしの人」が肺がんになった割合がqのとき、それぞれのオッズは、以下の通りとなります。 この「オッズ」の比がオッズ比となり、「喫煙ありの人」の肺がんになったオッズ比は以下の通りとなります。 この値が、1より大きい場合、分子のオッズの事象(例の場合は「喫煙ありの人」が肺がんになった)が、より起こりやすい事象であるとい
E資格(JDLA Deep Learning for ENGINEER 2019 #2)対策として学習した深層学習の分野のうち、ゲート付きRNNのひとつGRU(Gated Reccurent Unit)を振り返ります。 GRU(Gated Reccurent Unit) 1.GRUとは何か 2.GRU全体像 3.リセットゲート(R) 4.仮の出力() 5.更新ゲート(Z) 6.出力する要素(ℎ𝑡) GRU(Gated Reccurent Unit) 1.GRUとは何か LSTMと同様にシンプルなRNNの勾配爆発や、勾配消失の欠点を補うために開発されたゲート付きRNNです。 LSTMよりゲート数が少ない構成となっており、その分パラメータ数も少なく計算量が少なくて済みます。 では、今回も全体像から構成要素まで、順に振り返っていきたいと思います。 2.GRU全体像 GRUの全体像は以下の図のよ
先日、「ProbSpace」というプラットフォームで開催された「浮世絵作者予測」コンペに参戦したので、振り返っていきたいと思います。 私にとって、画像分類のコンペは初めてでしたが、E資格の課題が画像分類でしたので、その時に得た知識をフル動員して取り組みました。 最終順位は参加232チーム中、10位でした。トップ10入りができてとてもうれしいです!! まだまだ、改善の余地はたくさんあると思いますが、これまでの取り組みで結果を残せたので、素直に喜びたいと思います!! 全体像 1.データ拡張 2.1層目の学習 3.1層目の出力(2層目の入力を作成) 4.1層目の出力に係数をかけてLightGBMに入力 5.上記までのモデルを3パターン作って平均をとる 結果 全体像 上位の方の見よう見まねで全体像の図を作ってみました。 描き方とかも理解できていないので、わかりにくかったら申し訳ございません。 では
最新の記事: oregin-ai.hatenablog.com oregin-ai.hatenablog.com oregin-ai.hatenablog.com 目次 Obsidian関連 最近の記事 まとめ記事 資格関連 セキュリティ・ガバナンス関連 SoS-CPS 安全設計ディスカッションペーパー 第7回AI戦略会議 AI事業者ガイドライン案 機械学習システムセキュリティガイドライン Version 2.00 AI原則実践のためのガバナンス・ガイドライン ver.1.1 コンペ関連 ProbSpace Signate Nishika Solafune Kaggle 講座・書籍関連 米国AI開発者がゼロから教えるDocker講座(U-demy) GCI 2019 Winter(東京大学グローバル消費インテリジェンス寄付講座) Pythonによるスクレイピング&機械学習テクニック オライ
このページを最初にブックマークしてみませんか?
『俺人〜OREGIN〜俺、バカだから人工知能に代わりに頑張ってもらうまでのお話』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く