学習メモ:機械学習、Reactについて

関連が全くないけど、機械学習とReactについてザックリ学習した内容をメモ。

機械学習について

機械学習については、大きく教師あり/なしによって用途が分かれるらしい。大量のデータを分析することで精度が上がるけど、処理量が増えてしまうため、次元削減が大切、と。次元削減は、例えば身長と体重の2次元データからBMIという肥満度を表す1次元データに変換するようなイメージ。

教師あり学習

用途概要主なアルゴリズム利用イメージ
回帰過去の実績データを用いて未知の値を予測線形回帰、ベイズ線形回帰売上や株価の予測、機械の故障予測など
分類与えられたデータを元に分類k近傍法、ロジスティック回帰、決定木迷惑メールフィルタ、手書き文字認識など

教師なし学習

用途概要主なアルゴリズム利用イメージ
クラスタリングデータの類似性を見つけ、与えられたデータをグループ化k平均法、混合ガウスモデル顧客情報の分析など
次元削減データの特徴的傾向を残しながらデータ量を圧縮主成分分析、特異値分析顔認証、データの可視化など

その他(データの取り方次第)

用途概要主なアルゴリズム利用イメージ
レコメンデーション対象ユーザの嗜好を予測してオススメ商品を提示協調フィルタリングECサイトでの商品提案など

 

Reactについて

仮想DOMって何が良いの?とモヤモヤしていた点について、何となく腹落ちしたのでメモ。

近年はAjaxを使うことで「現在のDOMの状態」を気にする必要がある。Ajax以前は単純にボタンを押したら画面全体を更新していたのでDOMの状態なんて気にしなくて良かった。そこで、「昔のようにDOMの状態を気にせず画面を更新できないかな」という課題を解決するために考え出されたのが仮想DOMであり、それを利用するReact。Reactは何かイベントが発生すると、現在の状態は気にせずとりあえず一旦仮想DOMを作り直す。で、React内部で仮想DOMと現在のDOMとの差分を計算して、必要な箇所だけ更新してくれる。要は、開発する側からすると「欲しいDOMを作っておけば、現状を無視して更新してくれる」ってことらしい。

ただ、単純な処理なんかだとReactを使うよりjQueryの方が効率は良い。Reactが真価を発揮するのはある程度規模があって複雑な処理の場合、ってことかな。

 

コメント