サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
www.codexa.net
何かを「正しい」と判断するとき、読者の皆様は何を根拠としますか。例えば、経験を元にする場合、一度だけの経験では偶然の可能性も考えられます。これが複数の経験からの判断であれば、少しは信憑性が増すと思います。一度の結果では信憑性が薄くとも、多くの結果を得られればある程度の精度で判断できる材料となります。 機械学習も同様です。様々な特徴量を扱う機械学習では、予測モデル(以下:モデル)の評価が本当に「正しい」のかを判断することは難しい問題です。特に、過学習などの問題は機械学習の技術が発展している近年でも残り続けています。 本稿では、機械学習を扱う上で重要な交差検証(クロスバリデーション )について解説します。前半ではデータ分割の基本と、交差検証の定義を解説をします。後半では実際のデータセットを用いて交差検証の実装を行います。交差検証は様々な場面で紹介されていますが、実際に学ぶと詰まるポイントが多い
外れ値と異常値 本節では、外れ値と異常値について詳しく解説していきます。これらの言葉の概念は最も初歩的ですが、理解していないと先に進むことができません。図を用いながら可能な限り直感的に、正しく理解できるように解説して行きます。 外れ値(outlier)とは測定された値の中で他のデータとかけ離れているものを指します。実験結果を記録している中で、他のデータの分布とは明らかに異なる場所に数値が出現したりする際に外れ値と呼ばれることが多いです。外れ値が発生する原因は様々ですが、そのままにしておくと、データ分析の際に統計指標を歪める可能性があるため、何らかの対処が必要な場合があります。図1と図2のグラフは外れ値が存在する典型的な例です。 図1と図2を見てみましょう。図1がヒストグラムで図2が散布図です。赤い丸で囲われた部分の値が他のデータとは異なる位置に存在していることが見て取れると思います。どちら
私たちは普段から様々なものを「比較」しています。例えばテストの点数や売り上げなどは、他人の点数や他店舗の売り上げと比較して優劣が決まります。このような時、同じ単位での比較はさほど難しくはありません。しかし、単位が違う時はどうでしょう。平熱と身長を例に挙げてみます。平熱が37.3度の人は「他人と比較して平熱が高い」と言えます。身長が200cmの人は「他人と比較して身長が高い」と言えます。それでは、平熱と身長を比較した時、優劣や大小をつけるとしたらどちらが上なのでしょうか。 多くの特徴量を扱う機械学習では、元の数値のままでは比較が難しい場合が存在します。近年のAIブームにより、機械学習の技術の凄さが報道されていますが、全てにおいて万能ではありません。その能力を最大限発揮するためにはデータに対する前処理が必要になってきます。 本稿では、機械学習の前処理の1つである「正規化」と「標準化」について解
皆さんは、scikit-learn(よみ:サイキット・ラーン)をご存知でしょうか。Pythonを使っている方、機械学習を学ばれている方なら一度は耳にしたことがあることでしょう。しかし、scikit-learnを知っている方の中でも、scikit-learnでいったい何ができるのか、その全貌を知っている方はそれほど多くはないのではないでしょうか。 そこで本稿では、scikit-learnの4つの特徴と、6つの主な機能について詳しく解説した上で、実際に回帰と分類の実装を行います。機械学習をこれから学ぼうとされている方はもちろん、scikit-learnを使っている皆さんも改めて、本稿でscikit-learnの良さを学びましょう。 scikit-learnとは まずは、scikit-learnとはいったいどのようなライブラリで、どのような特徴があるのかを解説していきます。 scikit-lea
皆さん、突然ですが上の画像をご覧ください。 (画像引用:OpenCV公式サイトより) これは、画像認識技術の応用例の一つです。コンピューターが映像の範囲内で移動する複数の人間を検知し、その移動をリアルタイムで追跡している様子が見て取れます。かなりの数の人がいるにも関わらず、ほとんどの人を正確に検出することができていますね。画像認識とは、このように画像の数値情報のパターンから写っている物体を認識する手法のことを指します。(本稿で度々登場する物体検出という用語も画像認識と同様の意味を持つと考えていいでしょう。) また、これは画像認識の例ですが、高精度の画像認識を行うために必要不可欠なのが画像処理の技術です。画像処理とは、コンピュータを用いて画像に対して行う、色を変換したり変形させたり、ぼかしたりするなどの処理全般を指します。画像処理を行うことで、コンピュータが画像内の物体を認識しやすくなります
学校での成績評価や会社での人事評価といったように、評価というのは、社会で生きる人々にとって常について回るものですね。しかし、評価するというのは、身近でありながら案外難しいことではないでしょうか? 重要なひとつの点で優れていればいいのか、あるいは全体的にバランスよく優れていることに対して高い評価をつける方がいいのか。客観的で一貫性のある評価をするには評価の基準、評価指標が必要です。 そしてそれは、機械学習のモデルも同様です。機械学習のモデルを作成した際に、そのモデルがどれくらい「良い」モデルなのかを判断するためには、評価指標を決めて判断しなければなりません。ということで、本稿では、機械学習の評価指標(分類編)と題し、分類問題に対する機械学習モデルの評価指標について、解説していきます。 評価指標とは 本節では、評価指標を用いる目的と、評価指標を理解するための重要な前提知識として、混同行列(Co
データの可視化はなぜ必要なのでしょうか。それは、そのデータを生み出している事象をより正確に理解したり、機械学習での予測に用いる際に、使うべきデータを適切に選んだりするためです。そのためにはまず、データを可視化することによって、データの大まかな特徴をつかんだり、データ同士の相関関係を知ることが必要なのです。 さて、Pythonでデータを可視化する際には、まず、Pandasでデータを集計・加工します。その上で、matplotlib(マットプロットリブ)や今回ご紹介するseaborn(シーボーン)というライブラリで可視化を行います。seabornは特に、手軽に美しく可視化ができるライブラリなので、本稿でseabornがいかに魅力的なライブラリであるかを学びましょう。 seabornの特徴 seabornとは、Pythonのデータ可視化ライブラリで、同じPythonの可視化ライブラリであるmatp
【macOS】 macOS Mojvabe 10.14.6 Python 3.6.9 NumPy 1.14.6 Pandas 0.22.0 Scikit-Learn 0.20.1 XGBoost 1.0.2 ハイパーパラメータ(英語:Hyperparameter)とは機械学習アルゴリズムの挙動を設定するパラメータをさします。少し乱暴な言い方をすると機械学習のアルゴリズムの「設定」です。 この設定(ハイパーパラメータの値)に応じてモデルの精度やパフォーマンスが大きく変わることがあります。例えば男女を分類するモデルを構築していた場合、特に調整を行わずに初期設定のままモデリングを行なった結果、最初は90%の正解率を得ることができたとします。90%の精度では使い物にならないと上司に怒られたので、ハイパーパラメータ(モデルの設定)を調整したところ93%へ改善することがあります。ハイパーパラメータチュ
2016年に囲碁AI「AlphaGo」が囲碁世界チャンピオンを破ったことなどを一例として、「人工知能」や「機械学習」といったキーワードが広く知られるようになりました。 ただ、人工知能や機械学習と言っても、聞いたことあるけどよくわからない、という人も多いかと思います。わかっているようでわかっていない。そんな「機械学習」を今回は初心者でもわかるように簡単に解説していきたいと思います。 人工知能と機械学習の関係性とは? もともと、人工知能 (Artificial Inteligence) という言葉は1950年代ごろから存在しています。コンピューターに人間同様の知能を持たせよう、という試みから始まりました。映画「ターミネーター」でも敵としてAIが出てきましたが、いかにコンピューターに知能を与えるか、様々な科学者が試行錯誤してきました。 その後、人間が持つ知識を辞書やルールとしてコンピューターに教
コース概要 ブラウザとインターネットで実行可能(Google Colab対応) Jupyter Notebookを利用したプログラミング演習 XGBoostの概要 勾配ブースティングの仕組み Pythonで勾配ブースティングをスクラッチからコーディング XGBoostの基本操作 XGBoostとハイパーパラメータ XGBoostとその他の手法の比較 本コースで学べる内容 機械学習に携わっている方なら、一度は耳にしたことがある「Kaggle」。データセットが与えられ、同じ条件で予測の精度を競うデータ分析競技(コンペ)が人気です。コンペ終了後に上位入賞者がデータ分析手法などを公開する事も少なくありません。 そんなKaggleでここ近年、上位入賞者がこぞって使っている機械学習手法があります。それが「XGBoost」です。一概に機械学習の手法やアルゴリズムに優劣をつけることは出来ませんが、XGBo
LightGBMとは LightGBMとは決定木アルゴリズムに基づいた勾配ブースティング(Gradient Boosting)の機械学習フレームワークです。LightGBMは米マイクロソフト社がスポンサーをしています。(勾配ブースティングの仕組みについては後述します) 勾配ブースティングのフレームワークといえばXGBoostが有名です。両方とも勾配ブースティングのフレームワークですが、細かい部分で実装が異なります。XGBoostのリリースは2014年でしたが、LightGBMは後発で2016年にリリースされました。 機械学習のコミュニティで世界的に有名なKDnuggetsによると、Kaggleで上位ランキングを取った半数以上もの勝者が「勾配ブースティング」を使った実績があると報じています。(参照:こちら)。それほど勾配ブースティングは注目度の高い機械学習手法であり、今日のデータ分析競技には
機械学習の中にもロジスティック回帰、決定木、ナイーブベイズ、ニューラルネットワークと様々な学習プロセスが存在しますが、深層学習(別名ディープラーニング)は機械学習の手法の一つです。 2006年にディープラーニングが発表され、現在に至るまでの第三次AIブームの引き金となりました。本記事では「ディープラーニング」に焦点をあて、ディープラーニングの概要や簡単な仕組み、様々な種類のディープラーニングなど「エンジニアが知っておくべき深層学習の基本」をまとめました。 本記事はこれから機械学習を習得しようと考えているエンジニアの方へ向けた記事です。機械学習の基本的な理解があると読み進めやすいかと思いますので、機械学習をご存知ない方は下記の記事をお勧めします。 参照:いまさら聞けない!機械学習とは?人工知能と機械学習の関係や実例を交えて説明します ディープラーニングとは? ディープラーニングまたは深層学習
機械学習をやってみたいけど何から初めて良いか解らないと思ったことはありますか?もしそうでしたら、この記事はそんな方に向けて書かれています! 本記事では「TensorFlow 入門」として、Googleが提供する機械学習フレームワークである「TensorFlow」を使って、不動産価格を予測する流れをまとめました。概要は下記の通りです。 プログラミング経験がある方が対象 環境構築不要!ブラウザのみで可能 TensorFlowの基礎的な使い方が学べます 機械学習の基礎が学べます 所要時間の目安は1〜3時間程度 TensorFlow(読み:テンソルフロー)とは、グーグルによって開発された高速数値解析用のPythonライブラリです。ディープラーニングやニューラルネットワークを構築するのに使われます。また、TensorFlowをバックエンドとしたラッパーライブラリも多く出回っています。 グーグルによっ
機械学習には数多くのライブラリが存在します。例えば数値計算処理を効率的に行ってくれる「Numpy」や、データ解析の手助けをしてくれる「Pandas」などです。 また多くの方が利用している「Scikit-learn」や「TensorFlow」なども機械学習の現場では頻繁に活用されるライブラリの一つです。本記事では機械学習のライブラリとしては比較的新しく、2016年にリリースされた「PyTorch(読み:パイトーチ)」をご紹介します。 機械学習に携わっている方であれば「PyTorch」を一度は耳にしたことがある方も多いかと思います。本記事ではエンジニア向けの「PyTorchで知っておくべき6の基礎知識」をまとめました。PyTorchの基本的な概念やインストール方法、さらに簡単なサンプルコードを掲載しています。 TensorFlowやKerasと肩を並べて人気急上昇のPyTorchの基礎を身につ
機械学習エンジニアがよく使う表現として「ゴミを入れればゴミしか出てこない」という言葉があります。これは機械学習の特性を表しており、ここで言うゴミとは予測の役に立たないデータを表しています。 一般的なWEBアプリーケーションの開発であれば、機能実装の方法は概ね決まっています。例えばログイン機能を実装するのに細かい仕様の違いはあるにせよ、実装手段に大きな違いはありません。ですが、機械学習ではそのようにはいきません。 機械学習の中心となる存在は「データ」であり、扱うデータが違えば手法も大きく異なります。加えてデータそのものに対しても「工夫」が必要となります。 このデータに対して行う工夫こそ、今回の記事の主題である「特徴選択」です。世界中のデータサイエンティストが予測精度を競い合うKaggleなどでも、上位にランクインする方々はこの特徴選択(または特徴エンジニアリング)のテクニックを駆使しています
多くのエンジニアが「機械学習 = Python」というイメージをお持ちかも知れません。確かに日本国内では機械学習の実装にはPythonが圧倒的に使われているのも事実です。(参考:何故機械学習にPythonが使われるのか?) 機械学習の経験・レベルを積み上げる中で、接する頻度が増えるプログラミング言語の一つに「R言語(アール)」があります。アメリカの電気工学・電子工学技術の学会「IEEE」が毎年行なっているプログラミング言語の人気ランキング 2017年度版ではR言語が総合で6位の結果(Pythonは1位)となりました。 本記事では機械学習においてPythonと肩を並べて人気の高い「R言語」について、機械学習の初心者が知っておくべき概要や特徴などを紹介したいと思います。 R言語は、1995年に科学者ロス・イハカ氏とオークランド大学のロバート・ジェントルマンによって開発されました。S言語というプ
機械学習を勉強するにあたり「アンサンブル学習で精度が大幅に向上したよ」や「バギング」「ブースティング」などのキーワードを耳にしたことがあるかと思います。(参照:機械学習とは?) Kaggleなどのデータサイエンス世界競技では予測精度を競い合いますが、頻繁にこの「アンサンブル学習」の話題が上がります。事実、多くのコンペティションの上位にランクインする方々はアンサンブル学習を活用しています。 機械学習の中〜上級者がよく話をする「アンサンブル学習」ですが、そもそもどのような手法なのでしょうか?本記事では機械学習の初心者を対象としてアンサンブル学習を説明していきます。 アンサンブル学習とは? 英語でアンサンブル(Ensemble)といえば合奏や合唱を意味しますが、機械学習においてのアンサンブル学習(Ensemble Learning)は、複数のモデル(学習器)を融合させて1つの学習モデルを生成する
コース概要 ブラウザとインターネットで実行可能(Google Colab利用) Jupyter Notebookを利用したプログラミング演習 線形回帰の基本的なコンセプト 線形回帰の数学的理解 最小二乗法を使って線形モデルを構築(単回帰分析) 最急降下法を使って線形モデルを構築(単回帰分析) テキスト量はA4で約40ページ相当 Python実習コード約100行 学べる内容 機械学習には数多くの手法がありますが、線形回帰はその中でも基本的な手法です。本チュートリアルでは、線形回帰のコンセプトや基本的な数学理解、さらに単回帰分析の問題を機械学習ライブラリーを使わず、スクラッチでモデルを構築していきます。 チュートリアル序盤では、具体的な実例を見ながら線形回帰のコンセプトと用語を紐解いていきます。また2つのプログラミング実習では、全く一緒のデータセットを使い「最小二乗法」と「最急降下法」を比較を
既に社会で活躍してるエンジニアの方であれば、「人工知能」を作ってみたいと考えたことがある方も多いかと思います。人工知能やIoTなどの先端技術に携わっているエンジニアを総じて「先端IT人材」などと呼ばれますが、現在日本を含めて世界中で深刻な人材不足の状況です。 人材不足が深刻な状況を表しているデータとして、アメリカでは機械学習エンジニアの平均年収は現在で「1350万円($120,931)」と非常に高額になっています。(参考:機械学習を学ぶために読むべき厳選書籍3冊) 日本の機械学習エンジニアの平均給料のデータは未だ無いようですが、避けては通れない人材不足の課題があることを加味すると、今後、人工知能に携われるエンジニアのニーズは急激に高まることから給料も高騰することが予測されます。 さて、先ほどから「人工知能」と「機械学習」というキーワードを頻繁に使っていますが、そもそも「人工知能」はどのよう
人工知能が様々な業種に大きな影響を及ぼしていますが、特段にアメリカ大手が力を入れている分野として「Machine Learning as a Service (MLaaS – マシーン・ラーニング・アズ・ア・サービス)」があります。私が知っている時点でもすでにアメリカでは13社が競争をしており、今後も増えていくかと思います。本記事ではMLaaSの簡単な概要、またAmazonやGoogleなどの大手のサービスを比較していきます。 MLaaSとは? MLaaSとは、名前の通り、クラウドコンピューティングサービスの一部として機械学習のツールを提供するサービスです。MLaaSでは、データプレプロッセッシング、モデルトレーニング、モデル評価などの機械学習のプロセスや、実用性のある顔認識や自然言語処理などのツールをクラウド上で提供するサービスです。またクラウド上で予測/処理された結果は、APIを通じて
機械学習エンジニアやデータサイエンティストが、一番最初に行う作業をご存知でしょうか?会社や組織から課題を与えられた場合、最初に行うのが「探索的データ解析」と呼ばれる作業です。 探索的データ解析、英語ではExplanatory Data Analysis(略してEDA)とは、データの特徴を探求し、構造を理解することを目的としたデータサイエンスの最初の一歩です。 探索的データ解析は機械学習のタスクの一番最初のフェーズで、まずはデータに触れてみて、データを視覚化したり、データのパターンを探したり、特徴量やターゲットの関係性/相関性を感じるとるのが目的です。 より高度な機械学習のモデルの構築をしたり、難解な問題を解決する際には、特徴量エンジニアリング(英語でFeature Engineering)を必要することが多々あり、その際に深いデータの知識と理解が求められます。 問題を解決する前に、どのよう
ほぼ毎日のように機械学習や、その周辺技術などの革新的なリリースのニュースを耳にしますが、2018年1月17日にGoogleが発表したCloud AutoML(クラウド・オート・エム・エル)もその一つです。 「AutoML」ですが、機械学習エンジニアとして活躍されている方であれば、耳にしたことがある方も多いかと思います。日本でも、早ければ来週にでも、一部の承認されたユーザーがアルファ版の使用許可出るようなので、本記事では「機械学習エンジニアが知っておくべきGoogle Cloud AutoMLのポイント」をまとめました。 AutoMLですが、現在(@2月19日)は招待制となっています。興味のある方は、こちらのリンクからGoogleへリクエストを送信することが可能です。 そもそもCloud AutoMLとは? Cloud AutoMLとは、機械学習エンジニアなどのリソースが足りていない会社や組
「この商品を購入したお客様はこちらも一緒にお買い上げいただいてます」「このビデオを見た方はこちらも見てます」。このよう�なオススメをされた経験はありませんか?これらは、「レコメンド機能(レコメンドエンジン)」と呼ばれるもので、近年ではインターネット上の様々なECやサービスで使われています。 レコメンド機能ですが、実にありとあらゆる業種で活用されています。 商品(EC) 映画 音楽 ニュース 動画 …その他多数 今回の機械学習初心者向けチュートリアルでは、k近傍法(K-nearest neighbor)というアルゴリズムを利用して、アニメのレコドメンド機能をPythonを使って一緒に構築してみましょう! レコメンド機能(エンジン)とは? まずは、このレコメンド機能とは何かについて一緒に紐解いていきましょう。レコメンド機能とは、データを活用して顧客やユーザーに「お勧め」を提供する情報フィルタリ
機械学習エンジニア界隈で話題沸騰となっているGoogle Colaboratory(グーグル・コラボレイトリー)。本記事では概要とGoogle Colabの知っておくべき基本的な使い方をまとめました! すでに機械学習をやっている方や、これから機械学習を学んでみたいと考えている方で、下記のような事を感じたことはありませんか? 「訓練やデータ処理をやるのにローカルPCだと処理に時間がかかりすぎる」 「機械学習用にクラウド環境を立てたけど…思ったより費用が高い」 「機械学習は色々とライブラリが多くて環境構築がしんどい」 もし一つでも当てはまるものがあれば、Google Colabがそんな悩みを解決してくれます!機械学習の開発環境の新基準となる可能性も高いGoogle Colab、概要や基本的な使い方をみていきましょう。 Google Colaboratoryとは? Google Colab(略式
何かを「正しい」と判断するとき、読者の皆様は何を根拠としますか。例えば、経験を元にする場合、一度だけの経験では偶然の可能性も考えられます。これが複数の経験からの判断であれば、少しは信憑性が増すと思います。一度の結果では信憑性が薄くとも、多くの結果を得られればある程度の精度で判断できる材料となります。 ... 続きを読む みなさんはデータ分析コンペティションに参加されたことはあるでしょうか。現在はkaggleやSIGNATEなど様々なコンペティションが開催されています。コンペティションにチャレンジされている方であれば、ほとんどの方がメダルに憧れを抱いていると思います。筆者もその1人です。 データ分析の作業割合は前処理 ... 続きを読む
動画コース無料 Numpy 入門 機械学習で必須とも言えるPythonライブラリ「Numpy」の基本的操作を覚えよう。基本的なNumpy配列の操作や行列の処理などをカバーしています...もっと見る
Jupyterの環境構築が不要、オンラインで実行が可能な機械学習入門チュートリアルを公開中!まずは初歩的なアルゴリズムを学んで、機械学習の世界へ飛び込んでみませんか? スクラッチで最小二乗法と最急降下法をPythonでコーディング(線形回帰) ロジスティック回帰の概要や数学的理解と実践に役立つ知識(ロジスティック回帰) Jupyter Labとは?Jupyterプロジェクトについて まずはJupyterプロジェクトとは?について。Jupyter(ジュピターと読みます)は、オープンソースの対話型コンピューティング(Interactive Computing)の開発を行うプロジェクトです。 このJupyterプロジェクトが開発したのがJupyter Notebookです。Jupyter Notebookはブラウザ上で使えるコーディング環境で、同僚やチームとのコードの共有をしたり、インタラクティ
コンピュータービジョンとは? Teslaやトヨタによって開発された自動運転技術や、スマートフォン上の顔認識ソフトウェア、画像認識アプリケーションに至るまで、様々な会社や組織においてコンピュータービジョンは活躍しています。企業の競合優位性や収益に対して、機械学習を活用したコンピュータービジョンが大きな影響を与えていることに疑いの余地はありません。 米テックメディアのtechopediaによれば、コンピュータービジョンとは「人間が行うのと同じ方法でコンピューターが画像を見たり、識別したり、処理することを可能にするコンピューターサイエンスの分野(注:意訳)」と定義をしています。 下の図の通り、コンピューターと人間では画像を見るのに大きな違いがあります。単純に言えば、左の写真のように人間の目には「犬」と認識できるこの写真ですが、コンピューターにとっては28行28列のピクセルを表した行列としか認識が
ここ近年の第三次人工知能ブームの牽引者とも言える「ディープラーニング(深層学習)」。ニュースなどでは「人工知能」と一括りにまとめられていることも多いですが、その多くの内実は「機械学習」や、さらにはこの「ディープラーニング」の技術が使われていることがほとんどです。 本記事では、ディープラーニングの簡単な概念や種類、さらには、これからディープラーニングを勉強しようと考えているエンジニアさんに向けた、ディープラーニングのおすすめ入門書3冊をご紹介させていただきます。 ディープラーニングと機械学習は違うの? ニュースなどでもよく耳にするディープラーニングですが、そもそもディープラーニングと機械学習は何が違うのでしょうか?ディープラーニングですが、日本語ですと「深層学習」と呼ばれています。機械学習とディープラーニングを全く異なるものとお考えの方も多いのですが、本質的なところから言うと、「機械学習」と
次のページ
このページを最初にブックマークしてみませんか?
『機械学習 入門コースの決定版!機械学習エンジニアを目指すならcodexa(コデクサ)』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く