順序保存回帰: リソース利用を最大化するアルゴリズム

順序保存回帰: リソース利用を最大化するアルゴリズム

[[205069]]

1. 数学的な定義

順序保存回帰は回帰アルゴリズムの一種です。基本的な考え方は、有限の実数集合が与えられた場合に、次の方程式を最小化するようにモデルをトレーニングすることです。

そして、次の制約が満たされます。

2. アルゴリズムプロセスの説明

シーケンスの最初の要素から逆方向に観察します。無秩序が発生したら、観察のラウンドを停止し、シーケンス内のすべての要素の平均値が次に吸収される要素の値以下になるまで、無秩序な要素から要素を 1 つずつ吸収してシーケンスを形成します。

例:

元のシーケンス: <9、10、14>

結果の順序: <9, 10, 14>

分析: 9 以降は最後の要素 14 まで乱れが見られないため、処理は必要ありません。

元のシーケンス: <9、14、10>

結果のシーケンス: <9, 12, 12>

分析: 9 以降を観察し、14 を観察すると無秩序が発生します (14>10)。この観察ラウンドを停止し、要素の吸収を開始します。要素 10 を吸収した後、サブシーケンスは <14、10> です。シーケンス内のすべての要素の平均値は 12 なので、シーケンス <14、10> の代わりに <12、12> が使用されます。 10を吸収すると***要素に到達し、処理操作が完了します。

元のシーケンス: <14、9、10、15>

結果のシーケンス: <11、11、11、15>

分析: 14 以降を観察し、9 が観察されるとシーケンスが乱れます (14>9)。このラウンドの観察を中止し、吸収要素に切り替えます。吸収要素 9 の後、サブシーケンスは <14,9> になります。シーケンス内のすべての要素の平均値は 12.5 です。12.5 は吸収される次の要素よりも大きいため、10、10 が再び吸収され、シーケンスは <14、9、10> になります。シーケンス内のすべての要素の平均値は 11 です。11 は吸収される次の要素 15 より小さいため、吸収操作は停止され、シーケンス <14、9、10> は <11、11、11> に置き換えられます。

3. 次の実験の原理を説明する例を挙げなさい。

ある薬の投与量を例に挙げてみましょう。

薬物使用が配列 X=0,1,2,3,4….99 で、患者の薬物に対する反応が Y=y1,y2,y3…..y99 であるとします。個々の理由により、Y は単調関数ではありません (つまり、変動があります)。薬物反応で並べ替えると、対応する X の順序が崩れ、研究が無意味になります。私たちの研究の目的は、使用される薬剤の量が増えるにつれて患者の平均的な反応を観察することです。この場合、順位保存回帰が使用されます。つまり、X の順序は変更されず、Y の平均値が得られます。次の図に示すように:

図からわかるように、最も長い緑色の線 x の値はおよそ 30 ~ 60 です。この範囲内では、Y の平均値は同じです。したがって、経済性や患者の抵抗などの要素を考慮すると、理想的な投与量は 30 単位です。

現在、IT業界では仮想化が普及しています。この方法を使用し、適切な判断パラメータを見つけることで、このアルゴリズムを使用してリソースを最も合理的に使用できます。

4. 実験コード

  1. numpyをnpとしてインポートする
  2. matplotlib.pyplot をpltとしてインポートします。
  3. matplotlib.collectionsからLineCollectionをインポートします
  4. sklearn.isotonicからIsotonicRegression をインポートします
  5. sklearn.utilsからcheck_random_state をインポートします
  6.  
  7. 100 個
  8. ##0~99のリストを生成する
  9. x = np.arange(n)
  10. ##np.random.RandomStateのインスタンスをインスタンス化して、毎回取得されるランダムな値が同じになるようにします
  11. rs = チェックランダム状態(0)
  12. ##randint(-50, 50): -50から50までの整数を生成します
  13. ##np.log eを下限値とする対数を求める
  14. y = rs.randint(-50, 50,サイズ= (n,)) + 50. * np.log(1 + np.arange(n))
  15.  
  16. ##順序保存回帰関数を設定する
  17. ir = アイソトニック回帰()
  18. ##トレーニングデータ
  19. y_ = ir.fit_transform(x, y)
  20.  
  21. ## 描画
  22. セグメント = [[[i, y[i]], [i, y_[i]]] i範囲(n)]
  23. ##plt.gca().add_collection(lc)、これらの2つのステップは、点と平均線を結ぶ線を描くことです。
  24. lc = ラインコレクション(セグメント)
  25.  
  26. 図 = plt.figure()
  27. plt.plot(x, y, 'r.' , マーカーサイズ=12)
  28. plt.plot(x, y_, 'g.-' , マーカーサイズ=12)
  29. plt.gca().add_collection(lc)
  30. plt.legend(( 'データ' , 'アイソトニックフィット' ), loc= '右下' )
  31. plt.title( '等張回帰' )
  32. plt.show()

<<:  「機械学習には数学は必要なく、多くのアルゴリズムがパッケージ化されており、パッケージを調整するだけでよい」という主張についてどう思いますか?

>>:  国内AI企業500社のビッグデータ分析:業界レイアウトと資金調達・投資動向

ブログ    
ブログ    

推薦する

少なくとも 8 つのトップカンファレンス論文! NvidiaのLLM研究科学者の求人数は非常に多く、元Google Brainの科学者を驚かせるほどである。

機械学習の分野で仕事を見つけるのはどれくらい難しいですか? NVIDIA の大規模モデル研究科学者の...

...

連休明けの電力安定供給のため、変電所点検ロボットが活躍中

前年と比べると、春節期間中の電力供給の確保においてハイテク技術が重要な役割を果たした。ロボットによる...

機械学習は、企業がサイバー脅威と戦うのにどのように役立ちますか?

私たちの忙しいデジタル生活の中で、サイバー脅威はより高度化し、頻繁に発生しています。従来の方法だけで...

CNN が RNN に取って代わる?シーケンスモデリングで再帰ネットワークが不要になったとき

過去数年間はリカレントニューラルネットワークが主流でしたが、現在では自己回帰 Wavenet や T...

機械にあなたのことをもっと理解させるにはどうすればいいでしょうか? NLPについて学ぶ時が来ました

音声とテキストの両方における自然言語処理 (NLP) の改善は、主流のテクノロジーの進歩に役立ちます...

...

このアルゴリズムに関する優れた本を読めば、AIを本当に理解できる

[[240202]]新しい技術を学ぶとき、多くの人は公式ドキュメントを読み、ビデオチュートリアルやデ...

2021年10月のドローン業界の最新動向を3分で振り返る

現在、人工知能や5Gなどの技術の助けを借りて、我が国のドローン開発は急速な成長の軌道に乗っています。...

最も強力な AI 搭載スマートフォンに関する神の視点: iPhone X

世界中で人気のiPhone Xがついに登場。バージョン番号を埋めるためだけに名付けられたiPhone...

成功するAIチームの特徴

今日の時代では、人々は目標を達成するために人工知能 (AI) にますます依存するようになっています。...

ソラがビデオ世代を爆発させたとき、Metaは中国の著者の主導で、エージェントを使用してビデオを自動的に編集し始めました。

最近、AIビデオの分野は非常に活発になっており、OpenAIが立ち上げた大規模なビデオ生成モデルであ...

...

人工知能の台頭によりプログラマーは消滅するのでしょうか?

ローコードおよびノー​​コード プラットフォームの爆発的な成長により、個人でも組織でも、従来はコード...

O(n) アルゴリズムは実際にタイムアウトします。この時点で n はどのくらいの大きさでしょうか?

[[412223]]生徒の中には、コンピューターの実行速度の概念がわからない人もいるかもしれません...