俺人〜OREGIN〜俺、バカだから人工知能に代わりに頑張ってもらうまでのお話

俺って、おバカさんなので、とっても優秀な人工知能を作って代わりに頑張ってもらうことにしました。世界の端っこでおバカな俺が夢の達成に向けてチマチマ頑張る、そんな小さなお話です。現在はG検定、E資格に合格し、KaggleやProbSpaceのコンペに参画しながら、Pythonや機械学習、統計学、Dockerなどの勉強中です。学習したことをブログにアウトプットすることで、自分の身に着けていきたいと思います。まだまだ道半ばですが、お時間がありましたら見て行ってください。

Python

グリッドサーチでハイパーパラメータを調整する(Pythonによるスクレイピング&機械学習テクニック)

今回は、グリッドサーチでハイパーパラメータを調整しました。 これまで、学習モデルは、特に引数を指定しないか、特定の値のみ指定して学習をおこなっていました。この「引数」は、学習時に更新されていくパラメータとは区別して、「ハイパーパラメータ」と…

クロスバリデーションでモデルの妥当性を検証する(Pythonによるスクレイピング&機械学習テクニック)

今回は、クロスバリデーションという手法でモデルの妥当性を検証しました。 学習したデータに対してとても良い精度を出すモデルであっても、予測が必要な新たなデータに対する精度が非常に低い、いわゆる「過学習」という状態になることが良くあります。こう…

ランダムフォレストでキノコを分類する(Pythonによるスクレイピング&機械学習テクニック)

今回は、Webからキノコに関するデータをダウンロードして、ランダムフォレストで分類を行いました。 これまでは、数学的に境界を決定して分類するSVM(サポートベクターマシン)という学習モデルを使ってきましたが、今回は、「ランダムフォレスト」という多…

SVMで言語を判定する(Pythonによるスクレイピング&機械学習テクニック)

今回は、Webから取得したテキストファイルを読み込ませて、それが何語で書かれたテキストなのかを判定しました。 機械学習の一大テーマである自然言語処理の復習です。(そこまで大掛かりなことをやっているわけではないですが・・・。) 今回も Pythonによ…

SVM(サポートベクターマシン)の解説&構築に挑戦!

前回、次は「自然言語」と予告いたしましたが、これまでscikit-learnのライブラリを使っていたSVM(サポートベクターマシン)について、自分なりの理解で解説と、ライブラリを使わない実装に挑戦していきたいと思います! scikit-learn を使ったSVMについて…

SVMでMNISTのデータを画像分類する(Pythonによるスクレイピング&機械学習テクニック)

今回は、前回CSVに変換したMNISTの手書き文字画像を、0〜9に分類しました。 機械学習の一大テーマである画像分類の復習です。 今回も Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第4章…

MNISTのデータをCSVに変換する(Pythonによるスクレイピング&機械学習テクニック)

今回は、前回ダウンロードしてきたMNISTのデータをCSVに変換しました。 今までバイナリデータをちゃんと扱ったことがなかったので、とても勉強になりました。 Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ ク…

MNIST(手書き数字データ)のダウンロード/解凍を自動化する(Pythonによるスクレイピング&機械学習テクニック)

今回は、少しスクレイピングに戻って、画像の文字認識に使うためのMNIST(手書き数字データ)をダウンロードして解凍できるようになりました。機械学習では、圧縮されたデータをダウンロードして処理することもあるので、自動化できるのは非常に効率的です。…

scikit-learnのSVMを使ってアヤメの品種を分類する(Pythonによるスクレイピング&機械学習テクニック)

今回は、scikit-learnのSVMを使って、アヤメの品種を分類できるようになりました。花びらの長さや幅などの特徴量から品種を分類するということで、本格的に機械学習となってまいりました。 Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scra…

scikit-learnのSVMを使った入門編としてXOR演算を学習させる(Pythonによるスクレイピング&機械学習テクニック)

今回は、scikit-learnのSVMを使って、入門編としてXOR演算を学習させました。ついに機械学習の章に入ってきて、テンションも上がります。最近実践中心だったので、基礎からもう一度学び直したいと思います。 Pythonによるスクレイピング&機械学習開発テクニ…

YAMLを解析して要素を出力(Pythonによるスクレイピング&機械学習テクニック)

今回は、yaml で、PythonのデータからYAML形式に変換したり、YAML形式のファイルを解析して要素を出力できるようになりました。 Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第3章を参考に…

Ubuntu(20.04 LTS)をインストールしてPython(Anaconda)の開発環境を構築する

今回は、Ubuntu 20.04 LTSをインストールして、Python,Seleniumの開発環境を構築しました。 これまで、 Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]をDockerを利用して取り組んでいたのです…

JSONを解析して要素を出力(Pythonによるスクレイピング&機械学習テクニック)

今回は、 Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第3章を参考にさせていただきながら、urllib.request+jsonで、Web上から、JSONファイルをダウンロードして解析後、要素を出力できる…

XMLを解析して要素を出力(Pythonによるスクレイピング&機械学習テクニック)

今回は、 Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第3章を参考にさせていただきながら、urllib.request+BeautifulSoupで、Web上から、XMLファイルをダウンロードして解析後、要素を出…

ブログページから記事タイトル一覧を出力(Pythonによるスクレイピング&機械学習テクニック)

今回は、 Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第2章を参考にさせていただきながら、Selenium+PhantomJS(画面なしブラウザ)で、ブログページから記事タイトル一覧を出力できるよ…

ブラウザ(PhantomJS)を経由したスクレイピング(Pythonによるスクレイピング&機械学習テクニック)

今回は、 Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第2章を参考にさせていただきながら、Selenium+PhantomJS(画面なしブラウザ)で、Webページのスクリーンショットを保存できるように…

ProbSpace浮世絵作者予測コンペ振り返り(10位にランクイン!)

先日、「ProbSpace」というプラットフォームで開催された「浮世絵作者予測」コンペに参戦したので、振り返っていきたいと思います。 私にとって、画像分類のコンペは初めてでしたが、E資格の課題が画像分類でしたので、その時に得た知識をフル動員して取り組…

ProbSpace給与推定コンペ振り返り

先日、「ProbSpace」というプラットフォームで開催された「給与推定」コンペに参戦したので、振り返っていきたいと思います。 私にとって、初めて公式の結果が確定したコンペとなり、最終順位は参加310チーム中、46位でした。全体の15%以内に入れたので、ま…

E資格合格しました!(JDLA Deep Learning for ENGINEER 2019 #2)

本日、8月31日に受験したE資格(JDLA Deep Learning for ENGINEER 2019 #2)の結果発表があり、無事合格しました! 約半年間取り組んできた努力が実りました! させてくれた家族と会社の皆さんに感謝です。 今後、合格に向けて取り組んできた対策、例題、…

E資格対策で勉強したこと、参考書など(JDLA Deep Learning for ENGINEER 2019 #2)

E資格(JDLA Deep Learning for ENGINEER 2019 #2)の試験が終わりました。 3月にG検定合格した後、E資格対策として取り組んできた勉強と、参考にした書籍などを紹介していきたいと思います。 3月 G検定に合格し、E検定受験を決意 4月 認定講座受講開始ま…

E資格受験に向けて「ゼロから作るDeep Learning 2 自然言語処理編」で追い込みをかける!

受験資格を得るための課題は完了したので、一旦実装はお休みして、知識学習に力を入れています。今は、「 ゼロから作るDeep Learning 2 自然言語処理編」を購入して、苦手なRNNやLSTMなど系列データを使ったディープラーニングを学習しています。 ゼロから作…

ep4-3:多項式の次数を上げて近似する。( 「実践 機械学習システム」に学ぶ。)

オライリージャパン社の「実践 機械学習システム」に取り組んでいます。 今回は、多項式の次数を上げて近似します。 前回の直線で近似した記事は以下の通りです。 oregin-ai.hatenablog.com 実践機械学習システム [ ウィリ・リチャート ] では、順に取り組ん…

ep4-2:単純な直線で近似する。( 「実践 機械学習システム」に学ぶ。)

オライリージャパン社の「実践 機械学習システム」に取り組んでいます。 今回は、「単純な直線で近似する」を学びます。 実践機械学習システム [ ウィリ・リチャート ] では、順に取り組んでいきます。 1.まずは、誤差を計算する関数を定義する。 #誤差を定…

ep4-1: オライリー・ジャパン社「実践 機械学習システム」に学ぶ。

「Kaggle」のデータセット「Kickstarter Projects」の取り組みで、かなり苦戦したので、今一度、基礎から学ぶために、オライリージャパン社の「実践 機械学習システム」に取り組んでまいります。 今回は、データの読み込みと欠損値の処理を学びます。 実践機…

エピソード3-14: AdaBoostのまとめ(KaggleでKickstarter Projectsに挑戦する。)

「Kaggle」のデータセット「Kickstarter Projects」に取り組んでいます。 前回挑戦した、木モデルのAdaBoostのコードをまとめました。 前回の記事は、以下にありますので、ご参照ください。 oregin-ai.hatenablog.com では、さっそくまとめです。 1.まずは、…

エピソード3-13: AdaBoostに挑戦してみる。Acc66%→67.5%(KaggleでKickstarter Projectsに挑戦する。)

「Kaggle」のデータセット「Kickstarter Projects」に取り組んでいます。 今回は、一度NNモデルから離れて、木モデルのAdaBoostに挑戦します。 NNモデルの記事は、以下にありますので、ご参照ください。 oregin-ai.hatenablog.com では、さっそく取り組んで…

エピソード3-12: 選択した特徴量を使ってNNモデルの学習率をグリッドサーチする。Acc62%→66%(KaggleでKickstarter Projectsに挑戦する。)

「Kaggle」のデータセット「Kickstarter Projects」に取り組んで、前回、LassoCVを使った特徴量選択を実施したので、その特徴量を使ってNNモデルを作り学習率をグリッドサーチします。 前回の記事は、以下にありますので、ご参照ください。 oregin-ai.hatena…

エピソード3-11: 正則化L1ノルム(Lasso)を使って特長量選択。(KaggleでKickstarter Projectsに挑戦する。)

「Kaggle」のデータセット「Kickstarter Projects」に取り組んで、Leakageにハマってしまいましたが、気を取り直して、再度取り組み開始です。 ハマってしまった「Leakage」については、以下にまとめてあるのでご参照ください。 oregin-ai.hatenablog.com さ…

エピソード3-10: 大幅手戻り、Leakageにはまる。(KaggleでKickstarter Projectsに挑戦する。)

「Kaggle」のデータセット「Kickstarter Projects」に取り組んで、順調に精度を向上させているかに見えたのですが、ここにきて、知人に「それ、Leakageじゃない?」と指摘され、今回は、Leakageの回避に取り組みました。 これまでの流れは以下にまとめてある…

エピソード3-9: 異常値(外れ値)を除いてみて精度を向上するか確認する。(KaggleでKickstarter Projectsに挑戦する。)

「Kaggle」のデータセット「Kickstarter Projects」にて、更に精度を向上させるために異常値の除去についても検討します。 これまでの流れは以下にまとめてあるのでご参照ください。 oregin-ai.hatenablog.com 国別とカテゴリーは成功率なので異常値はないと…