教師あり学習とは何ですか?教師あり学習は機械学習のサブセットであり、機械学習モデルの入力データにラベルが付けられ、それに基づいてトレーニングされます。したがって、教師ありモデルはモデルの出力を最もよく予測できます。 教師あり学習の背後にある概念は、教師が子供を指導するなど、現実の生活にも見られます。教師が子供たちに猫と犬の画像を認識することを教えたいとします。教師は、子供に猫か犬の画像を絶えず見せながら、その画像が犬なのか猫なのかを子供に伝えて指導します。 画像を表示して伝えるプロセスはデータのラベル付けと考えることができ、機械学習モデルはどのデータがどのカテゴリに属するかを伝えることでトレーニングされます。 教師あり学習は何に役立ちますか?教師あり学習は、回帰問題と分類問題の両方に使用できます。分類モデルを使用すると、アルゴリズムは特定のデータがどのグループに属するかを判断できます。例としては、True/False、Dog/Cat などが挙げられます。 回帰モデルは過去のデータに基づいて将来の値を予測できるため、従業員の給与や不動産の販売価格を予測するために使用されます。 この記事では、教師あり学習の一般的なアルゴリズムと、そのようなアルゴリズムに関する役立つチュートリアルをいくつか紹介します。 線形回帰線形回帰は、入力値が与えられた場合に出力値を予測する教師あり学習アルゴリズムです。線形回帰は、ターゲット (出力) 変数が連続値を返す場合に使用されます。 線形アルゴリズムには、単純線形回帰と多重線形回帰の 2 つの主なタイプがあります。 単純線形回帰では、 1 つの独立 (入力) 変数のみを使用します。一例としては、身長から子供の年齢を予測することが挙げられます。 一方、多重線形回帰では、複数の独立変数を使用して最終結果を予測できます。一例としては、特定の不動産の場所、大きさ、需要などに基づいてその価格を予測することが挙げられます。 以下は線形回帰式である。 Python の例では、線形回帰を使用して、指定された x 値に対する y 値を予測します。 与えられたデータセットには、x と y の 2 つの列のみが含まれています。 y の結果は連続値として返されることに注意してください。 以下は、指定されたデータセットのスクリーンショットです。 Python を使用した線形回帰モデルの例1. 必要なライブラリをインポートするnumpyをnpとしてインポートする 2. データセットの読み取りとサンプリングデータ セットを簡素化するために、50 行のデータ サンプルを取得し、データ値を 2 桁の有効数字に丸めました。 この手順を完了する前に、指定されたデータセットをインポートする必要があることに注意してください。 df = pd.read_csv("../input/random-linear-regression/train.csv") 3. Null値と無限値をフィルタリングするデータセットに null 値や無限値が含まれている場合、エラーが発生する可能性があります。したがって、clean_dataset 関数を使用して、データセットからこれらの値を削除します。 def clean_dataset(df): 4. 自分が頼りにしている価値観と、依存していない価値観を選択するデータをDataFrame 形式に変換したことに注意してください。データフレーム データ型は、データを行と列に配置する 2 次元構造です。 5. データセットを分割するデータセットをトレーニング部分とテスト部分に分割します。テスト データセットのサイズは、データセット全体の 20% になるように選択されます。 random_state=1 に設定すると、モデルが実行されるたびに同じデータ分割が行われ、トレーニング データセットとテスト データセットがまったく同じになることに注意してください。 これは、モデルをさらに微調整したい場合に便利です。 x_train、x_test、y_train、y_test = train_test_split(X、Y、テストサイズ=0.2、ランダム状態=1) 6.線形回帰モデルを構築するインポートされた線形回帰モデルを使用すると、特定のモデルに対して取得した x および y トレーニング変数をバイパスして、モデル内で線形回帰アルゴリズムを自由に使用できます。 lm = linear_model.LinearRegression() lm.fit(x_train,y_train) 7. データを散在的にプロットするdf.plot(種類="散布図", x="x", y="y") 8.線形回帰直線をプロットするplt.plot(X,lm.predict(X), 色="赤") 青い点はデータ ポイントを表し、赤い線はモデルによって描画された最適な線形回帰線です。線形モデル アルゴリズムは、結果をできるだけ正確に予測するために、常に最適な線を描画しようとします。 ロジスティック回帰線形回帰と同様に、ロジスティック回帰は入力変数に基づいて出力値を予測します。 2 つのアルゴリズムの主な違いは、ロジスティック回帰アルゴリズムの出力がカテゴリ (離散) 変数であることです。 のために ロジスティック回帰を使用して花を2 つの異なるカテゴリ/タイプに分類するPython の例。特定のデータセットには、さまざまな花の複数の特徴が含まれます。 モデルの目的は、特定の花をIris-setosa、Iris-versicolor、または Iris-virginica のいずれかとして識別することです。 以下は、指定されたデータセットのスクリーンショットです。 Python を使用したロジスティック回帰モデルの例1. 必要なライブラリをインポートするnumpyをnpとしてインポートする 2. データセットをインポートするデータ = pd.read_csv('../input/iris-dataset-logistic-regression/iris.csv') 3. 自分が頼りにしている価値観と、依存していない価値観を選択するスタンドアロン値(x)の場合、タイプ列を除く使用可能なすべての列が含まれます。信頼できる値(y)については、タイプ列のみを含めます。 X = データ[['x0','x1','x2','x3','x4']] 4. データセットを分割するデータセットは 2 つの部分に分かれており、80% がトレーニング データセット、20% がテスト データセットです。 X_train、X_test、y_train、y_test = train_test_split(X、y、テストサイズ=0.2、ランダム状態=1) 5.ロジスティック回帰モデルを実行するlinear_model ライブラリからロジスティック回帰アルゴリズム全体をインポートします。次に、X および y トレーニング データをロジスティック モデルに適合させます。 sklearn.linear_model から LogisticRegression をインポートします 6. モデルのパフォーマンスの評価lm.score(x_test, y_test) を印刷します 返された値は0.9845128775509371であり、これはモデルのパフォーマンスが高いことを示しています。 テストのスコアが上がると、モデルのパフォーマンスも上がることに注意してください。 7.チャートを描くmatplotlib.pyplot を plt %matplotlib インラインとしてインポートします 出力グラフ: ロジスティック プロットでは、赤い点は指定されたデータ ポイントを表します。ポイントは、Virginica、versicolor、setosa の花種の 3 つのカテゴリに明確に分けられます。 この手法を使用すると、ロジスティック回帰モデルはグラフ上の位置に基づいて花の種類を簡単に分類できます。 サポートベクターマシンサポート ベクター マシン(SVM) アルゴリズムは、Vladimir Vapnik によって作成された、分類問題と回帰問題の両方を解決できるもう 1 つの有名な教師あり機械学習モデルです。実際、分類問題を解決するために使用されることが多いです。 SVM アルゴリズムは、指定されたデータ ポイントをさまざまなグループに分類できます。アルゴリズムはデータをプロットした後、最適な線を描いてデータをカテゴリに分け、データ間の関係を分析します。 下の図に示すように、描画された線はデータセットを青と緑の 2 つの異なるグループに完全に分離します。 SVM モデルは、グラフの次元に応じて線または超平面を描画できます。行は 2D データセット、つまり 2 つの列のみを持つデータセットにのみ使用できます。 データセットを予測するために複数の特徴が使用される場合は、より高い次元が必要になります。データセットが 2 次元を超える場合、サポート ベクター マシン モデルは超平面を描画します。 このサポート ベクター マシン Python の例では、3 種類の異なる花が種に分類されます。独立変数には花のすべての特性が含まれ、従属変数は花が属する種です。 花の品種には、 Iris-setosa 、 Iris-versicolor 、 Iris-virginicaなどがあります。 データセットのスクリーンショットは次のとおりです。 Python を使用したサポート ベクター マシン モデルの例1.必要なライブラリをインポートするnumpyをnpとしてインポートする 2.与えられたデータセットを読み込むこの手順を実行する前に、データセットをインポートする必要があることに注意してください。 データ = pd.read_csv('../input/iris-flower-dataset/IRIS.csv') 3. データ列を従属変数と独立変数に分割する種の列を除くすべての列を含む X 値を独立変数として取得します。 従属変数y には、モデルによって予測された種の列のみが含まれます。 x = data.drop('species', axis=1) y = data['species'] 4.データセットをトレーニングデータセットとテストデータセットに分割するデータセットは 2 つの部分に分かれており、データの 80% をトレーニング データセットに、20% をテスト データセットに配置します。 X_train、X_test、y_train、y_test = train_test_split(X、y、test_size=0.2、random_state=1) 5. SVMをインポートしてモデルを実行するサポートベクターマシンアルゴリズムがインポートされました。次に、上記の手順で受け取った X および y トレーニング データセットを使用して実行します。 sklearn.svm から SVC をインポートします 6.モデルのパフォーマンスをテストするモデル.スコア(X_テスト、y_テスト) モデルのパフォーマンスを評価するために、スコア関数が使用されます。ステップ4で作成したxとyのテスト値をスコアメソッドに入力します。 返される値は0.96666666666667であり、モデルのパフォーマンスが高いことを示しています。 テストのスコアが上がると、モデルのパフォーマンスも上がることに注意してください。 その他の一般的な教師あり機械学習アルゴリズム線形、ロジスティック、SVM アルゴリズムは非常に堅牢ですが、いくつかの教師あり機械学習アルゴリズムについても説明します。 1.決定木決定木アルゴリズムは、ツリー構造を使用して意思決定を行う教師あり機械学習モデルです。決定木は分類問題によく使用され、モデルはデータセット内の特定の項目がどのグループに属するかを決定できます。 使用されるツリー形式は反転ツリーの形式であることに注意してください。 2. ランダムフォレストより複雑なアルゴリズムであると考えられるランダム フォレスト アルゴリズムは、多数の決定木を構築することで最終目標を達成します。 これは、複数の決定木を同時に構築し、それぞれが独自の結果を返し、それらを組み合わせてより良い結果を得ることを意味します。 分類問題の場合、ランダム フォレスト モデルは複数の決定木を生成し、大多数の木によって予測された分類グループに基づいて特定のオブジェクトを分類します。 このモデルは、単一のツリーによって引き起こされる過剰適合の問題を修正できます。一方、ランダム フォレスト アルゴリズムは回帰にも使用できますが、望ましくない結果が生じる可能性があります。 3. k近傍法k 近傍法(KNN) アルゴリズムは、与えられたすべてのデータを個別のグループにグループ化する教師あり機械学習手法です。 このグループ化は、異なる個人間の共通の特性に基づいています。 KNN アルゴリズムは、分類問題と回帰問題の両方に使用できます。 KNN の典型的な例は、動物の画像をさまざまなグループに分類することです。 要約するこの記事では、教師あり機械学習とそれが解決できる 2 種類の問題を紹介します。分類と回帰の問題について説明し、それぞれの出力データの種類の例をいくつか示します。 線形回帰とは何か、どのように機能するかを詳しく説明し、独立した X 変数に基づいてY 値を予測するPython の具体的な例を示します。 次に、ロジスティック回帰モデルを紹介し、続いて、与えられた画像を特定の花の種に分類する分類モデルの例を示します。 サポート ベクター マシン アルゴリズムでは、 3 つの異なる花の種の中から特定の花の種を予測するために使用できます。最後に、決定木、ランダムフォレスト、K 近傍法など、他のよく知られている教師あり機械学習アルゴリズムがリストされています。 この記事を勉強、仕事、または楽しみのために読んでいるかどうかにかかわらず、これらのアルゴリズムを理解することは機械学習の分野に入るための良いスタートになると信じています。 機械学習の分野に興味があり、さらに詳しく学びたい場合は、そのようなアルゴリズムがどのように機能するか、そしてそのようなモデルを調整してパフォーマンスをさらに向上させる方法についてさらに詳しく調べることをお勧めします。 翻訳者紹介 51CTO コミュニティ エディター兼シニア アーキテクトの Cui Hao 氏は、ソフトウェア開発とアーキテクチャで 18 年の経験があり、分散アーキテクチャでは 10 年の経験があります。元HPの技術専門家。彼は情報を共有することに積極的で、60 万回以上読まれている人気の高い技術記事を多数執筆しています。 『分散アーキテクチャの原理と実践』の著者。 原題:機械学習で使用される主要な教師あり学習アルゴリズム、著者: Kevin Vu |
<<: 一般的なスマートカーの7つの技術についてお話ししましょう
>>: 南京科技大学とオックスフォード大学は、1行のコードでゼロショット学習法の効果を大幅に向上させるプラグアンドプレイ分類モジュールを提案した。
近年、科学技術革命と産業変革の新たな局面の始まりに伴い、わが国の物流業界は情報化、デジタル化、インテ...
近年、大規模言語モデル (LLM) は自然言語処理 (NLP) の分野で革新の波を起こしています。大...
[51CTO.com 速訳] 海外メディアの報道によると、ニュージーランドのソウルマシーンズ社は最...
機械学習モデルはますます洗練され、正確になってきていますが、その不透明性は依然として大きな課題となっ...
この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...
機械学習、ディープラーニング、人工知能の台頭は議論の余地のない事実となり、コンピュータサイエンスの分...
最近、当社の自動運転デビューがニュースで取り上げられており、ADS はついに謎の組織ではなくなりまし...
GPT をめぐる戦いは、結局のところ、才能をめぐる戦いなのです。 ChatGPT が瞬く間に成功を...
海外メディアの報道によると、食品・飲料業界では人工知能やモノのインターネット技術がますます頻繁に利用...
[[360189]]今年、ほとんどの企業は、新型コロナウイルス感染症による混乱に対処し、リモートワー...
[[279905]]写真はインターネットから照明や音楽を Alexa や Siri などの音声制御テ...
Tensorflow とは何ですか? TensorFlow は Google が立ち上げたディープ...
運用効率の向上から継続的なイノベーションの実現まで、機械学習はビジネス開発に不可欠なものとなっていま...
[[204952]]ボロコプター、ドバイで無人空飛ぶ車のテストを開始ロイター通信は北京時間9月26日...